Hop til indhold
SEO og digital markedsføring

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: / under User-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.

Eksempel
En webshop bruger robots.txt til at blokere crawling af filter-URL'er som ?farve=roed og ?sortering=pris, så søgemaskinerne ikke bruger crawl-kapacitet på tusindvis af næsten identiske sider.
Ofte stillede spørgsmål
Kan robots.txt forhindre en side i at dukke op i Google?
Ikke alene. Robots.txt blokerer kun crawling, ikke indeksering. En blokeret side kan stadig vises i søgeresultater uden beskrivelse, hvis andre sites linker til den. Skal siden helt undgå indeksering, bruges i stedet en noindex meta-tag.
Hvor skal robots.txt-filen placeres?
Filen skal ligge præcis på roddomænet, fx eksempel.dk/robots.txt, og kan ikke placeres i en undermappe. Hver protokol, hoststreng og port kræver i princippet sin egen robots.txt-fil.
Er reglerne i robots.txt juridisk bindende for alle crawlere?
Nej, protokollen bygger på frivillig efterlevelse. Store, anerkendte søgemaskiner følger normalt reglerne, men ondsindede bots kan vælge at ignorere dem helt.
Hvad er forskellen på disallow og allow i robots.txt?
Disallow blokerer crawling af en angivet sti, mens allow bruges til at give adgang til en specifik fil eller undermappe, selv inden for et område der ellers er blokeret med disallow.
Skal robots.txt indeholde en henvisning til sitemap?
Det er ikke et krav, men det anbefales, da en sitemap-reference kan gøre det lettere for crawlere at finde og prioritere sidens vigtigste indhold.
Når søgemaskinerne har fået styr på, hvad de må crawle, er næste skridt ofte at gøre det nemmere for dem at forstå selve indholdet på siderne — det handler næste opslag om.
Structured data (schema markup) →