I denna artikel berättar vi bland annat vad robots.txt är, hur robots.txt fungerar samt om det är viktigt att ha en robots.txt-fil eller inte.
Robots.txt är en fil som berättar hur robotar (ofta sökmotorsrobotar) får söka igenom din webbsida. Du kan själv modifiera robots.txt-filen för att således sätta upp regler som sökmotorernas robotar blir ombedda att följa. Men tänk på att direktiv i robots.txt-filen bara är rekommendationer.
Robotar (bottar) som söker igenom din webbsida kan alltså strunta i att ta hänsyn till din robots.txt-fil, men det är vanligt att sökmotorerna lyssnar på det du uppgett i filen. Skadliga robotar som har som mål att sprida virus och/eller spionprogram försöker i princip alltid söka igenom hela din webbsida, och struntar således i vad du uppgett i robots.txt-filen.
En robots.txt-fil är i regel utformad enligt nedan.
Sitemap: [URL som pekar mot sajtkartan]
User-agent: [uppge vilken bott du vill prata med]
[direktiv 1]
[direktiv 2]
[direktiv ...]
User-agent: [här uppger du en annan bott som du vill prata med ]
[direktiv 1]
[direktiv 2]
[direktiv ...]
Om du aldrig sett en robots.txt-fil tidigare blir du säkert lite fundersam, kanske till och med lite mörkrädd. Men bli inte det, vi förklarar vad allt betyder på ett enkelt sätt längre ner i artikeln.
Läs mer: Så fungerar teknisk SEO.
En user-agent, som i sin tur kan ta emot en massa direktiv, är bottar som bland annat sökmotorerna använder sig av.
Du kan prata med alla user-agents på samma gång genom att använda en asterisk (*). Då säger du till att alla user-agents ska göra det saker du ber dem om. I exemplet nedan ber du först alla user-agents att inte indexera din webbsida, medan du i det andra påståendet låter Googlebot indexera alla URL:er på din webbsida.
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /
Läs mer: Så fungerar Google
Värt att lägga märke till är att din robots.txt-fil kan inkludera instruktioner för hur många user-agents som helst. Men tänk på att du i det fallet måste uppge vad varje user-agent får göra, för det du säger att Bingbot får göra lyssnar inte Googlebot på och vice versa.
Om du är lite tankspridd och inkluderar direktiv för samma user agent flera gånger, då slås alla direktiv ihop per automatik. Så även om du råkar uppge flera olika direktiv för en user-agent på flera ställen, då gäller alla direktiv du skrivit in.
Tänk även på att user-agents bara lyssnar på det mest specifika påståendet. Om vi tar nedanstående direktiv som exempel:
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /
Ser du att vi blockerar alla user-agents via det första påståendet. Men det spelar ingen roll för Google då vi tillåter att Googlebot kommer på besök via det andra påståendet. Det andra påståendet är alltså mest specifikt, och således det påstående som Google väljer att lyssna på.
Här uppger du vilka länkar och sidor som sökmotorerna ska strunta i att undersöka. Om du exempelvis inte vill att dina blogginlägg ska indexeras utformar du din robots.txt-fil enligt nedan.
User-agent: *
Disallow: /bloggen
Värt att tänka på är att du måste uppge någonting, till exempel en URL-mapp eller ett catch all-direktiv (*) efter “Disallow:”. Om du inte gör det kommer sökmotorerna strunta i hela direktivet.
Det här direktivet använder du om du vill att sökmotorerna ska komma och indexera vissa sidor, trots att du bett dem att hålla sig borta via ett annat direktiv.
Som du ser nedan kan du se till att inga user-agents får indexera inlägg i bloggen, men att ditt superviktiga inlägg samtidigt ska få indexeras.
User-agent: *
Disallow: /bloggen
Allow: /bloggen/superviktigt-inlagg
Som vi tidigare sagt är det alltid det mest specifika direktivet som user-agents väljer att lyssna på.
Men vad händer om du strular till det?
Om du ber en user agent att både tillåta och mota bort user-agents, vad händer då egentligen?
Jo, om du skrivit nedanstående sträng i robots.txt-filen:
User-agent: *
Disallow: /bloggen/
Allow: /bloggen
Då ser du att bloggen både får sökas igenom, men samtidigt inte får sökas igenom.
Men vem vinner egentligen - allow eller disallow?
Googlebot och Bingbot säger: Det direktiv som har flest tecken vinner. I detta fall blir det alltså disallow som vinner.
Disallow: /bloggen/ (19 tecken)
Allow: /bloggen (18 tecken)
Men vad händer om direktiven är exakt lika långa?
Disallow: /bloggen/ (19 tecken)
Allow: /bloggen (19 tecken)
Googlebot och Bingbot säger i detta fall: Allow vinner då det är det direktiv som påverkar webbsidan i minst omfattning.
Alla andra sökmotorer säger i sin tur: Disallow vinner då det är det första direktivet som nämns.
Läs mer: Viktiga SEO-tips som alla har nytta av.
Använd det här direktivet om du vill berätta för sökmotorerna var din sitemap (sajtkarta) finns. På sajtkartan finns det instruktioner om vilka artiklar och inlägg du publicerat, så att sökmotorer kan indexera dem på ett mer strukturerat sätt.
Nedan ser du hur en robots.txt-fil ser ut som i sin tur innehåller instruktioner om var sajtkartan finns.
Sitemap: https://www.domain.com/sitemap.xml
User-agent: *
Disallow: /bloggen/
Allow: /bloggen/basta-inlagget/
Men behöver du inkludera sökvägen till din sajtkarta i robots.txt-filen?
Om du har laddat upp sajtkartan i Google Analytics, då behöver du inte inkludera sökvägen till din sajtkarta. Men allt som allt är det best practice att ladda inkludera sajtkartan i robots.txt. När du gör det berättar du för alla sökmotorer (så även tex. Bing och Ask) hur de ska indexera din sida, så som tumregel ska du alltid ta med en sökväg till sajtkartan.
Värt att tänka på är att du inte behöver uppge var din sajtkarta finns mer än en gång. Så nedanstående direktiv fungerar utmärkt.
Sitemap: https://www.doman.se/sitemap.xml
User-agent: Googlebot
Disallow: /bloggen/
Allow: /bloggen/coolt-blogginlägg/
User-agent: Bingbot
Disallow: /services/
Crawl Delay är ett direktiv som ser till att sökmotorsrobotarna väntar ett visst antal sekunder innan de indexerar en ny webbsida på sajten.
Det finns ingen anledning att uppge crawl-delay som direktiv. Dels för att Google inte stödjer det, och dels för att sökmotorsrobotarna vill kunna söka igenom din webbsida snabbast möjligt.
Bing och Yandex är de enda två sökmotorerna med bottar som tar hänsyn till Crawl-delay-direktivet, som i sin tur är ett helt onödigt direktiv.
Exempel på crawl-delay via robots.txt
User-agent: Bingbot
Crawl-delay: 3
Nofollow fungerar inte tillsammans med Google sedan 1 september 2019. Om du vill avfölja länkar är det därför en bättre idé att använda robots meta tag eller x‑robots header i stället. Du kan även sätta nofollow-attribut (rel=“nofollow”) på länkar i enskilda artiklar som du inte vill att sökmotorerna ska följa.
Innan kunde man alltså använda detta direktiv:
User-agent: Googlebot
Nofollow: /bloggen/
För att Googles sökmotorrobot skulle strunta i att indexera artiklar i bloggen. Men som vi nämnt ovan fungerar inte det längre.
Idag måste du alltså använda robots meta tag eller x‑robots header för att be sökmotorerna strunta i att söka igenom många länkar eller delsidor på din webbsida på en och samma gång.
Det är tveksamt om Google någon gång gett stöd för direktivet noindex, men 1 september 2019 blev det i alla fall klart att Google inte fungerar tillsammans med noindex.
Ett vanligt noindex-direktiv kunde se ut enligt nedan:
User-agent: Googlebot
Nofollow: /bloggen/
Men numera ska du alltså i stället använda robots meta tag eller x‑robots header.
I regel behöver du inte ha en robots.txt-fil, i synnerhet om du bara har en mindre webbsida. Men det skadar samtidigt inte att ha en robots.txt-fil, för så länge den är korrekt formulerad kan du bland annat:
Värt att notera är att inte alla sökmotorer väljer att lyssna på de direktiv du uppger i din robots.txt-fil.
Du hittar din robots.txt-fil genom att skriva in nedanstående URL i din webbläsare:
dinwebbsida.se/robots.txt.
Läs mer: Så skapar du SEO-vänliga URL:er.
Om du använder dig av WordPress skapar du lättast en robots.txt-fil genom att installera ett sökmotorsplugin såsom Yoast SEO eller Rank Math. Men om du inte använder WordPress är verktyg såsom SEOBooks Robots.txt generator en bra resurs för att skapa en robots.txt-fil.
# Jag gillar inte Bing, så de ska inte få indexera min sajt.
User-agent: Bingbot
Disallow: /
User-agent: *
Disallow:
User-agent: *
Disallow: /
User-agent: *
Disallow: /mapp/
User-agent: *
Disallow: /basta-onlinkursen.pdf
User-agent: *
Disallow: /*.pdf$
User-agent: AhrefsBot
Disallow: /
Läs mer: Så blockerar du Ahrefs-botten
Din robots.txt-fil kan vara hur liten som helst, men den ska samtidigt inte vara större än ungefär 500 kb.
Du använder dig av ett SEO-verktyg såsom Yoast eller Rank Math, som båda erbjuder funktioner som låter dig redigera din robots.txt-fil på ett enkelt sätt.