Modulul 3 · 3.3
robots.txt: ce blocați și ce nu
Modulul 3: Baza tehnică a unei pagini · Timp de citire: 13 minute
Obiectivul lecției: După această lecție puteți citi și scrie un fișier robots.txt, puteți calcula singur dacă Googlebot are voie să acceseze o adresă, puteți explica ce se întâmplă când fișierul lipsește sau nu poate fi accesat și știți de ce robots.txt nu este o măsură de securitate și nici un noindex.
Concepte cheie: robots.txt (RFC 9309), crawler, grup, User-agent, Disallow, Allow, cea mai lungă potrivire, lungime egală (câștigă Allow), * și $, Sitemap:, codul de stare al robots.txt (4xx, 5xx), 500 KiB, cache de 24 de ore, nu este securitate, nu este noindex, crawlere AI (Google-Extended, GPTBot)
Un anunț la ușa de la intrare
Un fișier robots.txt este un simplu fișier text în directorul rădăcină al site-ului dumneavoastră, mereu la aceeași adresă: https://www.example.com/robots.txt. Un crawler corect (lecția 1.2) solicită mai întâi acest fișier și citește ce părți ale site-ului nu are voie să viziteze. Este un anunț la ușa de la intrare, nu o încuietoare: Googlebot și Bingbot îl respectă, dar un robot rău intenționat citește anunțul și intră oricum.
Din 2022, protocolul este un standard oficial de internet: RFC 9309. În plus, Google descrie exact cum citește Googlebot fișierul. În această lecție folosim ambele surse.
Câteva reguli fixe:
- Fișierul se află în directorul rădăcină al hostului. Un robots.txt aflat în
/blog/robots.txtnu este citit. - Este valabil doar pentru acel host, acel protocol și acel port.
https://www.example.com/robots.txtnu este valabil pentruhttps://shop.example.com/; acesta are nevoie de propriul fișier. - Este text simplu în UTF-8.
Cum este structurat fișierul
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlFișierul este alcătuit din grupuri. Un grup începe cu una sau mai multe linii User-agent:, urmate de regulile Disallow: (nu vizitați) și Allow: (vizitați). Calea de după Disallow: este începutul unei adrese: Disallow: /zoeken blochează /zoeken, /zoeken?q=rozen și chiar /zoekenmachine, deoarece toate încep cu /zoeken.
Linia Sitemap: nu aparține niciunui grup și indică unde se află sitemap-ul dumneavoastră (lecția 3.4). Google cere o adresă completă, cu https:// și numele hostului.
Un Disallow: fără cale nu blochează nimic. Disallow: / blochează tot.
Ce grup se aplică?
Un crawler alege un singur grup: cel cu numele cel mai specific care i se potrivește. Așadar, Googlebot urmează grupul User-agent: Googlebot dacă acesta există și ignoră complet grupul *. În exemplul de mai sus, Googlebot are voie deci să intre în /winkelmand/: această regulă se află doar în grupul *. Aceasta este una dintre cele mai frecvente greșeli: cine creează un grup separat pentru Googlebot trebuie să repete acolo toate regulile care se aplică și pentru Google.
Numele nu ține cont de majuscule (googlebot = Googlebot). Dacă există două grupuri pentru același crawler, Google le combină.
Ce regulă câștigă?
În cadrul grupului, o adresă se poate potrivi cu mai multe reguli. În acest caz:
- Câștigă regula potrivită cea mai lungă (calea cea mai specifică).
- Dacă un
Allowși unDisallowau exact aceeași lungime, câștigăAllow. Google o numește "regula cea mai puțin restrictivă".
Două caractere au o semnificație specială:
| Caracter | Semnificație | Exemplu | Se potrivește | Nu se potrivește |
|---|---|---|---|---|
* | zero sau mai multe caractere oarecare | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | sfârșitul adresei | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Exemplu de calcul cu grupul * de mai sus, pentru crawlerul Bingbot (care nu are un grup propriu):
| Adresă | Reguli potrivite | Rezultat |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | nu are voie |
/zoeken/tips | Disallow: /zoeken (7 caractere) și Allow: /zoeken/tips (12) | are voie: câștigă cea mai lungă |
/zoeken?q=rozen | Disallow: /zoeken | nu are voie |
/bruidsboeketten | niciuna | are voie |
/robots.txt | (întotdeauna) | are voie: robots.txt în sine este întotdeauna permis |
Dacă fișierul lipsește sau serverul are probleme
Ce face Google depinde de codul de stare cu care serverul dumneavoastră răspunde la /robots.txt:
| Răspuns | Ce face Google |
|---|---|
| 200 (găsit) | Citește regulile |
| Redirecționare (301, 302) | Urmează cel puțin cinci pași; după aceea Google îl tratează ca 404 |
| 4xx, cum ar fi 404 sau 403 (cu excepția 429) | Ca și cum nu ar exista robots.txt: totul este permis |
| 5xx sau nicio conexiune | În primele 12 ore Google nu accesează site-ul și încearcă din nou; apoi folosește până la 30 de zile ultima versiune bună din cache. Dacă problema persistă după aceea, iar restul site-ului funcționează, Google procedează ca și cum nu ar exista robots.txt |
Un robots.txt care lipsește nu este deci o problemă: totul este permis. Un robots.txt care returnează o eroare de server este însă o problemă: Google oprește temporar accesarea site-ului. RFC 9309 este și mai strict: dacă fișierul nu poate fi accesat, un crawler trebuie să presupună că totul este interzis.
În plus:
- Google citește cel mult 500 KiB; ce urmează după aceea este ignorat.
- Google păstrează de obicei robots.txt în cache până la 24 de ore. O modificare nu are deci efect imediat. În Search Console găsiți la Setări raportul robots.txt: ce versiune a preluat Google ultima dată, cu erori și avertismente, și un buton pentru a solicita o nouă preluare.
- Google recunoaște doar
User-agent,Allow,DisallowșiSitemap. Reguli precumCrawl-delaysauNoindexsunt ignorate de Googlebot.
Ce nu face robots.txt
Nu este o măsură de securitate
Oricine poate citi fișierul dumneavoastră robots.txt, inclusiv cei rău intenționați. O regulă Disallow: /beheer-oud/ arată tocmai unde se află ceva interesant. RFC 9309 o spune chiar el: regulile nu sunt o formă de control al accesului. Protecția reală o obțineți cu o parolă sau lăsând serverul să refuze accesul, de exemplu cu .htaccess (vedeți Resurse suplimentare).
Nu este un noindex
Aceasta este cea mai importantă lecție. robots.txt controlează accesarea (crawling), nu indexarea (lecția 1.3). Google scrie textual că robots.txt nu este o metodă de a ține o pagină în afara Google. Dacă alte site-uri trimit linkuri către o adresă blocată, adresa poate apărea totuși în rezultatele căutării, doar fără descriere.
Dacă doriți să țineți o pagină în afara rezultatelor căutării, folosiți noindex (într-un <meta name="robots"> sau în antetul HTTP X-Robots-Tag) sau protejați pagina cu o parolă. Și aveți grijă la capcana clasică: dacă puneți o pagină cu noindex și pe Disallow în robots.txt, Google nu poate vizita pagina și deci nu poate citi niciodată noindex.
Nu blocați componente de care Google are nevoie
Nu blocați directoare cu foi de stil, scripturi sau imagini de care pagina dumneavoastră are nevoie pentru a se afișa corect. Google vede pagina așa cum o vede un browser; fără aceste fișiere, Google înțelege pagina mai prost.
Crawlere AI
Tot mai multe companii colectează pagini web pentru inteligența artificială. Pe unele dintre ele le puteți adresa prin robots.txt:
Google-Extendednu este un robot separat, ci un nume în robots.txt prin care indicați dacă Google poate folosi conținutul dumneavoastră pentru antrenarea modelelor Gemini și pentru grounding. Google scrie că acest lucru nu influențează includerea sau poziția dumneavoastră în Google Căutare.GPTBotde la OpenAI colectează pagini care pot fi folosite pentru antrenarea modelelor.OAI-SearchBoteste pentru funcția de căutare a ChatGPT: dacă îl blocați, site-ul dumneavoastră nu apare în răspunsurile de căutare ale ChatGPT.
User-agent: GPTBot
Disallow: /Dacă doriți acest lucru este o alegere, nu o necesitate tehnică. Dacă blocați din greșeală un robot de căutare (Googlebot, Bingbot, OAI-SearchBot), veți fi găsit mai greu acolo.
În practică: unde se află robots.txt-ul dumneavoastră?
- AI Builder de la WebOké creează automat la publicare un robots.txt cu
User-agent: *,Allow: /și o linieSitemap:. Dacă setați site-ul pe neindexare sau dacă este un demo gratuit, fișierul conțineDisallow: /. - WordPress creează un robots.txt virtual cu o trimitere la sitemap. Dacă puneți dumneavoastră un fișier
robots.txtîn directorul web, acesta are prioritate. - Un site propriu pe un pachet de găzduire: puneți
robots.txtîn directorul web (la DirectAdminpublic_html) prin File Manager sau FTP.
La alți furnizori funcționează în mod similar: fișierul trebuie să fie întotdeauna accesibil la /robots.txt pe hostul dumneavoastră.
Rezumat
- robots.txt se află la
/robots.txtpe fiecare host și le spune crawlerelor corecte ce nu au voie să viziteze. - Un crawler urmează un singur grup (numele cel mai specific, altfel
*). În cadrul grupului câștigă regula cea mai lungă; la lungime egală câștigăAllow. - 404 înseamnă "totul este permis", o eroare de server face ca Google să oprească temporar accesarea. Google citește 500 KiB și păstrează în cache până la 24 de ore.
- robots.txt nu este securitate și nici noindex. Nu blocați o pagină cu
noindexîn robots.txt. - Crawlerele AI precum
GPTBotși numeleGoogle-Extendedpot fi reglementate separat, fără consecințe pentru Google Căutare.
Test
Exercițiu
Exercițiul A3.3: Analiza fișierului dvs. robots.txt. Introduceți domeniul dumneavoastră și, în plus, trei adrese de pe propriul site (de exemplu pagina principală, o pagină de produs și coșul de cumpărături sau pagina de căutare), cu așteptarea dumneavoastră pentru fiecare adresă: are voie Googlebot să o acceseze, da sau nu? Programul preia fișierul dumneavoastră robots.txt, verifică codul de stare, dimensiunea, grupurile și linia Sitemap: și calculează pentru fiecare adresă ce are voie Googlebot conform regulilor din această lecție. Se confirmă așteptarea dumneavoastră? Nu aveți un site propriu? Folosiți www.wikipedia.org.
Resurse suplimentare
Pașii din aceste articole se aplică panourilor WebOké; la alți furnizori funcționează în mod similar.
- Manual DirectAdmin 11.1: Deschiderea File Manager: directoarele din pachetul dumneavoastră
- Blocarea fișierelor prin .htaccess, de exemplu plugin-googlemap2-proxy.php
- Manual DirectAdmin 11.4: Afișarea și editarea fișierelor ascunse precum .htaccess
- Google Search Central, Cum interpretează Google robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, Introducere în robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, Prezentare generală a crawlerelor (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, Prezentare generală a crawlerelor (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
