
E’ vero che CodeIgniter è davvero veloce nell’esecuzione del codice? Questo perchè è stato ottimizzato e ridotto all’osso proprio per garantire efficienza e stabilità
Tra le svariate tecniche abbiamo
- Ridure il più possibile gli HTTP request
- Abilitare il componente GZIP
Ridure il più possibile gli HTTP request
Ogni volta che si carica una pagina web essa genera una richiesta HTTP. Possiamo ridurre il numero delle richeste sfruttando la cache del browser, ma come? Semplice, abilitiamo la cache da CodeIgniter inserendo in un qualsiasi controller questo codice:
$n = 3; // Numero di minuti in cui la pagina rimane nella cache del browser
$this->output->cache($n);
Abilitare il componente GZIP
Grazie a questo componente il nostro output sarà compresso. Per attivarlo non dobbiamo fare altro che impostare un flag da FALSE a TRUE.
Nel config.php (system/application/config.php) dobbiamo trovare:
$config['compress_output'] = TRUE; // TRUE = Abilitato; FALSE = Non abilitato
Questi ovviamente sono solo alcuni dei tantissimi metodi per ottimizzare ulteriormente il nostro framework.

Ancora un altro tutorial su Codeigniter! Sapete che Codeigniter mette a disposizione un helper creato appositamente per agevolare la creazione dei form.
Assicuriamoci di aver richiamato l’helper nel controller principale:
$this->load->helper('form');
Ora nella nostra funzione popoliamo il vettore che conterrà tutte le informazioni da visualizzare nella nostra dropdown.
...
$data['frutta'] = array("1" => "Banana", "2" => "Mela", "3" => "Pesca"); // Popolo il mio vettore
$this->load->view('lista-frutta', $data); // Passo il vettore "frutta" alla pagina "lista-frutta"
Come facciamo a stampare a video la nostra dropdown? Semplicissimo! Nella nostra pagina scriviamo il seguente codice:
...
<?=form_dropdown('list_frutta', $frutta)?>
...
Semplicissimo vero? Ovviamente il vettore l’ho caricato io personalmente ma è possibile inserire il risultato di una o più query.
Al prossimo tutorial!

Con questo tip vi mostrerò come sia possibile riscrivere le URL per migliorare l’indicizzazione della nostra pagina nei motori di ricerca utilizzando il framework Codeigniter.
Tutto quello che dobbiamo fare è creare una corrispondenza tra un URL e un controller: “mia_classe/mio_metodo”. La prima cosa da fare è aprire il file “routes.php” dal path “/system/application/config/” e aggiungere una nuova stringa:
Ora prima di aggiungere un nuovo elemente all’array “$route[]” supponiamo di avere un metodo chiamato “urlrewriteseo” e vorremmo visualizzare l’url in una maniera più “seo friendly”… molto semplice! Ecco il codice:
// $route['NUOVO-URL'] = 'METODO';
$route['url-rewrite-seo'] = 'urlrewriteseo';
In questo modo nella barra degli indirizzi invece di comparire:
http://www.miosito.com/index.php/urlrewriteseo
comparirà:
http://www.miosito.com/index.php/url-rewrite-seo
Sicuramente quell’index.php è poco gradevole alla vista… e perchè non toglierlo?
Ovviamente vi consiglio di acquistare sempre e solamente un dominio ospitato su OS Linux in modo da avere il modulo mod_rewrite che serve per l’appunto riscrivere le url.
Accertati di avere attivo il modulo url_rewrite creiamo un file “.htaccess” e incolliamo al suo interno il seguente codice:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
In questo modo abbiamo ultimato la nostra riscrittura accedendo alla nostra pagina ottimizzata per l’indicizzazione in questo modo:
http://www.miosito.com/url-rewrite-seo
Ovviamente Codeigniter permette di utilizzare le espressioni regolari ma per questo vi rimando direttamente alla documentazione ufficiale in inglese.
Ciao!!

In questo articolo vi consiglio un piccolo”tip” per migliorare il SEO con il framework CodeIgniter.
Uno dei tanti accorgimenti per migliorare una campagna SEO è quello di inserire un metatag “title” univoco che rifletta il contenuto della nostra pagina. Con CodeIgniter possiamo tranquillamente estrapolare i dati delle nostre news, articoli o pagine che sono archiviate nel database e, tramite il controller, inviarli alla pagina.
// Questo è il mio controller news.php
class News extends Controller {
function News(){
parent::Controller();
// Richiamo le classi, gli helper o i modelli che mi servono
}
function index(){
// In questo esempio inserisco i dati manualmente, ma è possibile popolare il vettore con i dati presenti nel database!
$data['SEO'] = array(
'meta_titolo' => "Il titolo della mia news",
'meta_descrizione' => "Primo periodo della mia news o almeno i primi 150 caratteri",
'contenuto_pagina' => "Il contenuto della mia news"
);
// Richiamo la pagina e gli passo i parametri caricati nel vettore "data[]"
$this->load->view('news', $data);
}
}
<<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?=$SEO->meta_titolo?></title>
<meta name="description" content="<?=$SEO->meta_description?>" />
<link href="<?=base_url()?>css/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="header">
<h1><?=$SEO->meta_titolo?></h1>
</div> <!-- header -->
<div id="menu">Il mio menu</div>
<div id="contenuto">
<?=$SEO->contenuto_pagina?>
</div> <!-- contenuto -->
<div id="footer">
</div> <!-- footer -->
</body>
</html>
Ora sapete come è facile mantenere i meta univoci su tutte le pagine. Spero che questo tip Codeigniter - SEO vi sia stato utile. Ogni suggerimento/commento è ben accetto!