Contact
Sweden
Contact us
Replay

Så fungerar robots.txt

nyheter och insikter

Denna artikel publicerades ursprungligen 2013-10-31 på sajten seo.se. Artikeln har blivit uppdaterad i maj 2018.

När det kommer till sökmotoroptimering finns det en väldigt viktig fil som man bör ha koll på när det gäller sin domän, nämligen robots.txt. Ett litet fel i denna fil kan göra att din sajt faktiskt inte indexeras alls av sökmotorer. Det är helt klart viktigt att se över den och säkerställa att den fungerar som det är tänkt.

De flesta vet inte ens om att den finns och i vissa fall är det faktiskt så att den inte finns överhuvudtaget.

Lyckligtvis är det väldigt enkelt att titta på sin robots.txt eftersom den alltid går att hitta på samma ställe oavsett domän, nämligen:

www.dindomän.se/robots.txt

Robots.txt kan liknas vid en trafikpolis som talar om för sökmotorernas spindlar vilka delar på sajten de får besöka och vilka delar vi inte vill att de besöker. Men varför skulle vi inte vilja att sökmotorerna indexerar vissa delar av en sajt?

Ett par exempel kan vara:

  • En underkatalog som kräver att man loggar in, exempelvis /kundzon eller /varukorg
  • En katalog som innehåller dina templatefiler, exempelvis /templates
  • Om ditt CMS genererar duplicerade sidor och du vill att dessa ska ignoreras
  • För att tala om vart de kan hitta din sitemap.xml avsedd för just sökmotorer

 

Vill du veta mer?

Kontakta oss nu!

 

Vad är robots.txt?

I grund och botten är robots.txt bara en textfil som du har placerad på din webbserver så att den går att komma åt via www.dindomän.se/robots.txt och i denna fil kan du tala om för de sökmotorer som är och hälsar på vart de är välkomna på din sajt och vart de inte är välkomna (om så är fallet).

Om du har en större sajt är det inte ovanligt att Google är och hälsar på hos dig tusentals gånger varje dag och spindlarna gör detta eftersom de hela tiden vill hålla sitt index så uppdaterat som möjligt. Det första sökmotorernas spindlar letar efter när de kommer till en ny domän är just robots.txt för att kolla om det är vissa delar av din domän som de inte ska besöka.

Därmed är det viktigt att man inte har skrivit fel i denna fil eftersom minsta lilla miss här kan betyda att du istället för att säga “välkommen hit, se dig omkring” säger “stopp, gå här ifrån!”

Behöver alla sajter en robots.txt?

Har du inte en sådan fil tillgänglig på din domän kommer sökmotorerna anse att det är fritt fram att indexera allt den hittar, vilket i många fall kan vara precis det du är ute efter. Det finns även en möjlighet att blockera sökmotorerna på individuell sidnivå via metataggar om man skulle vilja det.

“När Googlebot besöker en webbplats ber vi först om tillåtelse att genomsöka den genom att försöka hämta robots.txt-filen. En webbplats utan robots.txt-fil, robots-metataggar eller ett värde för X-Robots-Tag i HTTP-huvudet genomsöks och indexeras oftast som vanligt.”

Källa: https://support.google.com/webmasters/answer/7424835?hl=sv&ref_topic=6061961#

 

Hur fungerar det?

Värt att notera här är att vissa spindlar kommer helt att ignorera din robots.txt men då pratar vi främst om spindlar som är avsedda att leta upp exempelvis e-postadresser för att kunna skicka spam. Dessa spindlar kommer aldrig bry sig om vilka regler du har satt upp, men alla de legitima spindlarna som exempelvis de från Google och Bing kommer alltid att läsa denna fil och följa de regler som du har satt upp.

Om vi börjar med ett väldigt enkelt exempel som talar om för de spindlar som hälsar på att de är välkomna in överallt på sajten ser en sådan robots.txt ut så här:

User-agent: *
Disallow:

Om det däremot skulle se ut så här i din fil säger du precis tvärtom, nämligen att sökmotorernas spindlar inte är välkomna någonstans på din sajt:

User-agent: *
Disallow: /

Lär av andra

Ett bra tips är att titta på hur andra har gjort med deras robots.txt filer. Det finns exempelvis inget som hindrar dig från att undersöka hur dina konkurrenter har gjort eller ännu bättre om du känner till en sajt som använder sig av samma CMS som dig så kan du undersöka deras. Du når den alltid via www.domän.se/robots.txt om den finns tillgänglig.

 

Ett par exempel:

 

Kontakta oss nu för att höra mer!

Kontakta oss nu!

 

Vad kan du använda i robots.txt?

Det finns en hel del direktiv du kan ge till spindlarna som besöker din sajt och vissa är vanliga än andra. Det viktiga här är att verkligen läsa igenom vad man har skrivit en extra gång så att det inte smyger in några fel som kan resultera i att du blockerar hela eller delar av din sajt som du faktiskt vill ha indexerat.

# Hash

Det kan vara så att du vet att din robots.txt kan bli stor och att flera personer kan behöva göra förändringar i den. Isåfall kan det vara en god ide att göra kommentarer i denna fil och dessa görs enklast genom att börja raden med #. Exempelvis

# Generella regler för alla spindlar
User-agent: *
Disallow:


# Särskild regel för just Bing
User-agent: bingbot
Disallow: *.pdf$

User-agent:

Det här är den rad du använder för att tala om vilken spindel (eller robot) som du pratar med.
Den vanligaste förekomsten är en som inkluderar alla spindlar och i datatermer brukar man ofta benämna alla med *, dvs så här:

User-agent: *


Vill du istället enbart ge regler till exempelvis Googles spindel som heter Googlebot ser det ut så här:

User-agent: Googlebot


Notera att Google använder sig av en hel del olika robotar för att spindla din sajt, bland annat för webb, nyheter, bilder, video, med mera.

Vill du istället prata enbart med Microsofts bot som de använder för Bing så skall du använda:

User-agent: bingbot

För att få en indikation på vilka typer av spindlar som besöker din sajt  är det enklaste att titta i serverloggarna om du har tillgång till dessa. Det är inte ovanligt att dessa finns i en katalog om du har FTP-tillgång till din domän.

Du behöver alltid inleda en regel i din robots.txt med just User-agent så att de efterföljande reglerna följs av rätt spindlar.

Allow:

Det här direktivet använder du för att tala om vilka delar av din sajt som sökmotorernas spindlar får besöka. Om du tycker att hela din sajt får besökas behöver du inte ha denna regel, men den skulle se ut så här:

User-agent: *
Allow: /

Just Allow används ofta i kombination med Disallow nedan.

Disallow:

Den här regeln talar om för spindlarna vilken eller vilka delar på din sajt som de inte ska spindla och indexera på din sajt. Vi går tillbaka till exemplet ovan där vi har en robots.txt som inte tillåter att någonting på din sajt ska indexeras:

User-agent: *
Disallow: /


De enda gångerna du bör ha detta i din robots.txt är om du bygger om din sajt och den ligger publikt (men på en annan URL än din vanliga sida). För i dessa fall vill du faktiskt inte att sökmotorerna ska indexera din utvecklingssajt då detta introducerar duplicerat innehåll som konkurrerar med din riktiga sajt.

Precis på samma sätt kan du tala om för exempelvis Baidus bot som heter Baidu Spider att den inte ska indexera bilderna du har i din bildkatalog, men den är välkommen att indexera allt annat.

User-agent: baiduspider
Disallow: /images/


Det intressanta här är att du kan använda direktiven i kombination med varandra och att specifika instruktioner upphäver de mer generella. Det gör att följande rader i robots.txt blockerar alla besök till /bilder/ men tillåter besök till /bilder/produktbilder/

User-agent: *
Disallow: /bilder/
Allow: /bilder/produktbilder/

* (wildcard)

Precis som nämns ovan betyder * allt och detta kan du använda på en del kreativa sätt i din robots.txt genom att exempelvis inte indexera din sajts interna sökfunktion.

User-agent: *
Disallow: */sok.php?*


Dessa rader innebär att så fort en sökmotorspindel hittar en länk som exempelvis www.dindomän.se/produkter/sok.php?q=kakburk kommer denna inte att indexeras. Att inte indexera sin interna sökfunktion är oftast bra ur SEO synpunkt eftersom detta är en källa till duplicerat innehåll. Om man inte använder sig av robots.txt här går det lika bra att använda sig av meta taggen robots som jag nämnde ovan.

Tecknet * kan även användas om det är så att du har en funktion på din sida som återkommer på flera ställen och du inte vill ha dessa sidor indexerade:

User-agent: *
Disallow: *privat*


Detta skulle innebära att URLer som dessa inte skulle indexeras:

* /min-privata-katalog/
* /privat/kundlista.html

$ (dollartecken)

Om du någonsin har jobbat med Regex känner du igen det här. I Regex används $ för att indikera att “inget kommer efter detta”.
Ett exempel här skulle vara om du hade en supportsektion på din sida med PDFer som du inte vill ha indexerade, men du vill att allt annat ska gå att indexera. I sådana fall skulle din robots.txt kunna se ut så här:

User-agent: *
Disallow: /support/*.pdf$


Detta innebär att alla dina sidor under /support/ kommer att indexeras hos sökmotorerna om det inte är en fil som slutar på .pdf, för i sådana fall säger detta direktiv att spindeln inte ska indexera denna fil.

Sitemap:

Det här är den enda regel som inte behöver en User-agent: eftersom den gäller alla som standard. Det spelar inte heller någon roll vart i robots.txt som du placerar denna rad.
Med hjälp av detta direktiv kan du tala om för sökmotorerna vart den dataanpassade sitemap-filen för din sajt finns och detta brukar vanligtvis se ut så här:

Sitemap: http://www.dindomän.se/sitemap.xml

 

Mindre vanliga direktiv i robots.txt

Det vi har nämnt ovan är de absolut vanligaste varianterna man brukar se i robots.txt men det finns andra direktiv man kan använda sig av också. Det är inte ofta jag ramlar över dem, men ibland händer det och vill man läsa på om dessa så rekommenderar jag An Extended Standard for Robot Exclusion, även om den kan vara väldigt teknisk.

Vi tittar ändå på de ovanligaste som jag sett med ojämna mellanrum. Värt att notera här är att dessa inte fungerar med Googlebot, som inte tar hänsyn till varken Visit-time eller Crawl-delay nedan.

Visit-time:

Den här är väldigt ovanlig men man skulle kunna säga att det är lite som att specificera öppettiderna för din sajt när det gäller sökmotorernas spindlar. Något som möjligtvis är användbart om man har väldigt begränsat med bandbredd men generellt sett finns det inte längre någon anledning att använda Visit-time.

Vill man ändå specificera mellan vilka tider som sökmotorernas spindlar är välkomna ser direktivet ut så här:

User-agent: *
Visit-time: 2300-0600

Värt att notera är att detta är baserat på UTC-tid.

Crawl-delay:

Med hjälp av Crawl-delay kan du tala om för sökmotorns spindel att de inte ska ladda hem en sida mer än var X sekund. Detta kan vara ett alternativ om du har hård belastning på din server och vill säkerställa att sökmotorerna kan hälsa på ändå om än något begränsade.

Vill du exempelvis begränsa Googlebot till att enbart hämta en sida var 8:e sekund ser det ut så här:

User-agent: Googlebot
Crawl-delay: 8


Värt att tänka på här är att många spindlar bara avsätter en viss tid (oftast kanska kort) per session de besöker din sajt, och om du begränsar den så innebär det med stor sannolikhet att inte lika många sidor kommer att indexeras. Om du har en sida som uppdateras relativt ofta är detta inte en bra idé tycker jag.

 

Google själva rekommenderar inte att man ska använda sig av Crawl-delay utan de vill hellre att man vid behov specificerar detta i Google Search Console.

 

Slutsats

Allt som oftast behöver man inte tänka på hur ens robots.txt ser ut, men det kan helt klart vara värt att kolla upp hur det ser ut. Om det är så att det är något som inte står rätt till så kan det onekligen påverka din synlighet i det organiska sökresultatet.

Har du säkerställt att inget viktigt på sin sajt är exkluderat från indexering?

Vi hoppas att denna artikel har varit hjälpsam och att det har gett dig en bättre förståelse över var robots.txt är och hur det påverkar din sajt hos sökmotorerna.

 

Vill du veta mer? Kontakta oss nu!

Kontakta oss nu!

This website uses cookies for tracking and optimization purposes. By continuing to use the website you are giving consent to cookies being used. For information on cookies and how you can disable them, please see our Privacy and Cookie statements.

Okay