2019/04/27

別ブログへ記事コピーしたのでcanonicalタグとは何か調べてみました

今回はcanonicalタグについて書いてみます。

なぜ、canonicalタグかというと、一部の記事を別のブログに持っていくことにしました。対象の記事は数日はこちらのブログにも記事を残したいと思ったためです。では、canonicalタグはどういうものかを次の章から記載します。

※最終的にFC2ブログで、記事毎にcanonicalタグを記載できないとの結論に達しましたが、せっかく調べたので記載します。

canonicalタグどんなもの?

canonicalタグは、異なるURLで内容が同じ記事が複数ある場合、「優先するURLを通知する」するもので、「URLを正規化するもの」らしいです。正直これを聞いてもわからないと思います。

もう少しわかりやすくすると、ある記事をコピーして複数のブログに配置したとします。GoogleなどでWEB検索をした際、検索結果にコピーした同じ内容の記事がいっぱい並んでも困りますよね。なので、この記事はこのURLのコピー品(代替品)なので検索結果に出さなくていいですよと明記したものです。この明記する方法(タグ)がcanonicalタグです。

でも単純に考えれば、記事を作った人は同じ内容でも、検索結果にいっぱい表示されたほうが人の目につきいいと思いますよね。ですが、実際にはそうとも言えません。※次の章に書きます。

コピー記事にcanonicalタグがないとどうなる?

結果からいうと、GoogleなどのWEB検索の結果の一覧に、コピーした記事がそもそも表示されなくなったり、サイト全体の評価が下がり、コピーしていない記事も含めて、検索結果の表示順がかなり下がったりします。なので、Google検索をする人達にサイトを見てもらえなくなります。

GoogleなどのWEB検索業者では検索結果にコピー記事がいっぱい並ぶことを嫌がります。なぜならGoogleなどのWEB検索業者を使いやすくし、より良いサービスにしたいためです。 例えば、情報を知りたくて検索した人が、この記事は必要な情報がなかったと思い検索結果に戻っても、同じコピー記事が並んでいたら、そのWeb検索の検索結果は使えないと思いますよね。結果、その人は別のWEB検索を使うようになります。 なので、GoogleなどのWEB検索業者としては、コピーされた記事は不要なのです。 そして、そもそもコピー記事を配置しているサイトは良くないサイトというのもあり、サイト全体の評価を下げて検索結果の表示順位を下げたりするペナルティを与えているようです。 せっかく書いた記事がgoogleやyahooなどで検索されないと、ブログを見てもらえる機会が減ってショックですよね。

canonicalタグはどう書くの?

html内のheadタグ内に下記のような行を追加します。今回は、移動先のブログを残していきたいので、移動先のブログのURLを書くことにしました。

<link rel="canonical" href="検索結果に出したい記事のURL"/>

実際に追加してみた際のHTMLソースです。※もともとこのブログ内に記載していた私の記事で試したものです。 canonical

FC2ブログで記事単位のcanonicalタグは設定できるの?

やめたほうがよいとの結論に。。

通常のブログでは、html内のheadタグ内は、記事本文からは変更できません。通常テンプレートに記載されています。また、FC2ブログではテンプレートを編集はできるのですが、記事毎に移動先のブログのURLを設定することはできません。

その為、今回はJavaScriptを使って、画面表示後にcanonicalタグを設定するようにしてみました。が、結果としてJavaScriptでタグの設定自体はうまくいきましたが、Googleはサポートしていないようで、うまくいきませんでした。

※同じブログ内で、PCとスマホのURLが違う場合のcanonicalタグの設定は他のサイトで公開されていたので、同じブログ内であれば可能のようです。

※一旦、最大手のGoogleで確認しました。実際には正しく認識することもあるようですが、JavaScriptで変更するのは想定外とのことなのでうまくいったとしても、いつダメになるかわかりません。また、別の記事で試したところ、うまくいったものもあり、原因がわからないため、JavaScriptではやらないほうが安全です。

検証した内容

JavaScriptでhead内にcanonicalタグを追加するコードを書いたのち下記を確認しました。

  • ブラウザの開発者ツールでcanonicalタグが正しく追加されていることを確認。こちらはうまくいきました。
  • Google Search Consoleの「公開URLテスト」を実施。「ユーザーが指定した正規 URL」は「なし」のまま、「テスト済みのページ」でHTMLのソースを見るとcanonicalタグが反映されていませんでした。
  • 後日、Google Search Consoleの「クロール済みのページを表示」で確認しましたが、ある記事ではcanonicalが表示され、ある記事では表示されていませんでした。また、「クロール済みのページを表示」でcanonicalが表示されている記事でも、「ユーザーが指定した正規 URL」で正しく設定されている記事や、「なし」と表示されており、正しく設定されていな記事もありました。

今回、canonicalタグについては勉強になったのですが、無料ブログサービスなど、記事の内容しか変更できないブログサービスでは、canonicalタグは設定できないことがわかりました。ちょっと残念でした。レンタルサーバでWordpressや、MovableTypeを使用すようにすると、いろいろ自分の好きなようにできるのだろうなぁと思いました。
関連記事