WordPressを利用していれば、たいていの利用環境で自動入力される
ただWordPressを使わず、1から自分のホームページを構築していると、うっかり入力を忘れてしまったり、指定方法を間違ってしまったり、検索結果にも悪影響を及ぼしかねないのがcaonnicalタグです。
以前もジャム君が使っているエックスサーバーと、以前使っていたさくらインターネットのサーバーで、WordPressと静的サイトの問題を取り上げたことがありました。
単なるうっかりミスだったのですが、ただのうっかりミスでさえ、canonicalタグは検索結果に大きく影響を及ぼしてしまう可能性があります。
静的サイトを作る方はとくに、失敗しない設定方法を学んでみませんか。
canonicalタグとは
[www.example.com]ドメインで運営しているサイトの場合、「トップページ」は基本的に以下のように設定します。
トップページがhttpでもhttpsでもアクセスできる場合や、index.htmlの有無がある場合などは、.htaccessファイルを使っていずれかのURLに統一することが大切です。
たとえばこのサイトの場合、トップページにアクセスするときには、「index.html」なんてつける必要がありませんし、つけてアクセスすると別ページとして404エラーが出てしまいます。
またhttpでアクセスしてきても、.htaccessの記述によって強制的にhttpsに置換されるため、トップページのcanonicalには1つのURLを指定すれば問題ないよう設計されています。
canonicalタグを2つ以上設置すると
.htaccessなんてよくわからないし、設定変更も面倒だし、「canonicalタグで2つ以上URL指定すればいいんじゃないの?」という疑問を抱く方もいるでしょう。
そんなcanonicalタグの使い方はだめ、失敗例です。
『1つのページには1つのcanonicalタグまで』と定められており、2つ以上設置してしまった場合には、検索エンジンが使うbotが設定を無視してしまいます。
せっかく設定したのに意味がなくなってしまいますので、1ページに2つ以上canonicalタグが設置されていないか、いま一度確認してみるべきです。
canonicalタグは確実に動作するとは限らない
検索エンジン用のbotがcanonicalタグが書かれたページを訪れたとしても、確実にcanonicalタグどおり動作するとは限りません。
トップページAとBがあった場合にトップページAへcanonicalタグを向けていても、検索エンジンが「トップページBを表示すべき」と考えたのであれば、検索エンジンに表示されるのはトップページBになります。
PageRankが分散してしまう原因にもなり得ますので、失敗例も参考に、正しくcanonicalタグの設置と.htaccessの処理をさせることが大切です。
絶対パスと相対パス
ホームページを作る上で、「絶対パス」と「相対パス」での記述を行うシーンが存在します。
総略のできる「相対パス」で書いたほうがHTMLの総容量にわずかながら有利であるため、相対パスを使うシーンも多いのですが、canonicalタグの場合には「絶対パス」を使わねばなりません。
要するに、[http://~/https://~]などと、一切省略せずに記載する必要があります。
絶対パスでなく相対パスで記述してしまった場合も、2つ以上canonicalタグを設置したとき同様、検索エンジンのbotに無視されてしまいますので注意が必要です。
ただし条件によっては、検索結果が本来より悪くなる可能性があります。
canonicalタグを使うべきサイト
このサイトはURLの正規化もなされており、かつ完全レスポンシブに対応しているため、実際にはcanonicalタグを必要としていないサイトとも言えます。
ただいつ仕様が変わるかわかりませんし、記述があることによるデメリットも1KBにも満たないため、あえて消すような処理はしていません。
WordPressで作っているサイトですので、わざわざ消すのも面倒というのもあります。
静的サイトを作る方の場合は自由度が増しますので、ほんの数十バイトでも容量を削減したいのであれば、あえてcanonicalタグを使わない選択肢もありです。
しかしながら、次のようなサイトは必ずcanonicalタグを使わないと、検索結果に悪影響を及ぼす可能性があるため注意が必要です。
URLの正規化が済んでいない
.htaccessやサイト内のリンクにより、URLの正規化が済んでいない場合、複数のURLで同じページにアクセスできてしまうため「コピーコンテンツ」として認識される恐れがあり、canonicalタグを必要とします。
たとえば
- www.example.com
- www.example.com/index.html
どちらのURLでも同じトップページにアクセスが可能な場合、どちらか一方の「絶対パス」をcanonicalタグに指定します。
わざわざ.htaccessを弄る必要も、サイト内のリンクを弄る必要もない、もっとも簡単な方法と言えるでしょう。
(作業するページ数にもよりますけれども)
また「wwwの有無」や「スマホ表示でのサブドメイン利用」などでURLが異なる場合も、「トップページはトップページ」で『表示している・読んでもらうことのできる中身』は同等ですので、メインに利用したいURLいずれか1つをcanonicalタグに設定します。
中身のほぼ変わらないページがある
色違いやサイズ違いの商品などをページ分けして表示している場合、「中身がほとんど同じ」であるため、こちらも「コピーコンテンツ」として認識される恐れがあります。
そのため、そのような場合には、同じタイプの商品の中からいずれか1つのページにcanonicalタグを向け、重複コンテンツとして扱われにくい対応をしていくことが大切です。
ただし無闇やたらと1つのページにcanonicalタグを向けてしまうと、本来検索結果に表示されるはずのページまで表示されなくなる恐れがあるため、基本的には同じ型番の商品の色違いやサイズ違いなど『変更点はほぼない』場合に対応が必要と考えるといいでしょう。
通常時には、それぞれのページに絶対パスでcanonicalタグを1つずつ設置して構いません。
canonicalタグのよくある失敗例
ここまでに紹介したものを踏まえてもらえれば失敗は減るはずなのですが、どのような失敗例があるのか知ることで、canonicalタグの正しい設置方法を学ぶことができるでしょう。
head内に記載がない
canonialタグは、headタグ内に記載しなければなりません。
そのため、次のようなbodyタグ内に記載しているものは失敗と言えます。
このようにheadタグ内にcanonicalタグが設置されていないと、記述していても効果を発揮しません。
LPに別ページを指定する
LP(ランディングページ)に別ページ、たとえばトップページや商品ページのURLを指定するのは誤りです。
LP自体に存在意義があり、中身こそ特定のサイトや商品を紹介しているかもしれませんが、canonicalタグはLPページ自体に設定するのが正解です。
ページで紹介している内容こそかぶっている部分もありますが、同じ商品の色違いやサイズ違いといったレベルで似ているわけでないため、別のサイトとして認識してくれます。
ただし「LPを複数」作っている場合はとくになのですが、1ページの場合でもサイト本体と中身が代わり映えなしないと重複コンテンツとして扱われてしまう場合があるため、1つのページにcanonicalタグをまとめるか、LPを1つに絞るか、第三者が見ても違うと思えるようなLP制作を心がけましょう。
canonicalで指定したページの誤り
ドメインを変更した場合やwww有無を変更した場合など、canonicalタグで指定したページが誤っていると、該当ページの存在を否定している場合も出てきます。
たとえば、今は[www.example.com]ドメインで運用中だが、昔使っていた[www.foobar.com]ドメインをcanonicalタグに設定したままだと、昔のドメインが正規のページとして認識されてしまいます。
そのため悪意を持ってまったく同じページを昔使っていたドメインで運用された場合、検索エンジンは[www.foobar.com]ドメインのページを優先して表示しかねません。
「乗っ取ってください」と言わんばかりの行為ですので、canonicalタグの指定には、細心の注意を払う必要があります。
canonicalタグの正しい設置方法まとめ
.htaccessでhttpからhttpsに強制的に変更したい場合には、以下を参考に。
.htaccessでindex.html付きのページからなしに統一したい場合には、以下を参考に。
canonicalタグを活用するためには、.htaccessの設定も欠かせませんので、設定ミスがないよう注意したいですね。
コメント