Robots.txt
Robots.txt er en tekstfil, der ligger i roden af et website, og som fortæller søgemaskinernes crawlere (robots eller user-agents), hvilke dele af sitet de må besøge, og hvilke de bør lade være med at gennemgå. Filen er en del af den såkaldte Robots Exclusion Protocol og bruges typisk til at pege crawlere væk fra administrationssider, interne søgeresultater, testmiljøer eller andet indhold, der ikke skal optages i søgemaskinernes indeks-arbejde.
Et konkret eksempel: En webshop kan have tusindvis af URL’er, der opstår, fordi kunder filtrerer produkter på farve, størrelse og pris. Disse filter-URL’er skaber ofte næsten identisk indhold i mange varianter. Ved at tilføje en regel i robots.txt, der blokerer for crawling af parametre som ?farve= eller ?sortering=, kan webshoppen undgå at bruge unødig crawl-kapacitet på sider uden selvstændig værdi for søgeresultaterne.
Sådan er en robots.txt-fil opbygget
Filen skal hedde robots.txt og ligge på domænets rod, fx https://eksempel.dk/robots.txt — den kan ikke placeres i en undermappe. A robots.txt file consists of one or more rules, and each rule blocks or allows access for all or a specific crawler to a specified file path on the domain or subdomain where the robots.txt file is hosted. Medmindre andet er angivet, er alle filer implicit tilladt at crawle.
Et minimalt eksempel kunne se sådan ud:
User-agent: Googlebot Disallow: /ikke-for-google/ User-agent: * Allow: / Sitemap: https://eksempel.dk/sitemap.xml
Her betyder det, at Googlebot ikke må crawle URL’er der starter med /ikke-for-google/, mens alle andre crawlere må gennemgå hele sitet, og sitemap-filen ligger på den angivne adresse.
De vigtigste direktiver
- User-agent angiver, hvilken crawler reglerne gælder for. Et asterisk (*) bruges til at ramme alle crawlere på nær enkelte specialbots, der skal navngives eksplicit.
- Disallow angiver en sti, crawleren ikke bør besøge.
- Allow bruges til at give adgang til en undermappe eller fil, selv inden for et område, der ellers er blokeret med disallow.
- Sitemap peger på placeringen af sitemap-filen, så crawlere nemmere kan finde de sider, der ønskes indekseret.
Reglerne er som udgangspunkt case-sensitive, og de fleste store søgemaskiner understøtter desuden wildcard-tegn som * og $ til at matche URL-mønstre og filendelser.
Hvad robots.txt kan – og ikke kan
Robots.txt styrer crawling, altså om en søgemaskine overhovedet henter og gennemgår en side. Det er en anden ting end indeksering, altså om siden optages i søgeresultaterne. En side, der er blokeret i robots.txt, kan stadig dukke op i Googles søgeresultater, hvis andre websites linker til den — dog typisk uden en beskrivelse, fordi crawleren ikke har fået lov at læse indholdet. Skal en side for alvor holdes ude af søgeresultaterne, bruges i stedet en meta robots-tag med noindex, eller adgangen begrænses med login eller password.
Protokollen bygger desuden på frivillig efterlevelse. De store og anerkendte søgemaskiner respekterer normalt reglerne, men ondsindede bots kan vælge at ignorere dem helt — og kan i værste fald bruge en synlig robots.txt-fil som en slags kortlægning af, hvilke mapper der findes på sitet. Robots.txt bør derfor aldrig bruges som en sikkerhedsforanstaltning for følsomt indhold.
Filen indgår i det bredere arbejde med teknisk SEO, hvor man blandt andet også bruger 301 redirect til at lede søgemaskiner og brugere videre fra flyttede URL’er, og structured data (schema markup) til at give crawlere mere præcis information om sidens indhold. Fælles for disse teknikker er, at de hjælper søgemaskinerne med at bruge deres ressourcer bedre og forstå sitet mere korrekt — en tilgang der typisk hører under det, der kaldes White Hat SEO, altså metoder der følger søgemaskinernes retningslinjer frem for at forsøge at manipulere dem.
Typiske fejl i robots.txt
Fordi filen har direkte indflydelse på, hvad søgemaskiner kan se, kan selv små fejl få store konsekvenser for et sites synlighed.
- Utilsigtet blokering af hele sitet. En regel som
Disallow: /underUser-agent: *blokerer al crawling og bruges ofte ved en fejl, når et testmiljø flyttes i produktion uden at filen opdateres. - Blokering af CSS og JavaScript. Søgemaskiner har brug for adgang til disse ressourcer for at kunne rendere og forstå siden korrekt, så de bør normalt ikke blokeres, selv hvis de ligger i en mappe der ellers er lukket for crawling.
- Forveksling af disallow og noindex. Mange antager fejlagtigt, at en disallow-regel forhindrer indeksering — det gør den ikke i sig selv.
- Modstridende regler. Uklare eller overlappende allow- og disallow-linjer for samme sti kan give uforudsigelige resultater, fordi forskellige søgemaskiner kan fortolke konflikter forskelligt.
- Forkert placering eller stavning. Ligger filen ikke præcis på roddomænet, eller er der tastefejl i stien, bliver reglerne simpelthen ignoreret.
- Manglende sitemap-reference. Det er ikke et krav, men at angive sitemap i robots.txt kan gøre det lettere for crawlere at finde sidens vigtigste indhold.
Test og vedligehold af filen
Efter en robots.txt-fil er uploadet, bør den testes, både for at bekræfte at den er offentligt tilgængelig, og for at kontrollere at syntaksen fortolkes som forventet. Google tilbyder værktøjer til at teste og rapportere om robots.txt via Search Console, og ændringer bør altid gennemgås, inden de sættes i drift på et live website, da fejl kan påvirke crawl budget og i sidste ende sidens tilstedeværelse i søgeresultaterne.