Una guida approfondita nel file Robots.txt
Pubblicato: 2020-08-10Il robots.txt è un file molto potente che può essere aggiunto al tuo sito web per aiutare a controllare quali aree dei motori di ricerca del tuo sito dovrebbero essere scansionate e quali aree dovrebbero essere ignorate. È importante rivedere regolarmente il tuo robots.txt per assicurarti che sia aggiornato e, se possibile, utilizzare uno strumento di monitoraggio per essere avvisato quando si verificano modifiche.
In Semetrical, come parte della nostra offerta di servizi di SEO tecnico, verificheremo il file robots.txt di un cliente quando effettueremo un audit tecnico del sito Web di un cliente per verificare che i percorsi che vengono bloccati dovrebbero esserlo. Inoltre, se il team SEO riscontra problemi nell'ambito del processo di audit tecnico SEO come la duplicazione, è possibile che nuove regole robots.txt vengano scritte e aggiunte al file.
Poiché robots.txt è un file importante, abbiamo messo insieme una guida che copre di cosa si tratta in definitiva, perché qualcuno potrebbe usarlo e insidie comuni che possono verificarsi durante la scrittura delle regole.
Che cos'è un file txt di robots?
Il file robots.txt è il primo porto di scalo per un crawler quando visita il tuo sito web. È un file di testo che elenca le istruzioni per diversi programmi utente che essenzialmente indicano ai web crawler quali parti di un sito devono essere sottoposte a scansione e quali devono essere ignorate. Le istruzioni principali utilizzate in un file robots.txt sono specificate da una regola "consenti" o "non consentire".
Storicamente funzionerebbe anche una regola "noindex", tuttavia nel 2019 Google ha smesso di supportare la direttiva noindex poiché era una regola non pubblicata.
Se il file non viene utilizzato correttamente può essere dannoso per il tuo sito Web e potrebbe causare un enorme calo del traffico e delle classifiche. Ad esempio, possono verificarsi errori quando un intero sito Web viene bloccato dai motori di ricerca o una sezione di un sito viene bloccata per errore. Quando ciò accade, le classifiche legate a quella parte del sito diminuiranno gradualmente e il traffico a sua volta diminuirà.
Hai davvero bisogno di un file robots.txt?
No, non è obbligatorio avere un robot.txt sul tuo sito web, specialmente per piccoli siti con URL minimi, ma è altamente raccomandato per siti di dimensioni medio-grandi. Sui siti di grandi dimensioni semplifica il controllo di quali parti del tuo sito sono accessibili e quali sezioni devono essere bloccate dai crawler. Se il file non esiste, il tuo sito Web verrà generalmente sottoposto a scansione e indicizzato normalmente.
A cosa serve principalmente il file txt di robots?
Il robots.txt ha molti casi d'uso e in Semetrical lo abbiamo utilizzato per gli scenari seguenti:
- Bloccare i risultati di ricerca interni poiché queste pagine non sono generalmente utili per un crawler e possono causare molte duplicazioni su un sito web.
- Blocco di parti di una navigazione dei facet se determinati facet non sono utili dal punto di vista SEO ma sono comunque necessari per l'UX quando un utente è sul tuo sito web.
- Blocco di diversi livelli di una navigazione di facet, in cui un livello di facet può essere utile per i motori di ricerca ma quando si combinano due diversi filtri di facet possono diventare irrilevanti per la scansione e l'indicizzazione di un motore di ricerca.
- Blocco dei parametri che causano duplicazioni o sprecano il budget di scansione. Questo è leggermente controverso poiché altri potrebbero dirti di non bloccare i parametri nel robots.txt, ma questo ha funzionato su un certo numero di siti Web dei nostri clienti in cui i parametri sono necessari ma i crawler non devono eseguirne la scansione. Si consiglia vivamente di verificare che qualsiasi parametro che si sta bloccando non abbia collegamenti di valore o sia classificato per parole chiave di valore che portano traffico.
- Blocco di sezioni private di un sito Web come pagine di pagamento e sezioni di accesso.
- Includere le posizioni della tua mappa del sito XML per consentire ai crawler di accedere facilmente a tutti gli URL sul tuo sito web.
- Per consentire solo a bot specifici di accedere ed eseguire la scansione del tuo sito.
- Blocco dei contenuti generati dagli utenti che non possono essere moderati.
Dove mettere un file txt di robots e come aggiungerlo al tuo sito?
Un file robots.txt deve essere posizionato nella radice del tuo sito Web, ad esempio, sul sito di Semetrical si trova all'indirizzo www.semetrical.com/robots.txt e deve essere denominato robots.txt. Un sito Web può avere un solo robots.txt e deve trovarsi in un file di testo codificato UTF-8 che includa ASCII.
Se hai sottodomini come blog.example.com, robots.txt può risiedere nella radice del sottodominio come blog.example.com/robots.txt.
Che aspetto ha un file robots.txt?
Un tipico file robots.txt sarebbe composto da diversi componenti ed elementi che includono:
- User-agent
- Non consentire
- Permettere
- Ritardo di scansione
- Mappa del sito
- Commenti (a volte potresti vederlo)
Di seguito è riportato un esempio di Semetrcals robots.txt che include uno user-agent, regole di disabilitazione e una mappa del sito.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Disallow: /trackback/ Disallow: /index.php/ Disallow: /xmlrpc.php Disallow: /blog-documentation/ Disallow: /test/ Disallow: /hpcontent/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlUser-agent
Lo user-agent definisce l'inizio di un gruppo di direttive. Spesso è rappresentato con un carattere jolly (*) che segnala che le istruzioni seguenti sono per tutti i bot che visitano il sito web. Un esempio di questo sarebbe:
User-agent: *
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Ci saranno occasioni in cui potresti voler bloccare determinati bot o consentire solo a determinati bot di accedere a determinate pagine. Per fare ciò è necessario specificare il nome del bot come user agent. Un esempio di questo sarebbe:
User-agent: AdsBot-Google Disallow: /checkout/reserve Disallow: /resale/checkout/order Disallow: /checkout/reserve_searchGli user agent comuni di cui essere a conoscenza includono:

C'è anche la possibilità di impedire a software specifico di eseguire la scansione del tuo sito Web o di ritardare il numero di URL che possono scansionare al secondo poiché ogni strumento avrà i propri agenti utente che eseguono la scansione del tuo sito. Ad esempio, se desideri impedire a SEMRush o Ahrefs di eseguire la scansione del tuo sito Web, al file verrà aggiunto il seguente:
User-agent: SemrushBot Disallow: * User-agent: AhrefsBot Disallow: *Se desideri ritardare il numero di URL scansionati, le regole seguenti verranno aggiunte al tuo file:
User-agent: AhrefsBot Crawl-Delay: [value] User-agent: SemrushBot Crawl-Delay: [value]Direttiva non consentire
La direttiva disallow è una regola che un utente può inserire nel file robots.txt che dirà a un motore di ricerca di non eseguire la scansione di un percorso specifico o di un insieme di URL a seconda della regola creata. Possono esserci una o più righe di regole di non autorizzazione nel file poiché potresti voler bloccare più sezioni di un sito web.
Se una direttiva disallow è vuota e non specifica nulla, i bot possono eseguire la scansione dell'intero sito Web, quindi per bloccare determinati percorsi o l'intero sito Web è necessario specificare un prefisso URL o una barra "/". Ad esempio, nell'esempio seguente, stiamo bloccando qualsiasi URL che esca dal percorso di /cgi-bin/ o /wp-admin/.
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/Se si desidera bloccare l'intero sito Web da bot come Google, è necessario aggiungere una direttiva disallow seguita da una barra. In genere potrebbe essere necessario eseguire questa operazione solo in un ambiente di staging quando non si desidera che il sito Web di staging venga trovato o indicizzato. Un esempio sarebbe simile a:
User-agent: * Disallow: /Consenti direttiva
La maggior parte dei motori di ricerca rispetterà la direttiva di autorizzazione dove essenzialmente contrasterà una direttiva di non autorizzazione. Ad esempio, se dovessi bloccare /wp-admin/ di solito bloccherebbe tutti gli URL che scorrono da quel percorso, tuttavia, se esiste una regola di autorizzazione per /wp-admin/admin-ajax.php, i bot eseguiranno la scansione / admin-ajax.php ma blocca qualsiasi altro percorso che esce da /wp-admin/. Vedi esempio qui sotto:
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.phpRitardo scansione
La direttiva sul ritardo di scansione aiuta a rallentare la velocità con cui un bot eseguirà la scansione del tuo sito web. Non tutti i motori di ricerca seguiranno la direttiva sul ritardo di scansione poiché è una regola non ufficiale.
– Google non seguirà questa direttiva
– Baidu non seguirà questa direttiva

– Bing e Yahoo supportano la direttiva crawl delay in cui la regola indica al bot di attendere "n" secondi dopo un'azione di scansione.
– Yandex supporta anche la direttiva sul ritardo di scansione, ma interpreta la regola in modo leggermente diverso in quanto accederà al tuo sito solo una volta ogni "n" secondi".
Di seguito un esempio di una direttiva sul ritardo di scansione:
User-agent: BingBot Disallow: /wp-admin/ Crawl-delay: 5Direttiva sulla mappa del sito
La direttiva sulla mappa del sito può indicare ai motori di ricerca dove trovare la tua mappa del sito XML e rende facile per diversi motori di ricerca trovare gli URL sul tuo sito web. I principali motori di ricerca che seguiranno questa direttiva includono Google, Bing, Yandex e Yahoo.
Si consiglia di posizionare la direttiva sulla mappa del sito nella parte inferiore del file robots.txt. Un esempio di questo è di seguito:
User-agent: * Disallow: /cgi-bin/ Disallow: /wp-admin/ Disallow: /comments/feed/ Sitemap: https://devsemetrical.wpengine.com/sitemap.xmlCommenti
Un file robots.txt può includere commenti ma la presenza di commenti è solo per gli esseri umani e non per i robot poiché qualsiasi cosa dopo un hashtag verrà ignorata. I commenti possono essere utili per diversi motivi, tra cui:
– Fornisce un motivo per cui sono presenti determinate regole
– Riferimenti che hanno aggiunto le regole
– Riferimenti a quali parti di un sito si riferiscono le regole
– Spiega cosa stanno facendo le regole
– Di seguito vengono mostrati esempi di commenti in diversi file robots.txt:
#Student Disallow: /student/*-bed-flats-* Disallow: /student/*-bed-houses* Disallow: /comments/feed/ #Added by Semetrical Disallow: /jobs*/full-time/* Disallow: /jobs*/permanent/* #International Disallow: */company/fr/* Disallow: */company/de/*L'ordinamento delle regole è importante?
L'ordinamento delle regole non è importante, tuttavia quando a un URL si applicano più regole di autorizzazione e di non autorizzazione, la regola del percorso di corrispondenza più lungo è quella applicata e ha la precedenza sulla regola più breve meno specifica. Se entrambi i percorsi hanno la stessa lunghezza, verrà utilizzata la regola meno restrittiva. Se hai bisogno di un percorso URL specifico da consentire o disabilitare, puoi allungare la regola utilizzando "*" per allungare la stringa. Ad esempio, Disallow: ********/make-longer
Sul sito web di Google hanno elencato un campione di situazioni che mostra la regola di priorità che ha la precedenza. La tabella seguente è stata presa da Google.

Come controllare il tuo file robots.txt?
È sempre importante controllare e convalidare il tuo file robots.txt prima di pubblicarlo in quanto avere regole errate può avere un grande impatto sul tuo sito web.
Il modo migliore per eseguire il test è accedere allo strumento tester robots.txt in Search Console e testare diversi URL che dovrebbero essere bloccati con le regole in vigore. Questo è anche un ottimo modo per testare le nuove regole che desideri aggiungere al file.

Esempi di utilizzo di espressioni regolari nel file robots.txt
Quando crei regole nel tuo file robots.txt, puoi utilizzare la corrispondenza dei modelli per bloccare un intervallo di URL in un'unica regola di non autorizzazione. Le espressioni regolari possono essere utilizzate per eseguire la corrispondenza dei modelli e i due caratteri principali a cui si attengono sia Google che Bing includono:
- Simbolo del dollaro ($) che corrisponde alla fine di un URL
- Asterisco (*) che è una regola con caratteri jolly che rappresenta qualsiasi sequenza di caratteri.
Esempi di corrispondenza dei modelli in Semetrical:
Disallow: */searchjobs/*Questo bloccherà qualsiasi URL che includa il percorso di /searchjobs/ come: www.example.com/searchjobs/construction. Ciò era necessario per un cliente poiché la sezione di ricerca del proprio sito doveva essere bloccata in modo che i motori di ricerca non eseguissero la scansione e l'indicizzazione di quella sezione del sito.
Disallow: /jobs*/full-time/*Questo bloccherà gli URL che includono un percorso dopo /jobs/ seguito da /full-time/ come
www.example.com/jobs/admin-secretarial-and-pa/full-time/
. In questo scenario abbiamo bisogno del tempo pieno come filtro per UX, ma per i motori di ricerca non è necessario indicizzare una pagina per soddisfare "titolo di lavoro" + "tempo pieno".
Disallow: /jobs*/*-000-*-999/*Ciò bloccherà gli URL che includono filtri salariali come
www.example.com/jobs/city-of-bristol/-50-000-59-999/
. In questo scenario abbiamo bisogno di filtri salariali ma non c'era bisogno che i motori di ricerca scansionassero le pagine salariali e le indicizzassero.
Disallow: /jobs/*/*/flexible-hours/Ciò bloccherà gli URL che includono orari flessibili e includeranno due percorsi di facet intermedi. In questo scenario abbiamo trovato tramite la ricerca per parole chiave che gli utenti possono cercare posizione + orari flessibili o lavoro + orari flessibili ma gli utenti non cercano "titolo del lavoro" + "posizione" + "ore flessibili". Sembra un URL di esempio
www.example.com/jobs/admin-secretarial-and-pa/united-kingdom/flexible-hours/
.
Disallow: */company/*/*/*/people$Ciò bloccherà un URL che include tre percorsi tra azienda e persone, nonché l'URL che termina con persone. Un esempio sarebbe
www.example.com/company/gb/04905417/company-check-ltd/people
.
Disallow: *?CostLowerAsNumber=*Questa regola bloccherebbe un filtro di parametro che ordinava il prezzo.
Disallow: *?Radius=* Disallow: *?radius=*Queste due regole hanno impedito ai bot di eseguire la scansione dell'URL di un parametro che ha modificato il raggio di ricerca di un utente. È stata aggiunta sia una regola maiuscola che minuscola poiché il sito includeva entrambe le versioni.
Cose da tenere a mente con il robots.txt
- Il file robots.txt fa distinzione tra maiuscole e minuscole, quindi è necessario utilizzare il maiuscolo corretto nelle regole. Ad esempio, /hello/ verrà trattato in modo diverso da /Hello/.
- Per fare in modo che motori di ricerca come Google reinseriscano più rapidamente il file robots.txt nella cache per trovare nuove regole, puoi controllare l'URL robots.txt in Search Console e richiedere l'indicizzazione.
- Se il tuo sito web si basa su un robots.txt con una serie di regole e il tuo URL robots.txt contiene un codice di stato 4xx per un periodo di tempo prolungato, le regole verranno ignorate e le pagine bloccate diventeranno indicizzabili. È importante assicurarsi che serva sempre un codice di stato 200.
- Se il tuo sito web è inattivo, assicurati che robots.txt restituisca un codice di stato 5xx poiché i motori di ricerca capiranno che il sito è inattivo per manutenzione e torneranno a eseguire nuovamente la scansione del sito Web in un secondo momento.
- Quando gli URL sono già indicizzati e al tuo sito web viene aggiunto un disallow per rimuovere tali URL dall'indice, potrebbe essere necessario del tempo prima che tali URL vengano eliminati e rimossi. Inoltre, gli URL possono rimanere nell'indice per un po', ma la meta descrizione visualizzerà un messaggio del tipo "Una descrizione per questo risultato non è disponibile a causa del robots.txt di questo sito - scopri di più".
- Una regola di non autorizzazione di robots.txt non garantisce sempre che una pagina non venga visualizzata nei risultati di ricerca poiché Google potrebbe comunque decidere, in base a fattori esterni come i link in entrata, che è pertinente e che dovrebbe essere indicizzata.
- Se disponi di una regola di non autorizzazione e inserisci anche un tag "nessun indice" all'interno del codice sorgente di una pagina, il "nessun indice" verrà ignorato poiché i motori di ricerca non possono accedere alla pagina per scoprire il tag "nessun indice".
- Una regola di non autorizzazione sulle pagine indicizzate, in particolare quelle con link in entrata, significa che perderai l'equità dei link di quei backlink che altrimenti verrebbero trasferiti a beneficio di altre pagine. Questo è il motivo per cui è importante controllare se le pagine hanno backlink prima di aggiungere una regola di non autorizzazione.
- Se la barra iniziale nel percorso non è presente durante la scrittura di una regola di autorizzazione o di divieto, la regola verrà ignorata. Ad esempio, "Disallow: searchjobs.
Se desideri parlare con uno dei nostri specialisti SEO tecnici di Semetrical, visita la nostra pagina dei servizi SEO tecnici per ulteriori informazioni.
