gototopgototop
 
Sei in: Home Page Articoli Joomla! 1.0 Componente sh404SEF per migliorare la SEO di Joomla

Componente sh404SEF per migliorare la SEO di Joomla

Va detto subito che le varie prove sono state effettuate con Joomla! 1.0.15. Sono estremamente affezionato alla versione 1.0.x che la trovo molto molto intuitiva rispetto alla versione successiva. Apparte questo mio personalissimo parere, cominciamo ad entrare nello specifico dell'articolo.

Dopo aver effettuato l'installazione, possiamo notare che il CMS ha molte funzioni che permettono di ottimizzare Joomla! stesso per i motori di ricerca.

Cosa vuol dire l'affermazione appena scritta: tra le tante estensioni, free ed a pagamento, messe a disposizione dalla community degli sviluppatori, ce ne sono alcune che offrono la possibilità di generare url SEF (vale a dire Search Engine Friendly); in altre parole darci la possibilità di generare indirizzi web per renderci più "simpatici" a Google. Spesso vediamo in rete molti siti con url quasi indecifrabili, pieni di parametri che richiamano due o più tabelle di database, nelle quali ci sono i contenuti da mostrare a video. Un esempio pratico di queste URL è simile al seguente:

http://nome-sito.com/index.php?option=com_content&task=view&id=5&Itemid=6

Non credo ci voglia una specializzazione in materia per capire che generare indirizzi leggibili, agevola il proprio sito per quanto riguarda la sua posizione sui motori di ricerca.

Nel prosieguo dell'articolo vedremo anche come utilizzare il mod_rewrite per eliminare dall'url di Joomla! "/index.php/", per far si che vengano generati indirizzi meglio indicizzabili.

Come fare per ottenere quanto fino ad ora scritto? Ci avvarremo del Componente sh404SEF per Joomla!, estensione rilasciata sotto licenza GNU GPL, disponibile per entrambe le versioni del CMS. Non verrà trattato il componente in maniera dettagliata, tra l'altro facilmente intuibile; le features di sh404SEF le si possono apprezzare e provare direttamente dal pannello amministrativo.

Installare sh404SEF

Il primo passaggio da compiere è effettuare il download di sh404SEF, ovviamente dell'ultima versione disponibile; nella pagina che appare, portarsi dove è scritto: Production/Stable com_sh404SEF_1.3.8_build_337.joomla1.0.x.zip..

Una volta avuta la cartella compressa sul nostro desktop, portarsi nell'amministrazione di Joomla!; menu superiore orizzontale e scegliere: Installazioni ? Componenti. Nel form di upload che appare, premere il pulsante Sfoglia. Individuare la cartella precedentemente scaricata (com_sh404SEF_1.3.8_build_337.joomla1.0.x.zip) e premere il pulsante Carica file e installa. Riceveremo un messaggio di conferma che l'operazione è andata a buon fine. Oltre a questo messaggio, verrà visualizzata una schermata che riporta una serie di informazioni su come configurare sh404SEF. Dopodichè siamo pronti per poter utilizzare il componente.

Configurare il componente sh404SEF

Facciamo un piccolo passo indietro: affinchè il componente assolva ai sui compiti, vanno settati 2 parametri nel pannello di amministrazione di Joomla! Portarsi nel Pannello di controllo ? Configurazione ? tab SEO; spuntare i 2 radiobutton e metterli su SI. Possiamo vedere l'immagine seguente:

configurazione tab seo joomla

Per accedere al pannello dell'sh404SEF, portarsi alla voce Componenti del menu superiore e scegliere, dalle sottovoci, sh404SEF. Vedremo una schermata simile alla figura seguente:

Componente sh404SEF

La prima cosa da fare è premere il pulsante "Configurazione di sh404SEF"; entreremo nella schermata simile alla figura in basso:


tab configurazione principale componente sh404SEF

Siamo nella configurazione base di sh404SEF:

  • Attivato: SI;
  • Sostituzione carattere: carattere da usare per sostituire un carattere sconosciuto nelle URL;
  • Carattere per la spaziatura pagine: carattere da usare per separare i numeri di pagina dal resto degli URL;
  • Strip caratteri: caratteri da tagliare intorno alle URL;
  • Lista di caratteri di sostituzione: caratteri non accettati nelle URL; per esempio caratteri non-latini o accentati possono essere sostituiti come la tabella di sostituzione riportata nella figura in alto;
  • Alias titolo: Settare su SI per usare alias del titolo (in fase di creazione articolo) al posto del titolo esteso nella URL;
  • Suffisso del file: Estensione da usare per i files. Se volessimo disabilitarla, lasciarla in bianco. Una scelta effettuata dalla maggior parte di coloro che vogliono la riscrittura delle URL è usare l'estensione .html;
  • File index di default: nome di un file da inserire dopo un URL vuoto o quando non esistono files. Utile per i bots che esaminano il sito in cerca di un file specifico in una determinata locazione, ma si reinvia ad un 404 perchè non ne trovano.;
  • Tutto minuscolo: Converte in minuscolo tutti i caratteri della URL;
  • Pagina 404: Pagina di contenuto statico da usare come pagina 404 Errore Non Trovato;
  • Unico ID: Se impostato su Si, un ID numerico sarà aggiunto all'URL, in modo da facilitare l'integrazione di servizi come Google news. L'ID avrebbe il seguente formato: 2008110400000, dove 20081104 è la data di creazione ed i numeri a seguire (00000) rappresentano l'ID unico interno dell'elemento del contenuto;
  • A quali categorie applicare: gli id numerici saranno inseriti nei sef URL degli elementi dei contenuti trovati solo nelle categorie elencate (si veda immagine riportata più su). Si possono selezionare categorie multiple mantenendo premuto il tasto CTRL prima di cliccare sui nomi delle categorie.

Il tab successivo - Plugins - permette di settare informazioni da inserire nelle URL.

  • Mostra sezione: inserisce il nome della sezione nella URL;
  • Mostra categoria: per includere il nome della categoria nella URL;
  • Inserisci nome della tabella dei contenuti: se selezionato su Si, il titolo dell'elemento di menu che rimanda ad una tabella degli articoli (categoria o sezione) sarà esteso alla sua SEF URL. Questo permette di separare la visualizzazione delle tabelle dalla visualizzazione blog;
  • Tabella nomi link di default: se il parametro precedente è selezionato su SI, permette di sovrascrivere il testo inserito nella URL SEF;
  • Inserisci nome di blog view: Se impostato su Si, il titolo dell'elemento di menu che riconduce a un blog di articoli (categoria o sezione) sarà rimandato alla sua SEF URL. Questo permette di separare displays tabelle da displays blog;
  • Nome blog views di default: Quando il parametro precedente è impostato su Si, si può sovrascrivere il testo inserito nella SEF URL;
  • Attiva titoli intelligenti degli articoli multipagina: se impostato su Si, per gli articoli multipagina (quelli con una tabella di contenuti), sh404SEF userà i titoli delle pagine inserite utilizzando il comando mospagebreak : {mospagebreak title=Next_Page_Title & heading=Previous_Page_Title}, invece del numero di pagina. Per esempio, un SEF URL simile a www.miosito.com/documentazione/page-2.html sarà sostituito da www.miosito.com/documentazione/Getting-started-with-sh404SEF.html

Sempre nella stessa schermata, possiamo vedere altre tipologie di configurazione; per esempio:

  • Configurazione Virtuemart;
  • Configurazione Community Builder;
  • Configurazione Fireboard;
  • Configurazione Docman;
  • Configurazione Remository;
  • Configurazione Letterman;
  • Configurazione MyBlog;
  • Configurazione Mosets Tree;
  • SMF bridge;
  • Configurazione iJoomla Magazine;
  • Configurazione News Portal

Per questi tipi di elementi, è sufficente fare delle prove con il componente e vedere i risultati nel frontend.

Un altro tab di interesse, oggetto del nostro articolo, è il tab "Avanzato" utile per la Configurazione avanzata di sh404SEF; l'immagine riportata di seguito mostra parte del tab:
sh404SEF tab avanzato

Quello che interessa particolarmente è la modalità rescrivibile; il componente ci mette a disposizione 3 possibilità:

  • Con .htaccess (mod_rewrite);
  • Senza .htaccess (index.php);
  • Senza .htaccess (index.php?)

Vediamo nello specifico cosa vogliono dire queste 3 scelte.

  • Con .htaccess (mod_rewrite): seleziona la modalità rescrivibile per sh404SEF. E' opportuno avere il file .htacces opportunamente configurato ed uplofato nella root del server remoto.
  • Senza .htaccess (index.php): non si dovrebbe aver bisogno del file .htacces. Questa modalità usa la funzione PathInfo del Server Apache. Alle URL viene aggiunto /index.php/ subito dopo il nome del sito. Tali URL non sono accettati da Server IIS (Internet Information Server);
  • Senza .htaccess (index.php?): anche in questo caso, identico al precedente, non si ha bisogno del file .htaccess, tranne per il fatto che viene aggiunto un punto interrogativo (?) subito dopo /index.php?/. I server IIS accettano questi tipi di URL.

Vista questa mini panoramica per quanto riguarda la riscrittura degli url, ho voluto provare in un mio sito demo quanto appena scritto. Va premesso che sarebbe bene mettere le mani solo se si è sicuri di quanto si sta facendo, anche se non si tratta di passaggi particolarmente pericolosi. Altro consiglio che mi senmto di dare: provare il componente con relativo mod_rewrite non appena si installa Joomla!. Male che vada, perderemmo i dati di esempio e non un sito in cui sono stati scritti testi, inserite immagini ecc...

Attivare il mod_rewrite con sh404SEF

Per poter eliminare da una URL di Joomla! il bit /index.php/, si deve innanzitutto rinominare il file htaccess.txt in .htaccess. Prima di uplodarlo via FTP nella root principale del sito, aprire il suddetto file ed apportare delle modifiche a quanto scritto. Il file originale (htaccess.txt) presenta le seguenti righe di codice:

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
#
# mod_rewrite in use
RewriteEngine On
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla!/MamboDirectory (just / for root)
# RewriteBase /

########## Begin - Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named 'content' or 'component' on your server
## If you do not have directories with these names, comment them out.
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteRule ^(content/|component/) index.php
#
########## End - Joomla! core SEF Section

########## Begin - 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g.
OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteRule (.*) index.php
#
########## End - 3rd Party SEF Section

########## Begin - Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End - Rewrite rules to block out some common exploits

che diventeranno come l'esempio riportato di seguito:

########## Begin - Joomla! core SEF Section
############# Use this section if using ONLY Joomla! core SEF
## ALL (RewriteCond) lines in this section are only required if you actually
## have directories named 'content' or 'component' on your server
## If you do not have directories with these names, comment them out.
#
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
#RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
#RewriteRule ^(content/|component/) index.php
#
########## End - Joomla! core SEF Section

########## Begin - 3rd Party SEF Section
############# Use this section if you are using a 3rd party (Non Joomla! core) SEF extension - e.g. OpenSEF, 404_SEF, 404SEFx, SEF Advance, etc
#
RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR] ##optional - see notes##
RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php
#
########## End - 3rd Party SEF Section

In pratica è stato commentato (anteponendo il simbolo sharp #) il codice della sezione SEF di Joomla! - Joomla! core SEF Section - ed è stato decommentato quello della sezione 3rd Party SEF Section

A questo punto possiamo trasferire via FTP il file .htaccess e richiamare qualche pagina del nostro sito. non credo si sia trattato di sola fortuna, per quanto mi riguarda [superemotions file="icon_biggrin.gif" title="{#superemotions_dlg.biggrin}"], ma posso dire che il binomio tra Componente sh404SEF e mod_rewrite hanno prodotto delle URL molto più performanti. Un esempio tra le precedenti url e quelle attuali:

Vecchia url:

http://www.miosito.com/index.php/nome-file.html

Nuova url:

http://www.miosito.com/nome-file.html

Nel caso in cui volessimo linkare una voce di menu ad una categoria o ad un componente, avremo:

http://www.miosito.com/nome-categoria

oppure:

http://www.miosito.com/nome-componente

Sinceramente trovo queste url molto più pulite, oltre che più performanti dal punto di vista della indicizzazione nei motori di ricerca.

Commenti  

0 #14 Admin 2011-03-03 12:15
Ciao Massimo,
il problema potrebbe dipendere dal file "htaccess.txt" che trovi nella root principale nella quale è installato Joomla! Tale file andrebbe rinominato in ".htaccess" ed abilitato il mod_rewrite dall'amministrazione .
A tal proposito ti invito a cercare, nel mio sito, l'articolo dal titolo: ATTIVARE E CONFIGURARE IL FILE .HTACCESS DI JOOMLA!
Saluti
Citazione
0 #13 Massimo 2011-03-02 23:23
Anche io ho il problema che attivando il componente mi scompaiono tutte le voci di menù e non riesco più a navigare nel sito. Disattivandolo torna tutto a posto.
Ho fatto varie prove ma non sono riuscito a tirar fuori un ragno dal buco.
Qualcuno ne sa qualcosa?
Grazie in anticipo.
Citazione
0 #12 Admin 2011-02-23 20:06
ciao Kirk,
prova ad entrare nel componente sh404SEF e pulisci le url. Rparti dalla home a navigare il sito e vedi cosa succede.
Saluti
Citazione
0 #11 Kirk 2011-02-23 17:40
Salve!
Io ho un problema come quello di gerry: attivando il componente, i link nel modulo di virtuemart in cui vengono visualizzate le categorie non sono più utilizzabili nel senso che non trova la pagina. Disattivandolo torna a funzionare. Anche il bottone nel menu che porta ai prodotti di virtuemart non funziona quando sh4040sef è attivo...
Citazione
0 #10 Admin 2010-10-04 16:46
Ciao Cisco,
credo sia da installare un componente per la riscrittura delle url ed effettuare un redirect 301 sui link.
Saluti
Citazione
0 #9 cisco 2010-10-04 11:13
ma come fare allora per rendere i link piu' semplici quando si ha gia' un sito in produzione e pieno di dati? Anche io ho avuto il problema di Gerry.
Citazione
0 #8 Admin 2010-09-21 14:48
Ciao Gerry,
il componente sh404 SEF, solitamente, andrebbe installato prima di cominciare a popolare il sito, e quindi, il database. Nel tuo caso, non credo abbia perso tutti i link ma sono stati riscritti. Prova a disabilitare il SEF e dovresti tornare alla situazione iniziale.
Buon lavoro.
Citazione
0 #7 gerry 2010-09-20 21:16
ma come fare se il sito è gia' carico di notizie, articoli e links? ho fatto una prova e ho perso tutti i link al materiale, un disastro, quasi.
Citazione
0 #6 Admin 2010-07-21 08:46
Ciao Ivan,
mi sa che da un pò di tempo il componente non è più free, bensì a pagamento.
Mi spiace.
Citazione
0 #5 Ivan 2010-07-21 01:06
stavo cercando una vecchia versione da installare su joomla 1.0
qualcuno sa dove posso trovarla?
per favore contattatemi,so no disperato
Citazione

Aggiungi commento


Codice di sicurezza
Aggiorna

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati