2024-08-15
https://vercel.com/blog/how-google-handles-javascript-throughout-the-indexing-process
なかなか古い通説が消えないので、Vercel がこういう検証結果を公開してくれるのは助かる。
ざっくりまとめると、現在では JavaScript を使うことによるレンダリングのペナルティはおそらく無いが、静的ページ同様に Core Web Vitals などは当然考慮する必要がある、という感じかな。
以下 "Implications" の原文と DeepL 翻訳結果。
JavaScript compatibility: Google can effectively render and index JavaScript content, including complex SPAs, dynamically loaded content, and streamed content.
JavaScriptの互換性:Googleは、複雑なSPA、動的にロードされるコンテンツ、ストリームコンテンツを含むJavaScriptコンテンツを効果的にレンダリングし、インデックスすることができます。Rendering parity: There's no fundamental difference in how Google processes JavaScript-heavy pages compared to static HTML pages. All pages are rendered.
レンダリングの公平性:JavaScriptを多用したページと静的なHTMLページとでは、Googleの処理方法に根本的な違いはありません。すべてのページがレンダリングされます。Rendering queue reality: While a rendering queue exists, its impact is less significant than previously thought. Most pages are rendered within minutes, not days or weeks.
レンダリング待ち行列の現実:レンダリング待ち行列は存在するが、その影響は以前考えられていたよりも小さい。ほとんどのページは数日や数週間ではなく、数分以内にレンダリングされる。Page discovery: JavaScript-heavy sites, including SPAs, are not inherently disadvantaged in page discovery by Google.
ページ発見:SPAを含むJavaScriptを多用するサイトは、Googleによるページ発見において本質的に不利ではない。Content timing: When certain elements (like noindex tags) are added to the page is crucial, as Google may not process client-side changes.
コンテンツのタイミング:特定の要素(noindexタグなど)がページに追加されるタイミングは、Googleがクライアントサイドの変更を処理しない可能性があるため、非常に重要である。Link value assessment: Google differentiates between link discovery and link value assessment. The latter occurs after full-page rendering.
リンク価値の評価:Googleはリンク発見とリンク価値評価を区別している。後者はフルページレンダリングの後に行われる。Rendering prioritization: Google's rendering process isn't strictly first-in-first-out. Factors like content freshness and update frequency influence prioritization more than JavaScript complexity.
レンダリングの優先順位:Googleのレンダリングプロセスは厳密には先入れ先出しではありません。コンテンツの鮮度や更新頻度といった要素は、JavaScript の複雑さよりも優先順位付けに影響します。Rendering performance and crawl budget: While Google can effectively render JS-heavy pages, the process is more resource-intensive compared to static HTML, both for you and Google. For large sites (10,000+ unique and frequently changing pages), this can impact the site’s crawl budget. Optimizing application performance and minimizing unnecessary JS can help speed up the rendering process, improve crawl efficiency, and potentially allow more of your pages to be crawled, rendered, and indexed.
レンダリングのパフォーマンスとクロールの予算:GoogleはJSを多用したページを効果的にレンダリングできますが、静的なHTMLと比較すると、ユーザーにとってもGoogleにとっても、このプロセスはより多くのリソースを必要とします。大規模なサイト(10,000のユニークページと頻繁に変更されるページ)の場合、これはサイトのクロール予算に影響を与える可能性があります。アプリケーションのパフォーマンスを最適化し、不要なJSを最小限に抑えることで、レンダリングプロセスを高速化し、クロール効率を向上させ、より多くのページをクロール、レンダリング、インデックスできる可能性があります。