【SEO】JavaScriptでa要素無しリンクはリンク扱いされない事もある
JavaScriptでの動的なリンクについての注意点です。
JavaScriptでa要素なしリンクは注意、リンクとして扱われないことも
今のグーグルはJavaScriptを実行してレンダリングした結果をインデックスする。とはいえ、JavaScriptで動的にリンクを生成する場合には適切にリンクのa要素(~~の形)を作らなければ、グーグルにリンクだと認識してもらえないようだ。
グーグルのジョン・ミューラー氏がTwitterで説明した内容によると、
~~といったHTMLをクリックした際にJavaScriptでリンクのように動作する構成にしていても、グーグルはそれをリンクとして評価しないということだ。ユーザーがブラウザ上でその要素をクリックすれば、通常のリンクと同じようにリンク先ページへ移動する。しかしながら検索エンジン視点で見ると、通常のリンクとは異なりPageRankやアンカーテキストの情報をリンク先ページに渡すことはない。
We might spot the URLs mentioned, but we don’t treat them as links, and don’t forward any signals (anchor text, pagerank, etc.).
— John ☆.o(≧▽≦)o.☆ (@JohnMu) 2018年7月11日
SEOの観点からは、JavaScriptを使ったリンクには注意が必要だ。たとえば、次のようなリンクもグーグルはクロールしない。つまり評価対象にならない。
×<span onclick=”location.href=’http://example.com/bad-link'”>クロールしないリンク</span>
×<a onclick=”location.href=’http://example.com/bad-link'”>クロールしないリンク</a>
原則的に、リンクとして評価してもらうには、a 要素(タグ)と href 属性が必要だ。JavaScriptを使ったリンクでも、次のリンクはクロールされ評価の対象になる。○<a href=”http://example.com/” onclick=”location.href=’http://example.com/'”>クロールされるリンク</a>
SEOコンサルタントの感想
可能ならば「a href=」の静的なリンクにするのが一番ですよね。