You are here

Redirect 301: reindirizzamento permanente dominio con Drupal

Inviato da giovanninews on Mer, 30/03/2011 - 18:05

Redirect 301, reindirizzamento permanente del dominio con Drupal Se non è stato fatto un redirect 301 del dominio (reindirizzamento permanente), normalmente, ogni sito web, è accessibile con e senza il prefisso www davanti al nome del dominio.

La stessa Google, per i propri utenti che utilizzano gli strumenti per webmaster, chiede se si vuole un accesso indifferente, se bisogna utilizzare sempre il www per accedere al sito web, oppure se si vuole sempre un accesso senza www da parte di Google.

Indicarlo a Google non significa indicarlo a tutti; se Google accederà al sito web come richiesto, non lo faranno altri, motori di ricerca e non. Avere un sito web senza una direttiva (redirect 301) che indica come bisogna accedere sempre al sito web, con o senza il prefisso www,

non è efficiente dal punto di vista SEO.

Questo non sono solo io a dirlo; esistono online tanti strumenti che fanno questo tipo di controllo; ad esempio, dalla home page del sito web aboutus.org, inserendo nella casella Share il dominio web che si vuole controllare, si ottiene l' analisi della home page del sito relativamente a:

  • Titles & Headings
  • Links & Images
  • Search Engine Friendliness

Queste voci, tutte molto importanti, sono controllate nel dettaglio. L' ultima voce, Search Engine Friendliness, è quella che riguarda il nostro caso; il Search Engine Friendliness contiene l' analisi del file Robot.txt e del Canonical Url del sito web.

Il Canonical Url indicherà se è stata fatta una redirect 301 per accedere al dominio con o senza il prefisso www.

Se non è stata fatta una redirect 301 (reindirizzamento permanente) indicando come accedere al sito web, con o senza www, è come se avessimo due siti, uno con ed un' altro senza www; avremo pagine indicizzate con www ed altre senza www, avremo alcuni link esterni, molto importanti, che puntano ad una pagina del dominio con prefisso www ed altre senza prefisso.

Questo sostanzialmente significa dividere l' autorità del sito web su due siti, spalmando il Pagerank.

Esistono diversi modi per fare una redirect 301 (reindirizzamento permanente) del dominio di un sito web.

I più comuni sono quelli di farlo o con una configurazione appropriata tramite server se questo lo permette, oppure facendo le giuste correzioni al file .htaccess del sito se si utilizza un cms (Wordpress, Joomla, Drupal) su hosting virtuale Apache.

Con il file .htaccess è possibile fare molto, anche ridurre notevolmente il volume dello spam nei commenti, in Wordpress.

Ma adesso vediamo come fare un redirect 301 del dominio (reindirizzamento permanente), con o senza il prefisso www, tramite il file htaccess.

Nel file htaccess, nella sezione mod_rewrite, in RewriteEngine on, bisogna correttamente impostare una RewriteCond ed una RewriteRule.

In Drupal, sia nella versione 6 che nella versione 7, per fare una redirect 301 del dominio (ottenere sempre l' accesso al sito) con il prefisso www, nel file .htaccess bisognerà attivare le righe # RewriteCond %{HTTP_HOST} ^example\.com$ [NC] # RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] togliendo i simboli di commento # e sostituendo example e com con il proprio dominio di primo (com) e secondo livello (example).

Per fare una redirect 301 del dominio (ottenere sempre l' accesso al sito) senza il prefisso www, nel file .htaccess bisognerà attivare le righe # RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] # RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] togliendo i simboli di commento # e sostituendo example e com con il proprio dominio di primo (com) e secondo livello (example).

Commenti

Vedo che Lei ha scelto la busta (opzione) n. 2, ci spieghi perchè.

Conviene non avere il www,  e se si .. per quali validi motivi.

Se su G. webmaster abbiano già dato il ns. sito drupal e relativa sitemap creata dall'apposito modulo xmlsitemap di drupal ..conviene lo stesso..senza il www.

Se si hanno Drupal 6 nelal root e drupal 7 in una sotto directory come impostiamo il robot.txt o come sarebbe meglio codificarlo.. non credo si riesca a mantenerne due di robot.txt (uno di DRUPAL 6 e l'altro di DRUPAL 7) e dato che il robot testuale blocca e funziona solo se se messo nella root o directory principale ...

Ho scelto l' opzione n. 2 solo per avere una url + corta di 3 caratteri.

In teoria per Google ed altri è indifferente la scelta www o non-www, l' importante è averne solo una: questo per non avere una duplicazione del sito (accessibile con o senza prefisso www). Per i motori di ricerca, sono due siti differenti, per cui un eventuale backlink al sito con il www sarebbe conteggiato per quel sito web ed un eventuale backlink al sito senza  www sarebbe conteggiato per l' altro sito. Senza contare che ogni pagina con il www avrebbe un duplicato senza www (o viceversa); uno dei due, in serp, andrebbe tra i contenuti supplementari.

In pratica, da mie analisi, sembrerebbe che Google tenta di accedere per primo al dominio con il www, per cui, è una mia impressione, scegliere il dominio con il www potrebbe essere la cosa migliore, ma ripeto, è una mia impressione. Sono con il senza perchè, dopo aver fatto una scelta, tornare indietro potrebbe essere controproducente.

Ancora in pratica, per Google è necessario indicare, nel GWT, il dominio preferito e per Google e tutti gli altri, fare una redirect in htaccess al dominio preferito.

Arriviamo a Drupal; con Drupal 6 l' htaccess contiene le righe che ho postato nell' articolo, per cui si fa la scelta come ho indicato, attivando uno e disattivando l' altro.

Con Drupal 7 si può anche lasciare l' htaccess di Drupal 6, se si è fatto l' upgrade, ma secondo me l' htaccess fornito dal core di Drupal 7 è superiore per diversi motivi; inoltre la rewrite per il www e non-www è diversa e contiene:
# RewriteCond %{HTTP_HOST} !^www\. [NC]
# RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
# RewriteRule ^ http%{ENV:protossl}://%1%{REQUEST_URI} [L,R=301]
dove io ho attivato il non-www togliendo il cancelletto (#) alle ultime due righe.

Per il robots.txt, avrai un robots per il dominio principale ed un robots per quello secondario indipendenti.