Devlancer Blog

Come indicizzare e deindicizzare i contenuti tramite robots, noindex e 404

Esistono diversi metodi che possiamo seguire per indicizzare o deindicizzare i contenuti del nostro sito web.

Robots.txt e meta robots

Google ci spiega facilmente cos’è un file robots.txt:

Indica ai crawler dei motori di ricerca a quali URL possono accedere sul tuo sito. Viene usato principalmente per evitare di sovraccaricare di richieste il sito; non è un meccanismo che permette di escludere una pagina web da Google. Per escludere una pagina web da Google, blocca l’indicizzazione con il meta tag noindex oppure proteggi tramite password la pagina.

Qui vediamo già alcuni elementi fondamentali: anzitutto, robots.txt è un file stabilito come standard, che viene letto dai crawler dei motori di ricerca. Quando questi bot, come GoogleBot o altri, arrivano al nostro sito, verificano la presenza di un robots.txt. Se abbiamo “vietato” l’indicizzazione di alcuni o tutti i contenuti, il bot potrebbe andarsene senza fare nulla.

Ecco un esempio di robots.txt che chiede ai crawler di non indicizzare al sito:

User-agent: *
Disallow: /

Viceversa possiamo semplicemente rimuovere la seconda riga per comunicare che vogliamo permettere l’indicizzazione.

Se vogliamo rivolgerci a un crawler specifico, possiamo fare così:

User-agent: Googlebot

Per permettere o meno l’indicizzazione di singoli URL possiamo fare così:

Disallow: /non-indicizzarmi/
Allow: /indicizzami/

Ci sono alcune regole precise da conoscere su come formare le varie righe del robots.txt, usando alias e asterischi, ma per questo rimando alla guida dettagliata di Google Search Central: Come scrivere e inviare un file robots.txt

Importante: ricordiamo che questa è una “richiesta” da parte nostra, sta poi ai crawler rispettarla correttamente, non dipende da noi.

Tuttavia, usare robots.txt non è il modo consigliato se vogliamo deindicizzare un contenuto già indicizzato. In questi casi, il metodo migliore è fare in modo che la pagina risponda con un codice 404, o al massimo 403. I vari codici di risposta HTTP sono spiegati meglio su MDN.

Meta tag noindex

In alternativa, possiamo usare il meta tag noindex, che serve solo per indicare ai motori di ricerca che una pagina non deve essere indicizzata (= no index).

Si potrebbe aprire un dibattito su quale sia la strada migliore per deindicizzare un contenuto: in genere preferisco usare il 404, anche perché molto più perentorio e non lascia spazio a dubbi, ma dipende da cosa dobbiamo fare. Se la pagina deve rimanere visibile agli utenti ma nascosta ai motori di ricerca, meglio usare la soluzione del noindex inserito come meta tag nell’HTML di quella pagina (attenzione: la pagina non deve venire esclusa dal robots.txt). Diversamente, se il contenuto non deve più essere leggibile dall’esterno, utenti inclusi, meglio usare la risposta 404.

Il noindex viene inserito in forma di meta tag, all’interno della <head> di un documento HTML in questo modo:

<meta name="robots" content="noindex">

Questo indica a tutti i crawler di non indicizzare la pagina, mentre se vogliamo rivolgerci a un crawler specifico, ad esempio il GoogleBot:

<meta name="googlebot" content="noindex">

404: sì o no?

Nel caso in cui dovessimo decidere di nascondere una pagina ai crawler, lasciandola visibile al resto del mondo, possiamo fare in modo che il server risponda con lo stato 404: questo non significa per forza che la pagina non venga trovata, ma è comunque utile per stabilire che la pagina non ha motivo di essere indicizzata. Pensiamo ad esempio al caso di un filtro prodotti che restituisce contenuti quasi identici, in questi casi potrebbe avere senso optare per un 404 per ogni singolo URL filtrato, o almeno per i filtri più avanzati.

Ha senso restituire 404 anche quando una funzionalità di ricerca nel sito presenta zero risultati (“Nessun risultato trovato per la tua ricerca”), anche se in questi casi potrebbe essere più ottimale il “noindex”.

Su questo tema, è utile la risposta su Reddit di John Mueller (già citato in come Search relations team lead in Google quando abbiamo parlato di età del dominio nella SEO):

Thousands of 404 Errors in GSC from Spam Sites – Should I Care?
Just ignore them. If the page isn’t meant to exist, then having it return 404 is expected. If you thought the page was supposed to exist, then this error is a good reminder.

Crediti: Search Engine Journal

Dunque in buona sostanza si conferma che la strategia del 404 è corretta se la pagina effettivamente non deve esistere. Per gli altri casi, valutiamo l’uso del tag noindex.

Indicizzazione e deindicizzazione dirette

Vi sono anche altri metodi per deindicizzare una pagina, ma questi che abbiamo visto sono i principali e più conosciuti. Ad esempio, potremmo fare una richiesta di deindicizzazione attiva tramite lo strumento Rimozione URL di Google Search Console o Bing Webmaster Tools:

Strumento rimozione URL su Google e Bing

Per quanto riguarda l’indicizzazione, oltre alle azioni passive che abbiamo visto relative a Robots.txt, tramite le quali possiamo comunicare ai motori di ricerca se il nostro sito è indicizzabile o meno, e fermo restando che in molti casi l’indicizzazione avviene in modo naturale ed automatico, possiamo velocizzarla inviando direttamente ai crawler una richiesta di indicizzazione su Google Search Console o su Bing Webmaster Tools, che spesso porta a un risultato positivo anche in poche ore.

Consiglio anche di valutare l’uso di Yandex Webmaster Tools per il pubblico russo, di Seznam.cz Webmaster per il pubblico ceco, e di IndexNow come protocollo opensource creato da Bing e Yandex e usato da vari strumenti come Rank Math e YoastSEO.

Conclusioni

Alcune impostazioni utili relative alle scelte di indicizzazione si possono scegliere anche dal CMS, ad esempio con plugin come Rank Math per WordPress. Lo stesso WordPress di default ha una impostazione che “Scoraggia l’indicizzazione dei motori di ricerca”, utile quando siamo in fase di sviluppo di un nuovo sito web.

Su WordPress è possibile impostare il meta robots in noindex

Importante: quando creiamo un nuovo sito, assicuriamoci che sia impostato in noindex e non permetta l’indicizzazione, e ricordiamoci poi di permettere nuovamente l’indicizzazione quando lo pubblichiamo. Errore tipico è di dimenticarsi questi due piccoli dettagli, che possono portare a un calo improvviso o una variazione drastica del traffico quando viene fatto un restyling.

Per il resto, l’indicizzazione dei contenuti avviene in modo abbastanza automatico e naturale, ma possiamo velocizzarla per i nuovi contenuti usando Google Search Console o strumenti simili, che ci permettono di inviare i singoli URL per richiederne l’indicizzazione.

Link utili

Leggi anche