§ 17. I meta tag robots per i siti su WordPress (e altri CMS)

Supponiamo di voler utilizzare sul nostro sito i meta tag robots. Il loro inserimento nei codici delle singole pagine sarebbe stato una operazione semplicissima, ma i siti moderni sono ormai tutti (o quasi) fatti con i CMS: con il codice comune a tutte le pagine (o a dei grossi insiemi di esse). I parametri dei meta tag robots da noi voluti, però, potrebbero variare da pagina a pagina. La soluzione esiste ed è abbastanza semplice.
Prima di tutto rifiutiamo l’idea di creare una molteplicità delle pagine header.php solo per metterci i meta tag diversi: associare i header ai rispettivi contenuti e aggiornarli in base alle necessità mutate è un lavoro troppo impegnativo che tende ad azzerare i vantaggi dell’utilizzare un tema. E noi siamo pigri.
Di conseguenza, dobbiamo ragionare in modo strutturato e immaginare prima di tutto i casi in cui potrebbero variare i parametri dei meta tag robots.

1. I meta tag robots per le pagine-doppioni
Come ho già accennato nel paragrafo dedicato alla costruzione di un file robots.txt corretto, i CMS generano una grande quantità delle pagine almeno in parte coincidenti tra loro nei contenuti. Quindi noi dobbiamo prima di tutto vietare l’indicizzazione di tutte le pagine-doppioni. Tali pagine sono generate dalle seguenti funzioni:
– la funzione che mostra i contenuti delle categorie;
– la funzione che mostra ogni genere di archivio;
– la funzione che mostra gli archivi per anni;
– la funzione che mostra gli archivi per mesi;
– la funzione che mostra gli archivi per giorni;
– la funzione che mostra gli archivi per date;
– la funzione che mostra gli archivi per autori;
– la funzione che mostra le pagine con i tag;
– la funzione che mostra la tassonomia delle pagine casuali;
– la funzione che mostra le pagine con dei file allegati;
– la funzione che mostra il menu di navigazione tra le pagine in sequenza;
– la funzione che mostra le pagine dei feed;
– la funzione che mostra le pagine dei risultati delle ricerche interne al sito.
Ecco, il nostro compito consiste nell’inserire i meta tag robots con i parametri di diniego noindex e nofollow nei codici delle pagine dell’elenco sovrastante tra i tag <head> e </head>.
Lo possiamo fare con una funzione inserita nel file functions.php subito sotto il tag di apertura <?php.
Ecco il suo codice:

function pagdoppie_robots () {
if (is_archive() or is_category() or is_feed () or is_author() or is_date() or is_day() or is_month() or is_year() or is_tag() or is_tax() or is_attachment() or is_paged() or is_search())
{
echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
}
add_action('wp_head', 'pagdoppie_robots');

In sostanza, questa funzione contiene una condizione che «scatterà» con l’avvio di ognuna delle funzioni elencate e tramite il comando echo aggiungerà il meta tag robots nel codice delle pagine-doppioni. Poi, con l’aiuto dell’action hook wp_head la nostra azione verrà automaticamente attaccata alla funzione wp_head(), la quale, a sua volta, inserirà il meta tag nel header tra i tag <head> e </head>.
Ebbene, è tutto qui. Dopo un tempo relativamente breve, entro un paio di giorni, le pagine-doppioni scompariranno dai risultati di ricerca di Google e altri «motori». E vi resteranno solo quelle sensate e originali, raccogliendo dunque più visite di prima.

2. I meta tag robots per le pagine determinate
Ora ipotizziamo di voler utilizzare i meta tag robots solo per alcune singole pagine del sito, quelle contenenti i testi originali. Non importa se le abbiamo create attraverso la voce «pagina» o «articolo» delmenu di WordPress: il loro codice sorgente è in ogni caso molto simile a tutte le altre.
Di conseguenza, anche in questo caso dobbiamo scrive una funzione da inserire nel file functions.php del nostro tema. L’unica differenza di questa funzione dalla precedente è l’utilizzo della funzione «is_page» con l’elenco degli ID delle pagine alle quali vogliamo applicare i meta tag robots:

function pagalcune_robots () {
if ((is_page(array(11, 222, 345))))
{
echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
}
add_action('wp_head', 'pagalcune_robots');

Ovviamente, al posto dei numeri utilizzati nel mio esempio («11», «222» etc) dovete inserire gli ID corretti delle vostre pagine.
Non sapete come scoprire l’ID di una pagina? È semplicissimo. Andate sulla admin di WordPress del vostro sito, entrate nella sezione «articoli» o «pagine» (in base alla modalità con la quale avete pubblicato la pagina) e posizionate il cursore sopra il nome della pagina alla quale volete applicare i meta tag. L’unico numero che vedrete nell’indirizzo comparso in basso è l’ID della pagina (sì, proprio quello dopo la dicitura ?post=).
Qualora si volesse applicare i meta tag robots a una sola pagina (invece che a più pagine), il codice della funzione sarà ancora più semplice:

function pagina_robots () {
if ((is_page('123')))
{
echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";
}
}
add_action('wp_head', 'pagina_robots');

Ovviamente anche in questo caso non dovete dimenticare di inserire l’ID corretto al posto di «123».
E pure questo caso è da considerare risolto.
P.S. Naturalmente, le operazioni descritte in questo paragrafo non sono necessarie qualora volessimo negare l’indicizzazione dell’intero sito. In quest’ultimo caso, infatti, è sufficiente inserire nel codice della pagina header.php questa riga:

<meta name="robots" content="noindex, nofollow" />