WordPress è un ottimo sistema per creare un sito in maniera veloce ed efficace. Ma come qualsiasi sistema di gestione di contenuti, esso è composto da un back-office – dove avviene la vera e propria gestione del contenuto – e una parte di frontend, che è la più importante.
Soffermandoci sulla parte di back-office, esso non è altro che un insieme di link interni (in quantità numerosa) e collegamenti con la quale, grazie ad un ambiente grafico costruito ad hoc, è possibile programmare ad alto livello. Ma più “smanettiamo”, più creiamo inconsapevolmente link.
Più creiamo link, più il nostro motore di ricerca, non avendo direttive specifiche di indicizzazione per il nostro sito, avrà da scansionarne. Se vogliamo bene ai motori di ricerca, è bene sia tutelarci che alleggerire il lavoro agli spider.
Proprio per questo ottimizzare un file robots txt per wordpress è importante per garantire un’indicizzazione pulita di un sito in modo da prevenire soprattutto quegli errori di contenuti duplicati che i CMS sono soliti produrre, WordPress in particolar caso.
Pertanto vedremo con pochi comandi come costruire un file robots.txt ottimizzato. Premettiamo che comunque esistono svariati plugin che farebbero il lavoro al posto vostro, ma di solito è meglio tenersi informati su ciò che si sta facendo, anche in vista di qualche correzione. Se poi non sapete dove mettere le mani rischiate solo di aggravare la situazione, no?
Ottimizziamo il file robots.txt
Per cominciare bisogna definire a quali spider rivolgere le regole che si andranno a scrivere inserendo questa stringa:
User-agent: *
Inoltre, c’è da sapere che più si impongono regole all’interno del file robots.txt, maggiore è la percentuale di essere esposti ad errori di programmazione. Il rischio è che gli spider vi classifichino come sito dai contenuti non buoni e, al di là delle ipotetiche penalizzazioni, è bene tutelare quei blog che utilizzano la pubblicità con Adsense, che già di per sè potrebbe portare rischi per un suo uso scorretto. Dunque:
User-agent: Mediapartners-Google* Disallow:
N.B.: non inserite / dopo il disallow qua sopra, perché otterreste l’effetto contrario!
Dopodiché bisogna concentrarsi esclusivamente nel limitare il più possibile gli errori della naturale gestione di WordPress: l’indicizzazione del back-office e gli errori dei duplicati nel frontend.
Ottimizzare l’indicizzazione del backoffice back-office
Iniziamo bloccando l’indicizzazione del back-office
Disallow: /wp- Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/
Allow: /wp-content/uploads
Per farla in breve, la cartella /cgi-bin/ è utilizzate dai webserver per contenere i file eseguibili quali script et similia. La cartella /wp-includes/ non solo dovrebbe essere esclusa dal crawling, ma dovrebbe essere anche negato l’accesso in maniera generale, poichè è uno dei punti in cui il vostro sito è maggiormente bucabile. Contiene difatti i codici della maggior parte delle vostre pagine in front-end, e non solo. Pertanto, se siete sensibili al discorso, vi rimando a questa guida per impedire l’accesso ai file importanti.
Non tutte le cartelle sono obsolete per i nostri contenuti visibili. Abbiamo appena negato l’indicizzazione alla cartella /wp-content/, dove sono contenuti anche i nostri attachments che inseriamo all’interno dei nostri articoli. Come ben si sa, anche i file allegati sono importanti per l’indicizzazione, e in particolar modo le immagini. Dato che la sottocartella uploads contiene tutti i nostri attachments, dovremmo escludere l’indicizzazione della cartella padre /wp-content/, ma includerne la sottocartella in questione. Come da codice sopra.
Gestire i duplicati
Un altro degli errori che erroneamente un CMS porta a fare è la duplicazione di contenuti che vanno poi ad essere indicizzati. Questo genera, nel motore di ricerca, una confusione di indicizzazione tale da portare a penalizzazioni talvolta consistenti. Tale problema è dovuto alla presenza di diversi elementi che generano più URL per ogni singolo articolo/post/pagina. Sto parlando dei commenti, della trackback, la gestione dei feedback e l’uso ridondante dei tag e delle categorie. Ogni commento genera un URL, stessa cosa per il trackback e il feedback. Pertanto:
Disallow: /trackback/ Disallow: /feed/ Disallow: /comments/ Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/
Con queste regole stiamo dicendo ai crawler di evitare di indicizzare gli elementi espressi e tuttociò che segue, quindi per ogni singolo commento, trackback e feed.
Completare l’ottimizzazione
In realtà non è finita qua con gli errori di duplicazione. Spesso, l’uso scorretto di tag e categorie genera gli stessi errori che potrebbero generare commenti e feedback. Sarebbe però errato includere tra le esclusioni di indicizzazione anche questi due elementi, poichè le parti di un sito spesso vengono suddivise da una categoria, che appare anche nell’ URL, portando quindi più uno svantaggio che un vantaggio.
Ci sono ovviamente delle particolarità per la quale, invece, varrebbe la pena disalloware sia tag che categoria. Proprio per questo, l’ottimizzazione di un file robots.txt per wordpress non è uno standard, bensì una sorta di pattern da cui partire per poterlo poi adattare a seconda del sito che si ha di fronte. Quindi, per i casi in cui ne vale davvero la pena inserite “disallow: /tag/ e disallow: /category/”.
Non abbiamo comunque risolto il problema. Come alcuni sapranno, il file robots.txt consente di specificare regole che se inserite attraverso i metatag rischierebbe di “inciccionire” inutilmente il codice HTML che invece dovrebbe essere il più snello e compresso possibile. Ma per questo tipo di eccezione può tornare utile l’utilizzo del noindex, che impedisce l’indicizzazione delle pagine, ma permette di seguire i link ad essa afferenti – con il comando follow – in modo da non toccare il link juice:
<?php if(is_single() || is_page() || is_home()) { ?>
<meta name="robots" content="all" />
<?php } else { ?>
<meta name="robots" content="noindex, noarchive, follow" />
<?php }?>
Non è ancora finita qua. Torniamo al nostro file robots.txt. Perchè ci sono quei blog che usano il plugin per la paginazione dei commenti. SOLO SE state usando questo plugin, conviene prevenire inserendo
Disallow: /comment-page-* Disallow: */comment-page-*
In ultima istanza dovrete comunicare allo spider la posizione della vostra sitemap:
Sitemap: http//tuoURL/sitemap.xml
A patto che abbiate inserito la sitemap nella directory principale. In caso contrario, andatela a scovare e inseritela nella principale!
Ed ecco infine il riassunto di quanto detto:
User-agent: Mediapartners-Google* Disallow: User-agent: * Disallow: /wp- Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/ Allow: /wp-content/uploads/ Disallow: /trackback/ Disallow: /feed/ Disallow: /comments/ Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/Sitemap: http://tuoURL/sitemap.xml
( Disallow: /comment-page-* Disallow: */comment-page-* ) <----- Solo se avete il plugin ( Disallow: /tag/ Disallow: /category/ ) <-----Usare solo in caso di necessità
Il consiglio, sebbene questo possa essere un esempio esplicativo, è sempre quello di rivolgervi ad un esperto prima di agire, e di studiarne l’adattabilità caso per caso.
Fonte: http://www.wmlab.it/2009/11/12/creare-robots-txt-per-wordpress/
4 coomenti
Grazie, mi sei stato molto utile 🙂
Ottimo lavoro Lino! Trovato in SERP, mi serviva un robots “già fatto”. Ho visto l’articolo e sono entrato. Ho trovato ciò che esattamente mi serviva e mi sono pure soffermato sulla lettura. Chiaro, semplice ed esaustivo! Complimenti!
Buon giorno.
Ho trovato molto utile l’articolo. Grazie.
Nel mio caso il sito WordPress si trova nella cartella /www/nuovosito e nella cartella /www c’è un file htaccess che reindirizza al nuovo sito.
Come vanno inseriti i path nel file robots?
Per esempio devo usare /wp-content/uploads/ oppure /nuovosito/wp-content/uploads/ ?
Grazie
Giuseppe
Ciao, sono contento ti sia stato utile! Cerchiamo di far chiarezza.
Se ho ben capito, il tuo sito parte da una sottocartella di una sottocartella, diciamo così.
In questo caso le cose non cambiano. Basta inserire il file Robots.txt dalla sottocartella /nuovosito per non perdere i path standard che ho elencato nell’articolo.
Assicurati solo di non aver spostato nessuna cartella dell’installazione base WordPress. Dopodichè ti consiglio di controllare gli strumenti per Webmaster di Google per un controllo
In caso la tua richiesta fosse un’altra, scrivici pure!