検索エンジンにサイトの構造を知らせるSEOで重要な役割のcanonical(カノニカル)というメタタグ。記事前半はその意味と基本、そして気になるMFIでの取り扱いについて解説します。後半はWordPressでのcanonicalに特化した内容となります。以下はウェブマスターツールヘルプからの引用です。ページとは複数の類似した内容のページの中で優先されるページです。多くのサイトでは同じ商品を紹介するページなど、内容が重複するページが複数存在します。あるページでは商品一覧がアルファベット順で表記されているのに対し、別のページでは同じ商品を値段または評価の順番で記載している場合などです。ウェブサイトではユーザビリティなどの関係から、ページタイトルや内容そのものが似たページが存在することがあります。このような場合に「こちらが主たるページです」ということを明示します。http://example.com/product.php?item=&sort=alphahttp://example.com/product.php?item=&sort=price分かりやすく説明するために、元の例からURLを短くしていますが、この2つのページはURLの末尾が示すとおり、ソートする順番が異なるだけで、ほぼ同じ内容のコンテンツです。これは現在のgoogleでは重複コンテンツと認識される恐れがあります。このような場合に2のページのcanonical属性に1のURLを指定します。(逆でもOKです)これがどういう意味をもたらすかというと、まず、1がオリジナルであるということを明示します。その上で「検索結果にはこちらを表示してください」とGoogleに伝えることができます。基本的には重複コンテンツをうまくコントロールするためのメタタグともいえ、パンダアップデートのための属性のようにも思えます。使い方を間違うと重大な負の結果を招く恐れもあり、SEO観点では理解しておきたい属性です。ちなみにcanonical属性はドメインをまたいでも使用できます。サイト構造の正規化(モバイルページとPCページの紐付け)インターネットを見る環境はPCからモバイル端末に完全に移りました。多くのサイトではモバイル対応は済んでいると思いますが、モバイルでの表示の方法は大きく下記の3種類に分けられます。レスポンシブダイナミック配信PCとモバイル別の専用ページレスポンシブはひとつのソースをCSSで制御してデバイスサイズに合わせて表示します。ダイナミック配信はアクセスしてくるエージェント(端末の種類)によって、コンテンツを切り替えます。この場合はURLはひとつであり、上記のようなオリジナルページのコントロールを行わないのであれば、基本的にはcanonical属性は必要ありません。ひとつのPCとモバイルで別のページを表示するという方法はURLが異なることになります。多くの場合ではエージェントによってページを切り替えていると思いますが、検索エンジンに対してはこれだけでは不十分です。http://example.com/http://example.com/sp/検索エンジンの視点で見ると、PCとモバイルで非常によく似たページがサイト内に2つ存在することになります。この際にオリジナルページを示すために、SPからPCに向けて正規化としてcanonical属性をつけます。href="http://example.com/">※自身のURLではありません。PC側のURLを指定します。忘れてはならないのはPC版からはモバイル版に向けてalternate属性でモバイルサイトを明示することです。href="http://example.com/sp/">よく見受けるのが「スマートフォン用のサイトがあります。表示しますか」というアラートをJavascriptで表示させて、ユーザーをモバイルページへ誘導する方法です。そもそも、モバイル環境での閲覧であれば、最低化された表示がよいに決まっており、ユーザービリティ的にどうかというのもあります。それはさておき、canonicalが抜けているサイトが非常に多いです。現在のモバイル評価はPCサイトを元に行われていますが、正規化タグが抜けるとモバイル版として認識できず、著しく評価を落とす原因となります。MFIではどのように扱われる?導入を控えるMFI、いわゆるモバイルファーストインデックスでは、この評価軸が逆になります。モバイル版でランキングに対する評価を行うということです。この際のcanonical+alternate属性タグの取り扱いをどのような扱いにするか?結論からいうと、この両者が対になり存在するページについて、逆のパターンも正常に認識させるという見解をGoogleは示しています。http://example.com/http://example.com/sp/http://example.com/にcanonicalが向いていても、モバイル版であるhttp://example.com/sp/にPC版に対するalternateがあれば、http://example.com/sp/をオリジナルと認識するということです。現状で正規化ができているサイトでは変更する必要がありません。モバイル版コンテンツがPC版よりも省略しているような場合にはコンテンツの質の観点で不利益を被ってしまうでしょう。実際のところ、ポータルサイトなど、よほど、大がかりなサイトでなければ、わざわざ手間を掛けて評価の下がる情報量の少ないモバイル版を作るメリットはなくなってしまいます。多くのサイトではレスポンシブの一択でしょう。本記事ではその内容には触れませんが、ここでも正規化タグであるcanonicalは登場します。AMPページはPCページ・モバイルページの関係と同様に同じ内容を持つ別バージョンという位置づけであるためです。AMPの<head>内には元となるPC、もしくはモバイルページのURLをcanonicalとして指定します。href="https://example.com/">そして、PCページからはrel="amphtml"でAMPページを示して正規化します。href="https://example.com/?amp">WordPressのcanonical現在のWordPressではヘッダ内にrel="canonical"という形でcanonicalタグが投稿・固定ページには自動で出力されます。この際に自動で出力されるのはそのページのパーマリンク(URL)となりますが、はたしてこれで用をなすものなのでしょうか。WordPressで付与されるcanonical属性は投稿・固定ページだけです。ページのURLそのものがcanonicalとして出力されます。基本的にオリジナルのページであれば、canonical属性は必要ないわけで、そういった観点ではあまり意味をなさないように思います。canonicalが常にトップページを指すような仕様のテーマも見たことがありますが、これは論外です。分割ページはどのように指定すべき?nextpageなどでページ分割している場合は1ページ目のURLがcanonical属性として出力されるですが、これはよろしくありません。1ページ目に評価を集めるということで、一見正しいように見えますが、このようなケースでは各ページは重複コンテンツではないはずです。1ページ目のURLをcanonicalとしてしまうと、2ページ目以降の内容は検索結果に表示されないこともありえます。rel="prev"」を使うべきです。rel="prev"」のサポートを終了したとの発表が行われていたので、上記の意味はなくなってしまいました。コンテンツの評価としては影響を与えませんが、サイト構造の理解などには使っているとのことのようです。Bingでは変わらず認識しているようなので、残しておいてもよいように思います。今後、Googleではページネーションページは単独のページとして認識されます。urlをつけたい重複コンテンツ防止という意味でWordPressサイトの場合、アーカイブやカテゴリーページをインデックスさせないという方は多いようです。これはある程度、理にかなっていると思います。サイトの構成によっては個別記事ではなく、カテゴリー自体をcanonicalページ(実際にユーザーに見てもらうページ)にしてしまうという方法もあるのではないかと考えます。ケース:FAQページひとつの質問について回答をつけるというスタイルのECサイトなどでのFAQなどでは、1件ごとにある程度ボリュームのある内容であれば、それだけでコンテンツとして立派に成り立つります。通常はそう長いものではないでしょう。いった場合にはカテゴリーページに全文を表示させて、1つのコンテンツとして見せるという構成も考えられます。この場合は個別記事をインデックスさせるとボリュームを伴わない低品質なコンテンツとみなされる可能性があります。最初からFAQ自体を1つのページにしてもよいのですが、WordPressのCMSとしての側面を考えると、1つの質疑応答を1つの投稿とする方が利便性が高いように思います。このような場合に「カテゴリーページをcanonicalページに個別記事にはカテゴリーページに対してcanonical属性をつける」のはどうでしょうか?答えとしてこれは正しい使い方ではありません。canonical属性ではなく「個別記事をnoindexとする」が理にかなっていると思います。言葉の上では低品質コンテンツに重複コンテンツも含まれそうなニュアンスですが、このふたつは「似て非なるもの」うまくコントロールする必要があります。若干、話が逸れてしまいましたが、当然アーカイブなど現在のページとは違うURLをcanonical属性として明示したいケースもあります。そもそもページURLと同じであれば、canonical属性自体を明示する必要がないともいえます。その意味で常にページのURLを自動で出力するWordPressの仕様もどうなんだろう??と思ってしまいます。※canonical属性と同じく、低品質コンテンツのインデックス回避に重要なnoindexをWordPressでコントロールするには下記をご覧ください。noindexを任意のページに出力するプラグインでcanonicalを出力これまでの解説したように各ページに適切なcanonical属性を記述したいわけですが、WordPressではヘッダに含まれる情報を個別に制御するというのは少々面倒です。簡単に導入できるプラグインを使う方法を紹介します。urlもつけられます。このプラグインではアーカイブやカテゴリーページにもcanonical属性が出力されますが、このプラグイン自体、タイトルなどSEOまわりの設定項目が多く、canonicalという用途だけであれば、向いていないよう思います。URL's」というプラグインです。pageという項目が表示されます。ページとは異なるURLを任意で入力できます。この項目で入力した場合はWordPressからは出力されませんので、重複する心配ははありません。ちなみに、入力がない場合はそのページのURLが自動で出力されます。URL'sはこれと比較して、とてもシンプルなプラグインです。適切なcanonical属性をつけるというだけの目的なら、通常はこれで十分かと思います。このプラグインではアーカイブやカテゴリーページにはcanonical属性を出力できません。プラグインに頼らずcanonicalをコントロールする最後に少しハードルが高くなりますが、プラグインを使わずWordPressで任意のcanonicalタグを出力する方法を紹介します。カスタムフィールドに任意のURLを記述することでcanonicalをコントロールします。functions.phpにてデフォルトの自動出力を停止します。'rel_canonical');?>その上でヘッダテンプレート任意の箇所に下記を追加します。href="'.home_url().'/'.$canonical_url->category_nicename.'">'.PHP_EOL;}?>上記では投稿・固定ページだけではなく、実際の運用で想定される要素を組み込んでおり、出力内容は下記となります。固定ページ→カスタムフィールド:canonicalに入力があればそのURL、ない場合はページURL自体を出力します。カテゴリページ→カテゴリページURLSEOを意識した自作テーマやプラグインを使わずcanonicalを適正に出力したいという方はチャレンジしてみてください。canonicalタグは今後も重要なSEOタグ無料ブログからの移行にjQureyやJavaScriptを用いてcanonicalタグを出力させる手法を考える方もいるかと思います。Googleではクライアントサイドで実行されたcanonicalタグは無視するとしています。それだけ、重要なタグと認識しているということです。canonicalタグは誤った使い方をすると検索結果にて重大な負の結果を招きます。Googleの「ウェブマスター向け公式ブログ」でも解説されていますので、合わせて確認してみてください。→canonical属性に関する5つのよくある間違いレスポンシブでのモバイル環境が多くなってきている現状では以前よりは使用する機会が減っているかもしれません。AMPでの正規化例のようにSEO的な観点で今後も重要なタグであり続けます。その役割と使い方を理解しましょう。コメントをキャンセルメールアドレスが公開されることはありません。WordPressでサイトを立ち上げる際にSEOを意識してこれだけはやっておきたいという項目をまとめたいと思います。introductionウェブサービスの構築・集客コンサルティングをやっているR3098です。このサイトではWordPressの初級・中級ユーザーや集客に悩むウェブサイトオーナーに向けた情報を発信しています。