Stai leggendo gli articoli della categoria: "Seo"
ott
5
2011

Robots noindex follow tramite X-Tag-robots, esempio pratico

Categoria: Seo  //  1 Commento

Avete mai utilizzato l’x-tag-robots negli headers di una pagina per fornire agli spider i metatag desiderati?

Inizialmente ne avevo parlato qui

La settimana scorsa un po’ per necessità (non volevo coinvolgere gli sviluppatori che sono già oberati dalle mie richieste), ma soprattutto per gioco, ho provato a capire come funziona l’x-tag-robots e volevo condividere con voi la mia esperienza.


Obbiettivo
: chiudere alcune aree del sito, che sono dei listing di vecchi contenuti, ma lasciare che gli spider indicizzino le loro foglie.
La soluzione sarebbe semplice: basterebbe inserire nel template che genera queste pagine il seguente metatag:

<meta name =”robots” content=”noindex,follow”>

Ma così facendo avrei perso tutto il divertimento, e avrei dovuto coinvolgere gli sviluppatori.
Prima di iniziare mi sono letto il riassunto fatto da Google: http://code.google.com/intl/it-IT/web/controlcrawlindex/docs/robots_meta_tag.html e pensavo di cavarmela con un banale copia e incolla, invece non è stato così.

Mi sarebbe piaciuto poter utilizzare un espressione regolare, come la seguente, all’interno del file .htaccess

<IfModule mod_headers.c>
<FilesMatch “^nomefile\.php$”>
Header set X-Robots-Tag: “noindex, follow”
</FilesMatch>
</IfModule>

Ma dopo svariati tentativi andati a vuoto, mi sono accorto che la direttiva FilesMatch intercetta il nome del file, ma nel mio caso le url sono virtuali (url rewriting), generate dal cms, e non ho assolutamente idea di quale sia il nome del file da intercettare.

Ho provato a cercare qui un’altra direttiva che facesse al caso mio, e LocationMatch mi è sembrata perfetta!
Se non fosse per un piccolo particolare, ossia che non può essere utilizzata sul file .htaccess, il suo contesto d’uso è limitato alla configurazione del server e ai virtual host.

Location Match - Directive Rules

E’ bastato quindi aggiungere la seguente riga al file contenente il virtual host e riavviare apache

<IfModule mod_headers.c>
<LocationMatch “(archivio|scaduti)/$”>
Header set X-Robots-Tag “noindex, follow”
</LocationMatch>
</IfModule>

Importante:

  • è necessario che il modulo degli headers (mod_headers) sia abilitato in apache.
  • Includete sempre le vostre direttive all’interno di IfModule, così se il modulo non dovesse essere incluso almeno non riceverete un errore 500.

Per testarne il funzionamento utilizzate un qualsiasi plugin o sito che vi permetta di visualizzare gli header della pagina. Io sono abituato ad utilizzare liveHttpHeader (plugin di Apache)

Considerazioni finali

Nonostante il divertimento nell’arrivare a questa soluzione, sconsiglio di implementarla. Si tratta di un intervento che potrebbe portare più problemi che benefici.
Immaginate le conseguenze che potrebbe portare se l’espressione regolare fosse mal gestita, o se arrivasse in azienda un nuovo Seo (in sostituzione di quello che ha proposto questo intervento) e non ne fosse messo al corrente. Credo che non molti Seo si accorgerebbero di quel noindex negli headers…

dzghj4&RbS$6
feb
28
2011

Un emulatore di spider in aiuto ai Seo

Categoria: Seo  //  Nessun Commento

Analizzare un sito di grosse dimensioni dal punto di vista Seo può non essere un problema banale (fin’ora)..

Controllare che gli elementi Seo-On-Page (title, description, h1, …) siano quelli desiderati può diventare molto più complesso di quello che sembra, soprattutto se si tratta di siti in continuo cambiamento (ed i grossi siti lo sono sempre).

Per estrarre la profondità di navigazione, gli status code di risposta e gli errori di spiderizzazione, esistono molti emulatori di spider che funzionano egregiamente (come Xenu per PC o Integrity per Mac), ma nessuno di loro è in grado di recuperare pefettamente gli elementi Seo-On-Page.

Grazie ad un tweet di Piersante ho trovato Seo Spider di screamingfrog, un bellissimo emulatore di spider con un occhio alla Seo.
Durante la spiderizzazione estrae e analizza informazioni su:

  • title (e relativa lunghezza)
  • metatag description (e relativa lunghezza)
  • metatag keywords (e relativa lunghezza)
  • metatag robots
  • metatag refresh
  • canonical
  • tag h1..h6
  • ecc…

Inoltre Seo Spider riconosce eventuali duplicazioni del codice all’interno della stessa pagina, come ad esempio title o description replicati, e permette di customizzare le ricerche di spezzoni di codice all’interno del sito.
Anche l’esportazione è ottima e ci evita di passare troppo tempo sui filtri di Excel.

A questo indirizzo potete trovare maggiori informazioni sulle funzionalità di questo ottimo software: http://seo-hacker.com/screaming-frog-seo-spider/

Purtroppo non è free, costa 99 sterline, ma IMHO le vale tutte.

dic
28
2010

Redirezioni massive di URL: gestirle in sicurezza con le librerie cURL

Categoria: Seo  //  Nessun Commento

redirect 301 e pagine 404La comunità Seo sa bene (o almeno dovrebbe :) ) l’importanza di effettuare delle redirezioni 301 quando le url del sito vengono modificate.
Ma quando si tratta di una modifica massiva, e le Url del sito sono state tutte modificate (ad esempio in un cambio di sito), come si fa ad essere sicuri di non aver dimenticato qualche pezzo per strada?

Esistono molti modi per gestire questa situazione, ora vi espongo il mio, sperando di essere di aiuto a qualcuno.

1) FARE UNA FOTOGRAFIA ALLE URL DEL VECCHIO SITO

E’ necessario ottenere la lista delle Url del sito prima che vengano modificate, come fare?
La soluzione più semplice è utilizzare un qualsiasi emulatore di spider. Ce ne sono molti, personalmente utilizzo Xenu ma funziona altrettanto bene anche Integrity per Mac (ma se non vi piacessero i 2 che ho elencato, sul web si trovano molti altri tool validi).

Tramite Xenu è possibile ottenere facilmente tutte le Url del sito, utilizzando il comando “file >> report”  alla fine della scansione. Oppure se il sito è molto grande utilizzate “file >> export to TAB separated file…” e importate il risultato in un foglio di calcolo, eviterete di impallare il PC nel caso di siti di grande dimensione.

2) REALIZZARE I VARI REDIRECT DALLE VECCHIE ALLE NUOVE URL

Utilizzate il metodo che preferite per realizzare una mappatura puntuale tra le vecchie e le nuove Url (non dimenticatevi anche di effettuare i redirect dei link che arrivano dall’esterno, altrimenti addio Link Popularity).

Le soluzioni maggiormente utilizzate sono:

  • mod_rewrite e file .htaccess se utilizzate il web server Apache
  • isapi_rewite e file .htaccess o file httpd.ini (in base alla versione utilizzata) se utilizzate il web server IIS (vi rimando all’articolo sulla realizzazione di Url parlanti con isapi rewrite che ho scritto)

Potrebbe però anche capitarvi il caso in cui non abbiate la possibilità di accedere al file htaccess, oppure che il file htaccess sia – ahimè –  condiviso tra più domini, in questo caso vi consiglio di fare un “accrocchio” come il seguente:

Utilizzate la pagina 404 come “attivatrice di redirezioni”. Modificatela così: ogni volta che il sistema chiama una pagina non presente (o pagina 404) fate una chiamata al DB e controllate se l’Url chiamata è presente in una tabella del Database appositamente creata, e se la risposta è affermativa effettuate la redirezione secondo le regole salvate nel DB.

Ecco un immagine esplicativa (spero) del funzionamento di questa soluzione:

redirezioni 301 tramite la pagina 404

In questo modo sarà sufficiente modificare la pagina 404 una volta per tutte, inserendo all’inizio del codice la chiamata al database, e non dovrete avere un accesso al file .htccess e nemmeno aspettare i tempi tecnici perché i referenti del sito in oggetto possano intervenire al posto vostro, ma vi basterà un accesso al DB (ad esempio tramite phpmyadmin).
Attenzione però a non inserire combinazioni che generino LOOP, come ad esempio una riga “urlA –> 301 –> urlB”  e successivamente una riga “urlB –> 301 –> urlA”


3) CONTROLLARE CHE LE REDIREZIONI SIANO TUTTE FUNZIONANTI

Ed eccoci alla parte più importante!
Controllare le redirezioni in un sito con qualche centinaio di pagine è un lavoro noioso, pensate se si tratta di qualche migliaia…
Diventa quindi una necessità uno strumento automatico per il controllo delle varie redirezioni, e grazie alla fotografia che abbiamo creato nel punto 1, e a qualche riga di codice PHP sarà un gioco da ragazzi.

Innanzitutto dobbiamo avere una versione di PHP con le librerie cUrl installate, se non sapete come fare vi rimando alla guida ufficiale.

Le librerie cUrl permettono di effettuare chiamate alle Url (sia in Get che in Post) e di estrarne gli header di risposta, quindi fanno esattamente al caso nostro.
Ci basterà realizzare una pagina PHP che riceve in input la lista delle URL (La fotografia del vecchio sito) e che ritorna in output un file (ad esempio un csv da poi aprire in xls) con i seguenti campi:

“Url chiamata / status code ricevuto / url finale restituita / numero di redirezioni”

Ed ecco che in un attimo potrete testare siti di dimensioni elevate :)

Questo post non contiene i dettagli tecnici del codice sorgente, ma tutti coloro che non riuscissero a realizzare questo strumento mi contattino pure, sarò ben lieto di fornire loro supporto,  e se necessario i file php che ho realizzato e che utilizzo da un paio di anni.

Così mentre il software realizzato lavora per noi, possiamo dedicarci ad attività di maggiore interesse :)

dic
26
2010

Recuperare i link esterni che generano 404 con lo Script di Google Analytics

Categoria: Seo  //  Nessun Commento

Link popularity e pagine 404La link popularity assume un ruolo fondamentale in ogni buona strategia Seo.
Ottenere buoni link in ingresso non è facile, e spesso costa tempo e fatica.

Chi si è occupato almeno un volta di Link Building / Article Marketing / Link Baiting / ecc.. sa che un buon link esterno verso il proprio sito non si ottiene facilmente e di conseguenza va mantenuto il più a lungo possibile. Per evitare che nel tempo si vadano a perdere i link (se cambio il sito devo anche aggiornare i link esterni, altrimenti punteranno ad una pagina 404) è necessario tenerne traccia e aggiornarli (ove possibile) oppure effettuare delle redirezioni 301 delle vecchie url a cui puntavano.

Ma come fare a recuperare i link che si sono persi?

1) Utilizzare i log del server, ed estrarre tutti i referrer esterni che terminano in pagine 404 del vostro sito.
Questa soluzione è la più efficace perché permette di ottenere tutti i link in ingresso, però dovete avere accesso ai log del server ed avere un minimo di capacità nella loro elaborazione.

2) Inserire nella pagina 404 un codice di tracciamento a tag leggermente modificato.
Questo metodo è meno completo rispetto all’utilizzo dei tag, in quanto pemette di ottenere esclusivamente i link  che hanno generato degli accessi da parte degli utenti (i sistemi di Analytics a tag non tengono traccia degli spider dei motori di ricerca).

Ecco un esempio per Google Analytics (per lo script sincrono):

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-XXXXXX-X”);
pageTracker._initData();
pageTracker._trackPageview(“/404.html?page=”+document.location.pathname+” “+document.location.search+document.referrer);
</script>

In questo modo se in Google Analytics cercherete le pagine che contengono la stringa 404.html all’interno di “contenuti –> dettaglio contenuti”  troverete tutte le pagine che hanno generato un errore 404 ed i relativi referrer (che DOVRETE assolutamente correggere tramite un redirect 301)

nov
26
2010

Google Crawling: robots.txt, metatag robots e x-robots-tag

Categoria: Seo  //  1 Commento

Spider di Google

Google ha pubblicato una mini guida per aiutare a comprendere il funzionamento del Crawling (ben diverso dall’indexing).
Non vi è nulla di nuovo, chi si occupa di Seo sicuramente conosce già a perfezione i 3 metodi indicati:

  • File Robots.txt
    • il primo file richiesto dai motori di ricerca, un vigile che aiuta lo spider a capire quali contenuti può recuperare e quali invece no;
    • funziona in modalità wide site.
  • Metatag robots
    • un metatag da inserire nell’header html delle pagine;
    • funziona solo sulla singola pagina;
    • utilissimo nelle paginazioni delle categorie per evitare pagine duplicate: <meta name=”robots” content=”noindex, follow”>.
  • X-Robots-tag
    • il meno conosciuto, va inserito nell’http header delle pagine;
    • utile per togliere le duplicazioni causate da alcuni parametri nell’url, ad esempio in combinazione con le espressioni regolari:
    • da utilizzare solo se seguiti da un Seo esperto.

Ecco la spiegazione dettagliata fornita da Google:  il crawling di Google.

E qui potete trovare un esempio pratico all’uso dell’x-tag-robots.

Buona lettura