La guida al file robots.txt
Apri l'indice dei contenuti
È molto importante conoscere come funziona il file robots.txt perché ti aiuterà a migliorare la SEO del tuo sito. Infatti, questo file è il mezzo utilizzato dai web master per fornire istruzioni ai bot dei motori di ricerca, cioè, i programmi utilizzati per la scansione dei contenuti dei siti web. Il nome di questi particolari bot è crawler.
Attraverso le istruzioni contenute in questo file, è possibile inviare istruzioni ai crawler riguardo a cosa devono scansionare e cosa no, cosa deve essere indicizzato e cosa deve rimanere nascosto. Ne parlo anche nel corso TUTTO SEO, dove spiego poi altre tecniche per comunicare a Google quali sono le pagine importanti del tuo sito web.
Questo strumento si definisce Protocollo di Esclusione Robot (in inglese, Robots Exclusion Protocol).
Quando un bot inizia il processo di scansione di un sito web, il primo URL che visita è www.example.com/robots.txt; qui troverà le istruzioni fornite dal web master.
Come accennato, si può usare il file robots.txt per indicare ai bot di non effettuare la scansione di una o più pagine del proprio sito web. Questo è particolarmente utile se si hanno, per esempio, contenuti duplicati che potrebbero causare una penalizzazione da parte dei motori di ricerca.
La struttura del file robots.txt
La struttura base di questo file è molto semplice; ecco un esempio:
User-agent: * Disallow:
La prima riga serve ad indicare i bot a cui si desidera comunicare le istruzioni (in questo caso, il simbolo * indica “tutti i bot”).
La seconda riga, invece, si riferisce alle pagine o sezioni del sito web che non dovrebbero essere visitate dai bot (nell’esempio, nessuna).
Nel nostro esempio, quindi, non abbiamo nessuna esclusione: tutti i bot devono scansionare tutti i contenuti del sito.
Nelle prossime sezioni, approfondirò l’utilizzo dei vari codici all’interno del file.
Seguendo tutti i passi che ti illustriamo in questa guida, non dovresti incontrare grosse difficoltà. Ma sappiamo benissimo che, a volte, tutto può succedere! Niente panico: attiva al più presto la nostra Assistenza WordPress e chiedi il nostro aiuto.
Saremo lieti di offrirti prontamente supporto e assistenza, seguendoti passo per passo verso la soluzione del tuo problema.
Come creare il file robots.txt
Non tutti i siti hanno un robots.txt: se i bot non trovano alcun file, effettueranno la scansione di tutte le pagine. Questo accade anche se un file esiste ma non contiene alcun testo.
Accedi al tuo sito web tramite FTP oppure con il File Manager del tuo hosting. Vai nella root, ossia nella cartella principale (solitamente si chiama public_html oppure www) e verifica se il file esiste già. Se non lo trovi, lo dovrai creare tu.
Un altro modo per verificare la sua esistenza è digitando sul tuo browser la stringa tuosito.it/robots.txt.
- Se ottieni un errore 404 (pagina non trovata), il file non esiste;
- Se vedi una pagina bianca, il file esiste ma al suo interno non c’è nulla;
- Se vedi una pagina con delle scritte come quelle indicate sopra (User-agent e Disallow), il tuo file esiste e sono presenti delle configurazioni.
Per creare il file robots.txt, devi semplicemente creare un file di testo chiamato esattamente robots.txt. Usa solo lettere minuscole, non aggiungere alcun carattere o simbolo: il nome del file deve essere precisamente questo, altrimenti i bot non potranno riconoscere il file.
Puoi creare il file sul tuo computer e poi caricarlo via FTP, oppure crearlo direttamente sul file manager.
Creare il file robots.txt con Yoast SEO
Se usi Yoast SEO, puoi creare il file con questo strumento. Vai su SEO > Strumenti e clicca sul link Modifica file.
Seleziona il pulsante Crea file robots.txt e il tuo file sarà creato con già al suo interno le impostazioni predefinite di WordPress. Per esempio, la sezione /wp-admin/ sarà automaticamente esclusa dall’accesso ai robots, dato che si tratta dell’area riservata alla gestione del sito.
I codici da utilizzare
Vediamo, dunque, quali sono i codici che puoi utilizzare all’interno del file robots.txt per fornire istruzioni ai motori di ricerca (in questa guida indico solo i codici fondamentali; per approfondire l’argomento, visita il sito ufficiale dedicato del Protocollo di Esclusione Robot)
Sitemap
Prima di parlare di inclusione ed esclusione di pagine, vorrei farti presente che il file robots.txt può essere utilizzato anche per indicare ai bot la locazione della sitemap del proprio sito. Per inserire correttamente le istruzioni ai bot su come trovare la sitemap, dovrai utilizzare questa stringa:
Sitemap: https://example.com/sitemap_location.xml
Inserirai quindi l’URL esatto della tua sitemap. Ricorda di inserire i dati del tuo sito al posto dell’esempio che ti ho mostrato.
User-agent
Passiamo ora alle istruzioni vere e proprie per l’accesso dei crawler ai file del tuo sito.
Come abbiamo già visto, il campo user-agent serve ad indicare i bot specifici a cui sono indirizzate le istruzioni.
Un asterisco, come vedi di seguito, è utilizzato per indicare “tutti i robot”:
User-agent: * Disallow:
È però possibile anche indicare i nomi dei singoli user-agent (per esempio, se si vuole limitare l’accesso al bot di un particolare motore di ricerca). Puoi consultare la lista dei nomi dei bot di tutti i motori di ricerca.
Se si desidera creare istruzioni specifiche per diversi user-agent, è possibile farlo in questo modo:
User-agent: nomeuseragent1 Disallow: User-agent: * Disallow: /latuadirectory/
Le prime due righe sono le istruzioni per il determinato user-agent chiamato “nomeuseragent1”, mentre la terza e quarta riga sono le istruzioni per tutti i bot.
Disallow
Questa voce introduce la lista di pagine o sezioni che i bot non dovrebbero visitare.
Uno slash indica “tutti i contenuti del sito”.
User-agent: * Disallow: /
Quindi, il codice qui sopra servirà a bloccare tutti i bot da tutto il sito.
Lasciare uno spazio vuoto, come vedi qui sotto, permette invece completo accesso (in quando non viene imposta alcuna restrizione).
User-agent: * Disallow:
Directories
Se vuoi escludere determinate cartelle dalla scansione, inserisci il loro nome dopo la dicitura Disallow, preceduto e seguito da uno slash. Per indicare più cartelle, inserisci un’altra riga di Disallow:
User-agent: * Disallow: /junk/ Disallow: /tmp/
Puoi trovare altre informazioni specifiche sulla sezione sui file robots.txt di Google Webmaster.
Note importanti
I bot possono decidere di ignorare il file robots.txt. Questo avviene più spesso nel caso di bot “maligni” (per esempio, quelli utilizzati per attività di spamming);
Il file robots.txt è pubblicamente accessibile. Fai quindi attenzione a non inserire informazioni riservate.
Da queste due note, puoi facilmente comprendere perché questo file non dovrebbe essere utilizzato per nascondere parti del tuo sito web. Ad esempio, non utilizzare la stringa Disallow per nascondere una cartella contenente informazioni riservate, perché non avrebbe alcun effetto.
Inoltre, segnalo che:
- Ciascun sottodominio deve avere un proprio robots.txt;
- Ogni parametro deve essere inserito su una riga singola (come abbiamo visto nell’esempio relativo alle directories). Non vengono riconosciuti spazi o virgole.
Il file robots.txt e la SEO
Vediamo, ora, se il file robots.txt può essere realmente utilizzato ed ottimizzato per la SEO.
Per iniziare, voglio fare un’importante distinzione tra l’attività di scansione (crawling) e quella di indicizzazione (indexing).
Il termine scansione si riferisce all’attività di analisi delle pagine web svolta dai crawler dei motori di ricerca. Questi robottini analizzano contenuti, link, ecc; e riferiscono le informazioni trovate ai server.
Indicizzazione indica, invece, l’inserimento degli URL delle pagine web nell’indice dei motori di ricerca.
Talvolta, anche se i bot dei motori di ricerca “rispettano” l’istruzione di non effetturare la scansione di specifiche pagine web, queste vengono comunque indicizzate.
In questo caso, gli URL delle singole pagine appaiono sulla SERP ma ad essi non viene associata alcuna informazione. Hai mai letto la frase “Non è disponibile una descrizione per questo risultato a causa del file robots.txt del sito.” nei risultati di ricerca? Ecco, significa che quella pagina è stata esclusa tramite il file robots.txt.
D’altro lato, è anche possibile che i bot ignorino del tutto il file robots.txt.
Suggerisco, quindi, di bloccare i bot dei motori di ricerca utilizzando Meta NoIndex. In questo caso, mi riferisco ai tag meta da posizionare nella sezione “head” della pagina HTML per la quale si vuole restringere l’accesso.
Generalmente, questa soluzione funziona meglio, in quanto previene l’indicizzazione delle pagine.
Seppur utilizzare i tag meta sia preferibile, è da segnalare che anch’essi possono essere ignorati dai bot dei motori di ricerca.
D’altro lato, è importante assicurarsi che non sia bloccato l’accesso a parti del sito che vuoi siano indicizzate dai motori di ricerca.
Conclusione
In questa guida introduttiva hai imparato che cos’è e come creare un file robots.txt. Abbiamo anche visto se è effettivamente utile per la SEO e come si differenzia dal tag Meta NoIndex.
Il tuo sito ha già questo file?
Quali configurazioni hai utilizzato?
Se hai domande o suggerimenti, condividili nella nostra Community dedicata alla SEO. Troverai esperti del settore con cui confrontarti e chiarire ogni tuo dubbio.
Ciao
Grazie per le delucidazioni.
Sto lavorando al mio 2 sito.
Essendo in fase di sviluppo, vorrei che non venisse indicizzato : ad oggi ho modificato il file Robot.txt, seguendo le tue istruzioni, è sulla bacheca di WordPress ho scoraggiato i motori di ricerca, devo fare altro?
Grazie
Ciao Alberto, al momento non devi fare altro, dedicati quindi alla realizzazione del sito. Un saluto!
Marongiu (esclamazione di apprezzamento risalente al liceo), quanto adoro SOS WP; lo dico in generale e non solo per quest’ottimo articolo sulle direttive del file robots.txt.
Grazie Andrea, ti seguo dovunque sia possibile farlo 😉
Grazie! Andrea è contento di saperlo e anche noi del team! A presto.
Ciao, ho un sito gestito con meberpress, per cui è tutto nascosto agl utenti non iscritti. Per evitare scansione e indicizzazione mi consigli di usare un file robots “User-agent: * Disallow: /”? Ho già selezionato “scoraggia i motori di ricerca” nelle impostazione di wordpress.
Grazie
Ciao Lu, dovrebbe bastare il selezionare “scoraggia i motori di ricerca” dalle impostazioni di WordPress. Puoi comunque inserire il codice che indichi nel file robots.txt. Un saluto!
Buongiorno,
ho la necessità di disabilitare l’indicizzazione di alcune url: tutte quelle che finiscono per /2/
esempio url da non far indicizzare: /migliori-programmi-per-convertire-audio-video-su-linux/2/
ho parecchie url indicizzate in questo modo e non riesco a venirne a capo, vorrei inserire come direttiva questa stringa Disallow:/*2/
è corretta?
Grazie anticipatamente per la risposta.
Le pagine sono state già indicizzate? Non hai pensato a creare un redirect?
si sono indicizzate e sto facendo un po’ di pulizia, no il redirect è impensabile, se nn impedisco a monte l’indicizzazione dovrei fare oltre 2k redirect e non mi sembra il caso. L’unica opzione, credo, è impedire il tutto da robots.txt.
Ciao Danilo, dovresti contattare il nostro reparto SEO per una veloce ed efficace consulenza. Puoi farlo da questo link https://sos-wp.it/assistenza/consulenza-seo/.
Salve Andrea, ho da poco avuto modo di aprire un sito con wordpress e ho usato Yoast per generare la sitemap.
Il problema è che quest’ultima mi da problemi da quando l’ho aggiunta alla console di google da 3 giorni, mi da diversi avvisi di URL bloccati da robots.txt e nessun elemento della sitemap risulta indicizzato. Il file robots che riesco a visualizzare dalla console è
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Dovrei cambiare qualcosa?
Ciao Fabrizio, lavora sul file robots.txt attraverso il plugin Yoast SEO, come spiegato in questa guida. Questo, per non bloccare gli url necessari alla indicizzazione corretta del sito web.
Ho letto tutto l’articolo e ho capito come editare il file robots.txt, ma non comprendo perchè con la configurazione di base il file debba bloccarmi gli URL.
Cosa mi sta lititando in questa configurazione?
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Dovrei semplicemente mettere “Disallow:” ?
Grazie
Ciao Fabrizio, inviaci a supporto@sos-wp.it le indicazioni in riferimento agli url bloccati, che vediamo in modo più approfondito la situazione. Un saluto!
Ciao Andrea,
Da search console utilizzando fetch as google, la scansione è avvenuta parzialmente perchè sembra che il robot txt stia bloccando qualcosa (scusa i termini, sono alle prime armi). è possibile questo anche se nel mio sito non era neanche presente un file robot txt? per sicurezza ne ho creato uno del genere con yoast seo.
User-agent: *
Disallow:
Ciao Alice, sicura che non fosse presente? Hai controllato mediante file manager?
Io uso yoast seo e in tools>file editor> non era ancora presente. tramite l’apposito pulsante ho generato un nuovo robot.txt e il file autogenerato effettivamente escludeva qualcosa che c’entra con “author”.
Quindi ho sostituito il codice con:
User-agent: *
Disallow:
Ok, bene.
Ciao Andrea,
ti chiedo un consiglio in merito ai file robots.
Solitamente con i siti dei nostri clienti utilizziamo delle url di prova e con gli ultimi due mi è capitato che quando li crico online sulla url definitiva, google mantiene in memoria anche la url di prova dando errore 404.
La mia domanda è per evirtare il problema della indicizzazione della url di prova posso utilizzare il file robots impostato su “Disallow: /” e modificare l’impostazione solo quando viene caricato nella url definitiva?
Grazie mille
daniela
Ciao Daniela,
sì, potresti fare come hai detto.
Un saluto!
ok grazie mille…
Ti chiedo un’alto consiglio. Questo problema mi si è presentato in questi giorni con il sito di un cliente e non riesco a risolvero… Hai qualche consiglio/articolo sul reindirizzamento 301?
Grazie mille
Daniela
Ciao Daniela,
dai un’occhiata a questo nostro articolo: https://sos-wp.it/redirect-html-wordpress/.
Un saluto!
Ciao Andrea,
mi risulta da un test che 5 pagine indicizzate del mio sito non son state trovate nella sitemap. Da che cosa può dipendere? Come posso intervenire. Grazie mille!
Ciao Sonia,
tali pagine hanno contenuti simili?
Un saluto!
3 sono Articoli, 2 sono pagine create di recente (le ultime fatte) ma non hanno contenuti duplicati.
Ciao Sonia,
hai controllato di nuovo?
Un saluto!
Non ho ancora controllato perchè mi occorre aspettare un pò per poter rifare una verifica con onpage.org.
In questo momento sto cercando di non toccare il sito perchè sembra molto instabile nel posizionamento. La mattina ad ogni verifica compare in 6 posizione. Con la stessa verifica (stessa chiave di ricerca) dopo qualche ora scala in undicesima posizione. Son tre giorni che si comporta in questo modo e non riesco a spiegarmi questi su e giù. Hai un’idea di cosa possa essere?
Ciao Sonia,
come effettui la verifica?
Un saluto!
su google chrome cancellando prima i dati di navigazione e inserisco chiave di ricerca “musica matrimonio milano
Ho provato anche con seozoom ed esce lo stesso risultato
Ciao Sonia,
purtroppo da qui non posso darti molte più info.
Dovremmo fare dei test e analisi, e cercare di capire se il tuo sito è stato in qualche modo penalizzato.
Attendi ancora qualche giorno, e verifica quando vedi cambiamenti nel posizionamento. Un saluto!
Ok aspetto qualche giorno e vediamo dove si stabilizza e se si stabilizza.. Grazie
Ciao Andrea,
Ho un problema con la scansione del robots.txt di GWM sui banners dei miei inserzionisti(tutti diversi) che risultano bloccati. Posso escluderli dal crawl inserendo un codice Disallow? Se sì, potresti dirmi come dovrei scriverlo?
Grazie per l’utilissimo post
Ciao Paola!
Per escluderli dal crawl puoi semplicemente mettere il link degli inserzionisti come “Nofollow”.
Come mai vuoi inserire il Disallow? In questo caso la via più diretta sarebbe quella che ti ho indicato.
Fammi sapere, e grazie del tuo commento!
tutto risolto, grazie mille a te!
salve andrea
le volevo chiedere un consiglio, se lascio il Disallow: senza toccare niente in questo caso viene scansionato tutto giusto? e consigliabile lasciarlo così oppure mettere delle limitazioni? io poco fa avevo aggiunto la stringa /wp-admin, ma dopo un po ci sono stati molti blocchi nel sitemap, forse perche avevo qualche configurazione su Yoast SEO che mi recava tale problema, le volevo chiedere se adesso lascio il Disallow: senza nessun tipo di blocco rischi qualcosa in termine di sicurezza al blog? avevo letto in giro che alcune cartelle meglio non condividere, per questo avevo modificato il file, spero di essere stato chiaro nel mio problema, grazie in anticipo e mi scusi per il msg lungo.
Ciao Luigi,
nessun problema, sono felice di risponderti ;-).
Vorrei capire se hai lasciato la stringa che avevi inserito, oppure no. Non credo che possa essere particolarmente utile per te la modifica del file sia in chiave sicurezza, sia per l’indicizzazione. Un saluto!
Ciao andrea…se aggiungo alla terza riga del robots.txt quella riga della sitemap, dovrebbe migliorare la seo del sito giusto? Grazie
Ciao Lorenzo,
se usi già un buon plugin per la SEO (come Yoast SEO), può essere ininfluente.
Grazie del tuo commento, un saluto
Ciao Pietro,
il file robots.txt va inserito nella cartella principale del tuo sito, non in una sotto cartella.
Il suo indirizzo dovrebbe quindi essere “www.ilmiosito.it/robots.txt“.
Spero di esserti stato di aiuto,
Un saluto, e continua a seguirci!
grazie, ho trovato interessante la tua lezione, non riesco però a trovare il file robots.txt “fisicamente”, cioè esploro le dir sia in ssh che in ftp e non lo trovo, però e lo chiamo sito/robots.txt invece funziona e si vede… perché questo mio interesse? Perché google mi riporta degli errori di scansione e disponibilità del nostro caro file e non si capisce il perché… è forse un file “nascosto”? Non credo perché con l’SSH io vedo tutto ed i permessi delle directory sono chiari e non può esserci nulla di “nascosto”, ed allora? Gestisco la sitemap con due plugin, il Google XML Sitemaps di Arne Brachhold, ed il WordPress SEO di Joost de Valk, ma sembra che il file robots lo scriva il primo plugin, mettendoci la propria sitemap e non la seconda. Ora, c’era quindi ridondanza e quindi ho disattivato il primo plugin, visto che il secondo gestisce anche la parte seo, e vedrò se google continuerà a lamentarsi sulla raggiungibilità del robots.txt… resta però il fatto che non si “vede” fisicamente il file…. alla ricerca del file perduto… chiamo harrison ford?
Ciao Alberto,
non credo serva scomodare Harrison Ford per trovare il file robots.txt :-).
Quali errori ti riporta Google?
Un saluto!
Ciao Alberto,
speriamo di non dover chiamare Harrison Ford..;-).
Dimmi, che errore ti segnala Google in dettaglio?
Un saluto!
Ciao, vabbeh, Indy ha ben altro da fare per fortuna… ecco che cosa mi dice il Google pensiero…
Googlebot can’t access your site
Over the last 24 hours, Googlebot encountered 21 errors while attempting to access your robots.txt. To ensure that we didn’t crawl any pages listed in that file, we postponed our crawl. Your site’s overall robots.txt error rate is 70.0%.
Ciao Alberto,
se hai disattivato il primo plugin, penso che ti convenga creare tu stesso il file robots.txt.
Fammi sapere!
eggià, ma parliamo quindi di metterlo dentro la cartella httpdocs del server, dove c’è la index.php?
Ciao Alberto,
devi inserire il file nella cartella principale del sito, quella che contiene anche wp-content/wp-admin/wp-includes, e anche il file index.php.
Un saluto!
Grazie per la guida, ho solo una domanda: ci sono directory di un sito creato con wordpress che consigliate di “oscurare” ai bot di google? Lo chiedo perche avevo letto in rete che alcune directory potrebbero contenere file duplicati che abbasserebbero il rank. Grazie ancora per il vostro lavoro e per aver accolto la mia richiesta nel pubblicare questa guida.
Ciao Giuseppe, grazie per il commento!
In materia ci sono diverse scuole di pensiero: chi consiglia di non porre alcuna limitazione e chi consiglia, invece, di limitare alcune directory. Se scegli di adottare la seconda opzione, ti consiglio una pagina del sito ufficiale WordPress dove trovi un esempio di file robots.txt https://codex.wordpress.org/Search_Engine_Optimization_for_WordPress.
Diversi esperti consigliano però di non bloccare /feed/ ; di limitare invece /wp-content/plugins 😉