グローバルナビや大事な箇所の内部リンクにJavaScriptを使用するケースもよくあると思います。しかしながら、一方でGoogle検索クローラーがそのJavaScriptで生成されたリンクをしっかり読み取ってくれるかどうか、微妙に定かではない状況が続いていました。Google側からも「JavaScriptで生成されたリンクも読み込む準備は整っている」ような言い方がされているのを過去何度か見てきましたが、2019年の段階ではまだちょっと複雑な印象を受けました。さらに過去まで遡ると、2015年の段階で、私は次のような言い方をしていました。「JavaScriptも実際にはまだ完全にGoogle理解しているかどうか分かりませんので、取扱いにはご注意ください(最近はJavaScriptも見ているようですが、確実にGoogleに理解してもらうには、今の段階ではHTMLが良いかな…と)。」
しかしこの度、GoogleはJavaScriptで生成されたリンクもしっかりと辿る旨、情報更新して明言してくれるようになりましたので、そのご紹介です。
Googleの発表内容
英語版ではありますが、Google Search Centralのアップデート情報部分に米国現地時間11月9日付けで以下の記載がございます。
- 11月9日:JavaScriptを使用してページにクロール可能なリンクを挿入する形でも問題ないことを明記しました。
引用)Search Centralより和訳
つまり、JavaScriptを使用したリンクを設置してもクロールできるということです。そして、英語版のSearch Centralのクロール可能なリンクというドキュメント内に記載されている注意書きには以下のような文言が入っています(日本語ドキュメントには未記載)。
- なお、JavaScriptを使用してページに動的なリンクを挿入する場合も、上記マークアップの形式である限りクロール可能です。
引用)Search Centralより和訳
ここで記載されている「上記」というのはHTMLでよく記載する<a>タグの記載方法を指しており、以下の内容です。
- ✔<a href=”https://example.com”>
- ✔<a href=”/relative/path/file”>
引用)Search Centralより和訳
つまり、JavaScriptで生成したリンクであっても、上記の記載のしかたが出来ていればしっかりとリンクを辿ってくれるというものです。ちなみに、URLの記述は絶対パスかルートパスである必要があり、相対パス(../みたいに省略して記述する方法)は推奨されていません。JavaScriptならではのリンク導線の記載方法ではGoogle検索クローラーは上手く処理できないので、詳細はGoogle検索セントラルのドキュメントをご確認ください。
それにしても、これによってJavaScriptならではの視覚的品質とSEO上のGoogle検知の両方を満たせるようになったのは良いことです。これからの内部リンク設計にも安心してJavaScriptを使用できますね。