canonicalタグでSEOを失敗、検索順位を落とした話
- カテゴリ
- SEO
サイト内の全ページにcanonicalタグを設置したところ、一部ページが検索結果にインデックスされないという状況が10ヶ月間続いてしまいました。
検索結果にインデックスされていない状況に気づいたきっかけから、サーチコンソールを使って分析、改善までを行った一連を記載していきます。
どこかのウェブマスターの一助になることを信じて…
canonical問題箇所と改善まとめ
ページにcanonicalタグが無い、またはcanonicalタグの指定URLが該当ページのURLと異なる。
そのようなページは、検索順位を落としたり、そもそもインデックスされないこともあります。
ページ内コンテンツが他のサイトページのコピーではない限りは、canonicalタグをhead内に設置し、そのページのURLを記載しておくことが望ましいです。
canonicalタグの例
<link rel="canonical" href="https://shutouehara.com/blogs/canonical-loss/">
ちなみに、Yahooニュースなど、メディアから記事を引用しているサイトも、canonicalに自ページのURLを設置しています。
確か広告タグやオススメ関連記事、コメントなどが独自コンテンツとして付加されているから、コピーコンテンツではないという認識だったような。
WordPressなどの動的サイトにおいては、プラグインなどで自動生成できるものがあります。
また、wp関数を活用してfunctions.phpにて設置することもできます。
気づいたきっかけ
ここからは、私がcanonicalタグの設置ミスに気づいてから改善するまでの話です。
正確には、canonicalタグのエラーではなく、WordPressでcanonicalタグを動的生成する際に誤ったURLを指定していたミスです。
誤ったwp関数を記載していました。
PV数が伸び悩んでいた
あるテーマに関するページ群(およそ1,000ページほど)のPV数を、半年に一度レポートしています。
そのPV数が、前年までと比べて伸び率が低いことを確認しました。
弊サイトではアナリティクスタグ二重設置を修正していたり、サイトのリニューアルなどがあり、この変化をあまり注視していませんでした。
ただ、10年以上続いているテーマであり、これまでと比べて芳しくない点が気になっていました。
GoogleアナリティクスとGoogleサーチコンソールで分析
サイトの状況を分析するうえで欠かせないGoogleアナリティクス。
PV数、どのページが読まれている、セッションあたりのPV、滞在時間など調べてみました。
Googleアナリティクスで確認すると
まずはPV数の推移から。
上記にもある通り、大きな減少などは無いが、伸び率が芳しくない。
ページ別で確認しても、内容ごとに人気差はあれど大差無いのがほとんど。
セッションあたりのPV数や滞在時間なども前年比は大きく変わらない。
(変わらないのは問題で、改善しないといけないことは事実。。)
流入元を見てみると、Google/organicが大幅下落している。
これだ!と原因となりそうな要因を見つけて喜ぶと同時に、現状に頭を抱えます。
Googleサーチコンソールで確認すると
サーチコンソールにて確認してみると、2022/1/15を境に検索流入が地を這うようなベタ凪となっていました。
その時点で、検索流入を減少させる原因として2点を推測していました。
- Googleアルゴリズムアップデートによるもの
- 内部施策の変更
合わせてページ別で確認すると、ある事実が発覚。
アーカイブ一覧ページだけが検索流入数を落としている。
その数、サイト全体で毎月千単位の下落。
原因はcanonicalタグだった
1月前後のGoogleアルゴリズムアップデートを調べてみても、大きな変化があったわけではなさそう。
内部施策で何かしたかログを確認してみる。
すると、canonicalタグを自動生成するコードを埋め込んでいた。
サーバーを覗いてみると、1月15日にファイルを更新していることを確認。
更新したファイルを確認してみると
canonicalタグの生成は、functions.php内で記述し全ページに適用されるようにしていた。
ここでURLの取得を
get_permalink();
で取得していた。
これだとsingleやpageなどでは正常にURLを取得していたが、archiveではページ内でループ出力した最初の記事URLを取得してしまっていた。
ここを直す。
改善の方法
URL取得の関数を書き換える。
home_url() . $_SERVER['REQUEST_URI'];
これでホームページまでのパスとスラッグまでのパスが取得される。
全ページのソースをブラウザで確認し、適用されていることを確認した。
Googleサーチコンソールでインデックス登録申請
修正が済んだらサチコでインデックス送信。
2時間ぐらい後で確認すると、無事上位に表示されていました。
気ままにロハススタイルで検索
Google、仕事が早い!
Googleサーチコンソールで確認できること
実はサチコ、canonicalタグで正規化できていないページを一覧で表示してくれていました。
さらに正規化されていないことを分かりやすく教えてくれていました。
下図は、該当ページがインデックスされていない時にインデックス送信した結果です。
下部の「正規URL」にて異なるURLが指定されていました。
こちらで気づくことができます。
Googleサーチコンソールでは、他にも次のような使い方があります。
- 検索結果に表示させる
- 検索結果一覧内における自ページ順位を確認する
- 検索結果一覧にてどのようなキーワードで表示されているか、クリックされているか確認する
- 検索結果一覧にてどれだけ表示、クリックされているか確認する
- 検索結果に自サイト内のページが表示されていない問題を可視化する
- 検索結果一覧に表示させたくないページを知らせる
- 期間を比較して検索流入や表示の数値を比較する
使い方によっては、もっと活用の幅が広がります。
なお、サーチコンソールのデータ保持期間は16ヶ月となっており、それより前の数値を確認することはできません。
アナリティクスで Search Console のデータを設定する
まとめ
PV数の伸び悩みに気づいて、原因であるcanonicalタグのミスを特定して修正した話でした。
サーチコンソールで確認してみると、表示回数だけでみるとひと月あたり十数万単位で減少、クリック数は千単位で減少していました。
サイト内外の環境変動が大きく見逃していましたが、サーチコンソールなどの自動レポートでも気づくことが可能でした。今後は注視していきたい。
WordPressなど動的に生成するサイトなどは、特に気をつけたほうが良さそうです。
canonicalタグ自体は、設置することのメリットの方が大きいです。
実際、PV数が減少せず伸びていたことの一因として、canonicalタグによる正規化も影響していると考えられます。
SEO対策に積極的に活用することを推奨します。