Durante la fase di sistemazione di un sito internet, spesso è necessario utilizzare strategie differenti per rendere i link SEO Friendly. Ad esempio in un sito scritto in php mi sono imbattuto nel seguente link
http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y
Un indirizzo cosi’ formato presenta sicuramente problemi di riconoscimento da parte dei motori di ricerca.
Sarebbe ad esempio molto più comodo riuscire a raggiungere la stessa pagina (sottocategoria.php) nel seguente modo:
http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/
Se il server web è Apache, una possibile soluzione è quella di utilizzare il mod_rewrite.
A questo link è possibile visualizzare la documentazione ufficiale di Apache.
Questo modulo consente di effettuare una mappatura (utilizzando le espressioni regolari per il match) tra url SEO Friendly e URL effettivo.
In questo modo il motore di ricerca (ma anche l’utente) sono indirizzati verso un indirizzo “virtuale” facilmente identificabile, nascondendo la sua vera natura.
Per poter utilizzare il mod_rewrite è necessario intervenire su un file denominato .htaccess, posizionato solitamente nella root del sito internet.
In realtà, spesso, il file .htaccess può anche essere gestito a livello di sottocartelle.
Dopo avere verificato che sul server Apache, il modulo mod_rewrite è attivo e funzionante, la sintassi per poterlo utilizzare è la seguente:
RewriteEngine On RewriteRule EXPR UrlConvertito [FLAG]
La prima riga consiste nell’attivazione del modulo .
La seconda riga rappresenta una regola: una volta trovato il match sull’espressione EXPR viene convertito in UrlConvertito.
EXPR può essere un’espressione regolare.
FLAG può assumere i seguenti valori:
- L – Ultima Direttiva: l’engine esegue tutte le trasformazioni anche se ha già trovato la corrispondenza;
- QSA – Query String Append: riporta la query string dall’url fittizio a quello reale. Utile per portarsi dietro parametri che non avevamo previsto;
- NC – No Case: valuta l’espressione senza fare differenza tra caratteri maiuscoli e minuscoli;
nel nostro esempio per convertire
http://www.miosito.it/sottocategoria.php?categoria=X&sottocategoria=Y
in
http://www.miosito.it/sottocategoria/categoriaX/sottocategoriaY/
possiamo usare la seguente regola:
RewriteEngine on RewriteRule ^sottocategoria/([A-Za-z0-9\-]+)/([A-Za-z0-9\-]+)/?$ ./sottocategoria.php?categoria=$1&sottocategoria=$2 [L]