JavaScript とリンクに関するよくある質問

2020 年 5 月 26 日(火曜日)

Google は、毎日たくさんの質問をウェブマスターのオフィスアワー、Webmaster Conference、ウェブマスター フォーラムTwitter で受けています。その中で多いのがリンクに関する質問で、特に JavaScript で生成するリンクに関するものが目立ちます。

先ごろ、Webmaster Conference Lightning Talks の動画シリーズに、リンクと JavaScript に関して特に多い質問への回答となる次の動画が追加されました。

この動画のライブプレミア公開における Q&A セッションでも、コミュニティからいくつか追加の質問を受けました。そのため、リンクと JavaScript に関して追加で受けた質問とそれに対する回答、そしてその他のよくある質問を以下に公開することとしました。

Googlebot は、ページの HTML を解析してリンクを探し、関連ページの URL を見つけ出してクロールします。関連ページが見つかるようにするには、ウェブマスター向けガイドラインのリンクに関する説明にあるとおり、リンクを実際の HTML リンクにする必要があります。

Googlebot はどのような URL に対応できますか?

Googlebot は、URL をリンクの href 属性から抽出し、それをキューに入れてクロールします。そのため、URL は解決可能であるか、そのまま使用できる(つまり、その URL をブラウザのアドレスバーに入力すれば機能する)必要があります。詳しくは、リンクに関するウェブマスター向けガイドラインをご覧ください。

はい。ただし、リンクがウェブマスター向けガイドラインと上で概説した基準を満たしている必要があります。

Googlebot がページをレンダリングする際には JavaScript が実行され、JavaScript により生成されたリンクも検出されます。ここで、リンクの検出は 2 回、すなわち JavaScript 実行の前と後に行われる可能性があることにご留意ください。つまり、最初のサーバー応答でリンクを返すと、Googlebot はそのリンクを少し早く検出できるということです。

Googlebot はフラグメント URL を認識しますか?

フラグメント URL(「ハッシュ URL」とも呼ばれます)は技術的には使用可能ですが、Googlebot では期待どおりに機能しない場合があります。

フラグメントは、もともとページ内のコンテンツの特定部分に移動するためのもので、その目的で使用するのであればまったく問題ありません。

ただし、同じページ内のコンテンツではなく、別のコンテンツを読み込むためにフラグメントが JavaScript で使用される場合があります。これは、フラグメントの本来の目的ではなく、Googlebot では機能しません。代わりに History API を使用する方法については、JavaScript SEO ガイドをご覧ください。

Googlebot は現在も AJAX クロール スキームを使用していますか?

AJAX クロール スキームはかなり前にサポートを終了していますので、ページ作成の前提としては使用しないでください。

こちらに関するおすすめの方法は、History API を使用して、フラグメントを使うことなく別のコンテンツを読み込める URL にウェブアプリを移行することです。

今後も Webmaster Conference Lightning Talks にご注目ください

この投稿は、Webmaster Conference Lightning Talks の最初の動画からヒントを得たものです。今後の動画についてもお見逃しないよう、YouTube チャンネルにご登録ください。また、ぜひ YouTube のプレミア公開で、各エピソードのライブチャットや Q&A セッションにご参加ください。

他の Webmaster Conference Lightning Talks をご覧になる場合は、現時点で「Google 収益化ポリシー」の動画が公開されています。チャンネルにご登録のうえ、次回の動画にもご期待ください。

また、今後の動画のプレミア公開や YouTube のコメントを通じて、ウェブマスター コミュニティにもご参加ください。