Hur AI-crawlrar ser din webbplats (och vad de missar)
AI-crawlrar som GPTBot och ClaudeBot hoppar helt över JavaScript-rendering. Lär dig vad 569 miljoner förfrågningar avslöjar om hur AI-sökmotorer läser din webbplats annorlunda än Google.
Din webbplats kan vara perfekt optimerad för Google och helt osynlig för ChatGPT.
Det påståendet låter dramatiskt, men datan stödjer det. En analys från 2024 av Vercel och MERJ undersökte 569 miljoner GPTBot-förfrågningar och fann ett konsekvent mönster: GPTBot exekverar inte JavaScript. Den hämtar HTML, den hämtar JavaScript-filer, men den kör dem aldrig. Sidorna den indexerar är den råa HTML som din server returnerar, inte den fullt renderade DOM som användare ser i sina webbläsare.
Denna distinktion har alltid spelat roll för traditionella sökmotorer, men Googlebot löste det för år sedan genom att lägga till en renderingstjänst som exekverar JavaScript. För AI-crawlrar — botarna som matar innehåll till ChatGPT, Claude, Perplexity och andra AI-drivna sökverktyg — är JavaScript-renderingsgapet vidöppet. Och när AI-sökning växer från en kuriositet till en meningsfull trafikkälla, blir det gapet ett synlighetsproblem som de flesta webbplatser inte ens är medvetna om.
Det nya crawl-landskapet
Crawl-ekosystemet är inte längre bara Googlebot och Bingbot. En växande lista av AI-specifika crawlrar representerar nu en betydande andel av automatiserad trafik.
Enligt Vercel/MERJ-analysen genererar AI-crawlrar tillsammans ungefär 28 procent av Googlebots volym på Vercels nätverk, vilket motsvarar ungefär 1,3 miljarder AI-crawlerförfrågningar per månad över de webbplatser de mätte. Det är inget avrundningsfel. Det är en meningsfull andel av den totala crawl-aktiviteten, och den växer snabbt.
PerplexityBot har visat den mest dramatiska tillväxtbanan, med en rapporterad ökning på 157 000 procent i förfrågningsvolym — om än från en nästintill nollbas. Meta-ExternalAgent, crawlern som matar Metas AI-system, har också skalat snabbt. Dessa botar är inte experiment. De är indexeringsinfrastrukturen för produkter som miljontals människor använder varje dag för att hitta information.
Skiftet spelar roll eftersom dessa AI-system alltmer blir det första stället folk vänder sig till för svar. När någon frågar ChatGPT eller Perplexity en fråga om din produktkategori, sätts svaret samman från vad dessa system kunde crawla och indexera från webben. Om de inte kunde läsa ditt innehåll för att det renderats av JavaScript, finns din webbplats inte i deras träningsdata eller hämtningsindex. Dina konkurrenter som serverar statisk HTML är representerade. Du är det inte.
Vad AI-crawlrar faktiskt gör
För att förstå problemet behöver du förstå hur crawling fungerar på en mekanisk nivå, och hur AI-crawlrar skiljer sig från traditionella sökmotorbotar.
När Googlebot besöker en sida följer den en tvåfasprocess. Först hämtar den rå HTML. Sedan skickar den den HTML:en till en renderingstjänst — i princip en headless Chrome-webbläsare — som exekverar all JavaScript, väntar på att DOM:en stabiliseras och sedan indexerar den fullt renderade sidan. Det innebär att en React-applikation som renderar sin title-tagg och metabeskrivning via JavaScript på klientsidan fortfarande får dessa element indexerade av Google, eftersom Googlebot ser sidan på samma sätt som en användare gör.
AI-crawlrar hoppar helt över den andra fasen.
GPTBot hämtar HTML:en och läser det som finns i den. Enligt Vercel/MERJ-datan är 11,5 procent av GPTBots förfrågningar efter JavaScript-filer, vilket tyder på att den laddar ner dem som del av sitt resurshämtningsbeteende. Men att ladda ner JavaScript är inte detsamma som att exekvera det. JavaScript-filerna hämtas och ignoreras sedan i praktiken. Sidinnehållet som GPTBot indexerar är det som fanns i det initiala HTML-svaret.
ClaudeBot följer ett liknande mönster. Den hämtar JavaScript-filer i en högre takt — 23,84 procent av dess förfrågningar — men det finns inga bevis för att den exekverar dem. Detsamma gäller för PerplexityBot och Meta-ExternalAgent.
Vercel/MERJ-analysen testade detta systematiskt och fann att ungefär 69 procent av de AI-crawlrar de undersökte saknar JavaScript-renderingsförmåga helt. De fungerar som sökmotorer från 2010: de ser käll-HTML:en och inget annat.
JavaScript-renderingsgapet i praktiken
Vad innebär detta för en verklig webbplats? Tänk på en modern e-handelswebbplats byggd med ett JavaScript-ramverk.
Servern returnerar ett HTML-skal — ett minimalt dokument med ett rot-element och ett paket JavaScript-filer. JavaScript:et exekveras i webbläsaren, hämtar produktdata från ett API och renderar den fullständiga sidan inklusive produkttitel, beskrivning, pris, bilder, recensioner och strukturerad data. Användaren ser en komplett produktsida. Googlebot ser en komplett produktsida. GPTBot ser ett tomt skal.
Det här är inget teoretiskt kantfall. En betydande andel av webben renderar nu kritiskt innehåll via JavaScript. Single-page-applikationer byggda med React, Vue eller Angular faller ofta i denna kategori. Även traditionella serverrenderade webbplatser använder ofta JavaScript för att injicera eller modifiera metadata: ett tagghanteringssystem som sätter Open Graph-taggar efter sidladdning, ett A/B-testverktyg på klientsidan som modifierar title-taggen, eller en dynamisk strukturerad datakomponent som sätter samman JSON-LD från API-svar.
Allt innehåll eller metadata som är beroende av JavaScript-exekvering är osynligt för AI-crawlrar. Det inkluderar:
- Title-taggar som sätts eller modifieras av JavaScript på klientsidan
- Metabeskrivningar som injiceras av tagghanterare eller SPA-routrar
- Open Graph- och Twitter Card-taggar som läggs till dynamiskt
- JSON-LD-strukturerad data som sätts samman på klientsidan från API-svar
- Sidans brödtext som renderas av JavaScript-ramverk
- Navigering och interna länkar som genereras av klientsidans routing
- Kanoniska URL:er som sätts dynamiskt baserat på frågeparametrar eller användarstatus
Om något av dessa element är kritiskt för hur din sida visas i AI-drivna sökresultat, och de är beroende av JavaScript för att finnas i DOM:en, saknas de i AI-crawlarnas index.
En jämförelse av crawlrar
Alla crawlrar är inte lika. Här är hur de stora botarna jämför sig avseende JavaScript-renderingsförmåga:
Googlebot: Full JavaScript-rendering via en headless Chromium-baserad tjänst. Ser samma sida som en användare ser. Har haft denna förmåga sedan 2019 när den uppgraderades till en ständigt aktuell Chromium-renderare.
Bingbot: JavaScript-renderingsförmåga, om än historiskt mindre konsekvent än Googlebot. Microsoft har investerat i att förbättra Bingbots rendering, och den hanterar generellt moderna JavaScript-ramverk.
GPTBot (OpenAI): Ingen JavaScript-rendering. Hämtar HTML och JavaScript-filer men exekverar inte skript. Indexerar enbart rå HTML. Driver ChatGPT:s webbsökning och träningsdatapipeline.
ClaudeBot (Anthropic): Ingen JavaScript-rendering. Högre andel JavaScript-filhämtning (23,84 procent) men ingen exekvering. Matar in i Claudes webbkunskap.
PerplexityBot: Ingen JavaScript-rendering. Snabbast växande AI-crawler efter volym. Driver Perplexitys realtidssöksvar.
Meta-ExternalAgent: Ingen JavaScript-rendering. Crawlar för Metas AI-träning och funktioner.
Mönstret är tydligt: traditionella sökmotorer renderar JavaScript, AI-crawlrar gör det inte. Om din SEO-strategi är byggd kring att säkerställa att Googlebot kan läsa dina sidor, har du löst ett problem medan du lämnat ett annat vidöppet.
Varför detta spelar större roll än du tror
Den naturliga reaktionen på denna information är att säga: "Google är fortfarande den dominerande källan till organisk trafik, så länge Googlebot kan se mina sidor är AI-crawlrarna en sekundär angelägenhet."
Det var en rimlig ståndpunkt 2023. Det blir allt svårare att försvara 2026.
AI-driven sökning växer längs flera vektorer samtidigt. ChatGPT med webbsökning, Perplexity som sökmotorsersättare, Claudes webbinformerade svar och Metas AI-funktioner över sina plattformar hämtar alla från webbcrawl-data. Den kombinerade räckvidden för dessa plattformar är betydande och växande.
Ännu viktigare är att AI-sökning tenderar att komprimera resultat. När Google returnerar tio blå länkar finns det tio chanser för din webbplats att synas. När ChatGPT besvarar en fråga sammanställer den vanligtvis information från en handfull källor till ett enda svar. Om din webbplats inte är en av dessa källor för att crawlern inte kunde läsa ditt innehåll, har du noll synlighet i det svaret — inte reducerad synlighet, noll.
Den sammansättande effekten är att AI-system ofta citerar sina källor. Ett Perplexity-svar som refererar till din konkurrents produkt skapar en återkopplingsslinga: användare klickar vidare till konkurrenten, konkurrenten får engagemangssignaler, och framtida AI-svar blir ännu mer benägna att referera till konkurrenten. Webbplatsen som är osynlig för AI-crawlrar missar inte bara ett svar. Den missar hela kedjan av nedströms synlighet.
Vad AI-crawlrar inte kan se: En teknisk inventering
Låt oss bli specifika om kategorierna av innehåll och metadata som AI-crawlrar vanligtvis missar på JavaScript-beroende webbplatser.
Klientsidesrenderat sidinnehåll: Om din sidkropp renderas av ett JavaScript-ramverk och servern bara returnerar en laddningssnurra eller tom behållare, ser AI-crawlrar snurran. De ser inte dina produktbeskrivningar, artikeltext eller något annat innehåll som spelar roll för att bli citerad i AI-svar.
Dynamiskt sammansatt metadata: Många moderna webbplatser använder JavaScript för att konstruera sin metadata. En React-applikation kan använda ett bibliotek som sätter dokumenttiteln och meta-taggar baserat på aktuell route och data. Dessa taggar finns i den renderade DOM:en men inte i den initiala HTML:en. AI-crawlrar missar dem helt.
JavaScript-injicerad strukturerad data: Webbplatser som bygger sin JSON-LD-strukturerade data på klientsidan — som sätter samman den från API-svar eller state management-lager — har strukturerad data som bara existerar efter JavaScript-exekvering. Googlebot ser den. AI-crawlrar gör det inte.
Tagghanterarmodifieringar: Om ett tagghanteringssystem modifierar eller lägger till meta-taggar efter sidladdning, är dessa modifieringar osynliga för AI-crawlrar. Detta är särskilt vanligt för Open Graph-taggar, där tagghanteraren sätter bild-, titel- och beskrivningsegenskaper baserat på sidnivåvariabler.
Single-page-applikationsnavigering: SPA-routing skapar sidor som bara existerar i webbläsarens JavaScript-runtime. En URL som renderar en komplett sida i webbläsaren kan returnera bara applikationsskalet när den hämtas direkt av en crawler. Om din SPA inte implementerar server-side rendering eller statisk generering, är varje route bortom den initiala sidladdningen tom för AI-crawlrar.
Lazy-laddat innehåll: Innehåll som laddas när användaren scrollar eller interagerar — vanligt för prestandaoptimering — triggas aldrig av AI-crawlrar. Innehåll under folden, expanderbara sektioner, flikgränssnitt och oändlig scrollning är alla osynliga.
Fördelen med server-side rendering
Webbplatser som använder server-side rendering eller statisk webbplatsgenerering har en naturlig fördel i AI-crawlersynlighet. När servern returnerar fullt renderad HTML — komplett med innehåll, metadata och strukturerad data — ser varje crawler som hämtar sidan samma sak.
Det här är ingen ny insikt. SEO-communityn har rekommenderat server-side rendering i flera år, främst för Googlebots skull. Skillnaden nu är att insatserna har expanderat. Server-side rendering är inte längre bara en bästa praxis för Google. Det är ett krav för synlighet i AI-driven sökning.
För webbplatser som redan använder server-side rendering-ramverk som Next.js med SSR eller SSG är nyheterna goda: dina sidor är troligtvis redan synliga för AI-crawlrar. Innehållet finns i HTML:en som servern returnerar, och det indexeras oavsett om crawlern exekverar JavaScript.
För webbplatser som uteslutande använder klientsidesrendering är åtgärdsvägen mer komplex. Att flytta till server-side rendering är en betydande arkitekturförändring. Men det finns mellansteg som kan förbättra AI-crawlersynlighet utan en fullständig omskrivning.
Praktiska steg för att förbättra AI-crawlersynlighet
Granska din serverrenderade HTML: Hämta dina nyckelsidor med JavaScript inaktiverat och undersök vad du får. Om title-taggen, metabeskrivningen, huvudinnehållet och den strukturerade datan alla finns i den råa HTML:en, är dina sidor AI-crawlerkompatibla. Om något av dessa saknas har du ett synlighetsgap.
Implementera server-side rendering för kritisk metadata: Även om ditt sidinnehåll renderas på klientsidan, säkerställ att title-taggar, metabeskrivningar, Open Graph-taggar och kanoniska URL:er finns i det initiala HTML-svaret. De flesta JavaScript-ramverk stödjer detta genom head management-bibliotek som renderar metadata serversidan.
Flytta strukturerad data till servern: JSON-LD bör finnas i HTML:en som servern returnerar, inte sättas samman på klientsidan. Om din strukturerade data beror på API-svar, hämta den datan serversidan och bädda in JSON-LD:n i den initiala HTML:en.
Testa med AI-crawler user agents: Sätt upp övervakning som hämtar dina sidor med AI-crawler user agent-strängar och jämför resultatet med vad en webbläsare ser. Automatiserad övervakning kan jämföra dessa versioner över hela din webbplats och flagga sidor där den serverrenderade versionen saknar innehåll eller metadata som syns i den webbläsarrenderade versionen.
Granska din robots.txt: Säkerställ att du inte av misstag blockerar AI-crawlrar från sidor du vill ha indexerade. Vissa webbplatser blockerar GPTBot eller ClaudeBot helt på grund av oro för AI-träningsdataanvändning. Om du vill ha synlighet i AI-drivna sökresultat behöver du tillåta dessa crawlrar tillgång till ditt innehåll.
Implementera pre-rendering för kritiska sidor: Om en fullständig SSR-migrering inte är genomförbar, överväg att pre-rendera dina viktigaste sidor. Pre-rendering genererar statisk HTML för specifika routes vid byggtillfället, vilket gör dem tillgängliga för alla crawlrar oavsett JavaScript-förmåga.
Strategin för dubbel synlighet
Framöver behöver teknisk SEO ta hänsyn till två distinkta målgrupper: traditionella sökmotorer som renderar JavaScript och AI-crawlrar som inte gör det.
Det innebär inte att underhålla två versioner av din webbplats. Det innebär att säkerställa att de kritiska elementen — innehåll, metadata och strukturerad data — finns i den serverrenderade HTML:en samtidigt som man fortfarande levererar den förbättrade upplevelse som JavaScript möjliggör för användare och Googlebot.
Sidorna som presterar bäst hos båda målgrupperna är de som följer principen om progressiv förbättring: servern levererar en komplett, funktionell, SEO-redo sida, och JavaScript förbättrar den med interaktivitet, dynamiska innehållsuppdateringar och rikare användarupplevelser. Baslagret är tillgängligt för varje crawler. Det förbättrade lagret är en bonus för crawlrar som kan bearbeta det.
Denna approach har den extra fördelen att förbättra prestandan. Sidor som renderar meningsfullt innehåll serversidan laddas snabbare för användare, poängsätts bättre på Core Web Vitals och är mer motståndskraftiga mot nätverks- och JavaScript-fel. Att optimera för AI-crawlersynlighet och optimera för användarupplevelse är, i detta fall, samma sak.
Blickar framåt
JavaScript-renderingsgapet mellan traditionella sökmotorer och AI-crawlrar kommer sannolikt inte att stängas snabbt. Att bygga och driva en renderingstjänst i crawl-skala är dyrt och komplext. Google investerade år och betydande infrastruktur för att göra Googlebots renderare pålitlig. AI-företag är fokuserade på modellutveckling, inte crawleringenjörskonst, och ekonomin i att rendera miljarder sidor för att mata träningspipelines är inte gynnsam.
Det innebär att gapet kommer att bestå under överskådlig framtid. Webbplatser som förlitar sig på JavaScript-rendering för sitt innehåll och sin metadata kommer att förbli osynliga för AI-driven sökning i åratal, medan deras konkurrenter som serverar statisk HTML fångar den växande publiken.
Tiden att åtgärda detta är nu, medan AI-sökning fortfarande är i sin tillväxtfas och konkurrenslandskapet formas. Webbplatserna som etablerar synlighet i AI-sökresultat tidigt kommer att ha en fördel som förstärks över tid — att bli citerad i AI-svar genererar trafik, engagemangssignaler och auktoritetsignaler som gör framtida citeringar mer sannolika.
Det är därför dynamic SEO — som säkerställer att metadata och strukturerad data finns i HTML-svaret innan det når någon crawler — ger synlighet hos alla crawlers, inklusive de som aldrig exekverar JavaScript.
Dina Google-rankningar berättar halva historien. Den andra halvan är vad som händer när någon frågar en AI om din bransch och din webbplats inte finns i svaret.
Vanliga frågor
Exekverar GPTBot JavaScript när den crawlar webbplatser?
Nej. Enligt en analys av 569 miljoner GPTBot-förfrågningar genomförd av Vercel och MERJ exekverar GPTBot inte JavaScript. Den hämtar HTML-sidor och laddar ner JavaScript-filer — ungefär 11,5 procent av dess förfrågningar är efter JavaScript-resurser — men den kör inte dessa skript. Innehållet som GPTBot indexerar begränsas till det som finns i den råa HTML som servern returnerar. Allt innehåll, metadata eller strukturerad data som renderas av JavaScript efter sidladdning är osynligt för GPTBot.
Vilka AI-crawlrar kan rendera JavaScript och vilka kan det inte?
Bland de stora crawlrarna kan Googlebot och Bingbot rendera JavaScript med hjälp av headless webbläsarteknologi. Alla stora AI-specifika crawlrar — inklusive GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot och Meta-ExternalAgent — saknar JavaScript-renderingsförmåga. Tester av Vercel och MERJ visade att ungefär 69 procent av undersökta AI-crawlrar inte kan rendera JavaScript alls. Dessa AI-crawlrar läser bara den råa HTML som returneras av servern, vilket innebär att allt innehåll eller metadata som beror på JavaScript-exekvering saknas i deras index.
Hur mycket trafik genererar AI-crawlrar jämfört med Googlebot?
AI-crawlrar genererar tillsammans ungefär 28 procent av Googlebots volym, vilket motsvarar ungefär 1,3 miljarder förfrågningar per månad på Vercels nätverk baserat på Vercel/MERJ-analysen. PerplexityBot har visat den mest dramatiska tillväxttakten med en ökning på 157 000 procent i förfrågningsvolym, dock från en mycket liten startbas. Dessa siffror växer snabbt i takt med att AI-drivna sökprodukter får bredare användning. Medan Googlebot fortfarande dominerar crawl-volymen representerar AI-crawlrar en betydande och snabbväxande andel av automatiserad trafik till webbplatser.
Hur kontrollerar jag om AI-crawlrar kan se mitt webbplatsinnehåll?
Det mest direkta testet är att hämta dina sidor med JavaScript inaktiverat och undersöka den råa HTML:en. Om din title-tagg, metabeskrivning, huvudinnehåll, strukturerade data och Open Graph-taggar alla finns i det initiala HTML-svaret, kan AI-crawlrar se dem. Om något av dessa element saknas — renderas bara av JavaScript — kommer AI-crawlrar att missa dem. Du kan också använda curl eller ett verktyg som hämtar sidor utan att exekvera JavaScript och jämföra resultatet med vad du ser i en webbläsare. För webbplatsövergripande granskning kan verktyg som Dynamic SEO automatisera denna jämförelse över alla sidor och identifiera var serverrenderat innehåll skiljer sig från webbläsarrenderat innehåll.
Bör jag blockera eller tillåta AI-crawlrar som GPTBot och ClaudeBot?
Det beror på dina affärsmål. Om du vill att ditt innehåll ska visas i AI-drivna sökresultat från ChatGPT, Claude, Perplexity och liknande plattformar bör du tillåta dessa crawlrar tillgång via din robots.txt-fil. Att blockera dem innebär att ditt innehåll inte inkluderas i AI-genererade svar, vilket ger dina konkurrenter som tillåter crawling en fördel i AI-söksynlighet. Om du har farhågor kring AI-träningsdataanvändning erbjuder vissa crawlrar separata user agent-strängar för träning respektive realtidshämtning — du kan till exempel tillåta GPTBot för sökning medan du granskar OpenAI:s datapolicyer. Den strategiska övervägningen är att AI-sökning är en växande trafikkälla, och webbplatser som är osynliga för AI-crawlrar idag missar en kanal som sannolikt blir mer betydelsefull över tid.