Dödar JavaScript vår AI-synlighet? AI-crawler verkar missa vårt dynamiska innehåll
Diskussion i communityn om hur JavaScript påverkar AI-crawling. Riktiga erfarenheter från utvecklare och SEO-proffs som testar JavaScript-renderingens påverkan ...
Vi byggde en modern React-sajt med infinite scroll för vår blogg. Fantastisk användarupplevelse, men vårt innehåll syns inte alls i AI-svar.
Google indexerar det (efter arbete med SSR). Men AI-plattformar verkar missa det mesta av vårt innehåll.
Vår setup:
Frågor:
Någon frontend-utvecklare som har erfarenhet av detta?
Jag förklarar hur olika AI-crawlers hanterar JavaScript:
AI-crawler JavaScript-stöd:
| Crawler | JS-rendering | Scroll-simulering | Väntetid |
|---|---|---|---|
| GPTBot | Begränsad/Ingen | Nej | Minimal |
| Google-Extended | Bra (som Googlebot) | Nej | Standard |
| ClaudeBot | Begränsad | Nej | Minimal |
| PerplexityBot | Varierar | Nej | Begränsad |
| Common Crawl | Ingen | Nej | Ingen |
Kärnproblemet:
Infinite scroll kräver:
De flesta AI-crawlers misslyckas vid steg 1 eller 2.
Varför SSR inte räcker:
Din SSR levererar initiala sidan. Men infinite scroll-innehållet är inte “initialt” – det laddas vid interaktion. SSR löser inte interaktionsberoendet.
Det grundläggande problemet:
Infinite scroll är fundamentalt inkompatibelt med nuvarande AI-crawler-kapacitet. Du behöver en alternativ metod.
Rekommenderade metoder (i AI-vänlighetsordning):
Alternativ 1: Traditionell paginering (mest AI-vänlig)
/blog/page/1
/blog/page/2
/blog/page/3
Alternativ 2: Hybridmetod
<!-- Infinite scroll-sida -->
<link rel="canonical" href="/blog/page/1" />
<!-- Paginering alltid tillgänglig -->
<nav>
<a href="/blog/page/1">1</a>
<a href="/blog/page/2">2</a>
</nav>
Alternativ 3: Prerender för AI-crawlers
Varje alternativ har för- och nackdelar. Alternativ 1 är enklast och mest pålitlig för AI. Alternativ 2 behåller din UX men adderar AI-tillgänglighet.
Vi hade exakt samma problem. Så här löste vi det:
Hybridmetoden i praktiken:
// URL-struktur
/blog // Infinite scroll (standard för användare)
/blog/archive/1 // Paginering (crawler-tillgänglig)
/blog/archive/2
Viktiga implementationdetaljer:
Sitemap innehåller endast paginerade URL:er
Infinite scroll-sidan laddar samma innehåll
Interna länkar pekar på individuella artiklar
robots.txt-anvisning:
# Låt crawlers fokusera på individuella artiklar
# Inte infinite scroll-containern
Sitemap: /sitemap.xml
Resultat:
Next.js-specifik metod:
Med getStaticPaths + getStaticProps:
// pages/blog/page/[page].js
export async function getStaticPaths() {
const totalPages = await getTotalPages();
const paths = Array.from({ length: totalPages }, (_, i) => ({
params: { page: String(i + 1) }
}));
return { paths, fallback: false };
}
export async function getStaticProps({ params }) {
const posts = await getPostsForPage(params.page);
return { props: { posts, page: params.page } };
}
Fördelar:
Lägg sedan till infinite scroll som förbättring:
Detta ger dig det bästa av två världar.
Lägger till prerendering som ett alternativ:
Prerenderingstjänster för AI-crawlers:
Du kan känna igen AI-crawler user agents och servera för-renderat innehåll:
// middleware
if (isAICrawler(req.headers['user-agent'])) {
return servePrerenderedVersion(req.url);
}
AI-crawler-detektering:
const aiCrawlers = [
'GPTBot',
'ChatGPT-User',
'Google-Extended',
'ClaudeBot',
'PerplexityBot',
'anthropic-ai'
];
function isAICrawler(userAgent) {
return aiCrawlers.some(crawler =>
userAgent.includes(crawler)
);
}
Prerendering-alternativ:
Varning:
Alla AI-crawlers identifierar sig inte tydligt. Vissa kan missas. Detta är ett komplement, inte en ersättning för korrekt paginering.
Testmetodik för AI-crawler-tillgänglighet:
Manuella tester:
Inaktivera JavaScript-test:
Visa sidkälla:
curl-test:
curl -A "GPTBot/1.0" https://dinsajt.com/blog/
Automatiserade tester:
Google Search Console:
Lighthouse-audit:
Du vill se:
E-handelsvinkel:
Vi har 10 000+ produkter med “ladda fler”-funktion. Så här löste vi det:
Kategorisidstruktur:
/category/shoes # Första 24 produkter + ladda fler
/category/shoes?page=2 # Produkter 25-48
/category/shoes?page=3 # Produkter 49-72
Implementation:
Första sidan har alltid pagineringslänkar
?page=-parametrar är canonical
Sitemap inkluderar alla paginerade URL:er
Produkter har egna URL:er
Resultat:
AI-plattformar citerar våra individuella produktsidor, som de hittar genom den paginerade kategoristrukturen.
Detta har varit otroligt hjälpsamt. Här är min implementeringsplan:
Metod: Hybridpaginering
Fas 1: Lägg till paginerade rutter (vecka 1–2)
Fas 2: Uppdatera befintlig infinite scroll (vecka 3)
Fas 3: Testning och validering (vecka 4)
Teknisk implementation:
/blog → Infinite scroll (människor, canonical till archive/1)
/blog/archive/1 → Paginerad (crawlers, canonical till sig själv)
/blog/archive/2 → Paginerad (crawlers)
/blog/[slug] → Individuella artiklar (huvudinnehåll)
Viktiga principer:
Tack alla för era detaljerade tekniska råd.
Get personalized help from our team. We'll respond within 24 hours.
Spåra vilka av dina sidor som upptäcks och citeras av AI-plattformar. Identifiera crawlproblem som påverkar din synlighet.
Diskussion i communityn om hur JavaScript påverkar AI-crawling. Riktiga erfarenheter från utvecklare och SEO-proffs som testar JavaScript-renderingens påverkan ...
Diskussion i communityn om att optimera Single Page Applications för AI-sökmotorer. Riktiga lösningar för att göra JavaScript-tunga sajter synliga för ChatGPT, ...
Diskussion i communityn om JavaScript-rendering av AI-crawlers. Utvecklare delar erfarenheter med React, Next.js och andra JS-ramverk för AI-synlighet.
Cookie-samtycke
Vi använder cookies för att förbättra din surfupplevelse och analysera vår trafik. See our privacy policy.