canonicalとalternateを使って重複コンテンツを防ぐ方法
厄介な重複ページはcanonicalとalternateで回避
重複ページが起こりやすい原因として挙げられるのが、PC用とスマホ用のURLがそれぞれ作成されているケースね。
例)
PC:●●.com/
スマホ:●●.com/sp/
アクセスしてきたデバイス(ユーザーエージェントとも呼ぶ)によって、どちらのURLを表示するかを判断させるような設計をしているサイトもあります。
それぞれのURLに設定・記述してある内容に注目して欲しいのですが、基本的にPCサイトから余計な物を省いて表示したものがスマホサイトかと思います。
サイドバー省略して〜とか グローバルナビをアコーディオンメニューして〜とか
そういった余計な物を省いて表示(もしくは隠して表示)しているということは、使用しているテキストやソースコードはほぼ同じなのでコンテンツ内容が類似していることも特徴です。
・・・この点に関してはレスポンシブでも同じですね(笑)
で、人間目線からすると、PCとスマホの画面表示が分かれていると「あ、綺麗!分かりやすい!」となりますが、Googleを始めとする検索エンジンからすると、「中身同じじゃない?重複してない?」となるんです。(考えれば当たり前のことですね)
ただ検索エンジンからクロールされる巡回システムは、あくまでロボットなので『見た目』は判断できずソースコードで判断をするしかないのです。
だから「こっちはPC用のURL、こっちはスマホ用のURLですよ!だから重複してませんよ!」って予め伝えておく必要があります。
PC用とスマホ用のURLを予め伝える方法
PC用URLへの設定方法
PC用サイトに、「同様のコンテンツを記述したスマホページがありますよ」っていう設定をします。
link rel="alternate" media="only screen and (max-width: ▼▼px)" href="ここにスマホ用URLを記述する"
スマホ用URLが「http://www.●●.com/sp/」だった場合は
となります。
スマホ用URLへの設定方法
今度はスマホ用サイトに、「同様のコンテンツを記述したPCページがありますよ」っていう設定をします。
link rel="canonical" media="only screen and (max-width: ▼▼px)" href="ここにPC用URLを記述する"
http://www.●●.com/」だった場合は
となります。
この2つの設定を行うことで、検索エンジンに「同じコンテンツを使っているけど用途が違うから重複と判断しないでくださいね!」と伝えることができます。
設定する際の注意点
canonicalとaltenateを使用した記述は、対となるURL同士を毎回設定しなければなりません。 どこかのURLに一つだけ設定しても、その他のURLには適用されないので注意してください。
<補足> アクセスしてきたユーザーエージェントが異なる表示をするURLにさらにアクセスしようとした場合、自動的に最適な表示URLへ転送するような設定も施すと良いですね!
例) PCからスマホサイトへアクセスしたら、PCサイトへ302リダイレクト設定をする。 スマホからPCサイトへアクセスしたら、スマホサイトへ302リダイレクト設定をする。
こちらの設定も合わせて行うとユーザー側も不便なく適切な画面表示をみることができるので、時間があったら設定しみてください。
【重複の原因】All in One SEO Packの『next』 と『prev』
All in One SEO Packでも重複ページが作成される可能性がある
(2017.01.23更新)
え〜?All in One SEO Packを使っていても重複ページが作られちゃうの?
>
SEOについて基本的な項目をクリアにしてくれるAll in One SEO Packですが、
重複ページが作成されてしまう原因があるんです・・・。
どんなサイトがそれにあたるか・・・ですが、
TOPページに「次のページへ」「前のページへ」という機能がそもそも存在しないサイトが該当します。企業サイトや通販サイトが具体例です・・・かね。
ソースコードを確認すると、通常TOPページは一つしか存在しないはずなのに、URLが異なるだけの全く同じ内容が自動で生成されてしまうのです。
※こんな感じのURL
犯人はこいつです!!(ドンッ
編集するのはphpなので必ずバックアップを取ってから作業に取り掛かりましょう!
■ All in One SEO Packの場合
場所:plugins > all-in-one-seo-pack > aioseop_class.php
if ( !empty( $prev ) ) $meta_string .= "\n"; if ( !empty( $next ) ) $meta_string .= "\n";
↓↓↓
/*if ( ! empty( $prev ) ) {
$meta_string .= "<link rel='prev' href='" . esc_url( $prev ) . "' />\n";
}
if ( ! empty( $next ) ) {
$meta_string .= "<link rel='next' href='" . esc_url( $next ) . "' />\n";
}*/
『排出される「next」と「prev」へ行くリンクを表示しません』ということになります。赤字で書いているようにコメントアウトすれば削除されます!
All in One SEO Packの 「next」と「prev」の具体例
サイトの構造をSEO観点から評価されるような仕組みをもっているAll in One SEO Packですが、場合によってはその重複ページが意図的に作成されてしまうのです。
それはGoogleからしても、「似たコンテンツを量産しても評価しないからね!」と判断されてしまうんです。
冒頭で触れた記述はこうなっています。
『nextページにいくなら、●●.com/page/2のURLを見てね』ということです。
あなたのサイトでも起こっていたら、クリックして別タブで表示して比較してください。
●●(あなたのドメイン).com と ●●.com(あなたのドメイン)/page/2 は、URLは確かに異なりますが内容は同一になっているはずです。
これだと重複ページだと判断されてしまうので、どちらのURLも低評価となります。
どちらのサイトにも共通のURLを指定したcanonicalタグが記述されていれば問題ありませんが、ただプラグインだけをいれても設定されていません。
なかなか順位が上がらないな〜と思っている場合
コンテンツをしっかりと作っているのに、目指している順位が上がらない・・・なんて思っている人は重複ページが落とし穴になっている可能性が!
人間が見るページは素晴らしいほどに作り込まれていても、Googleはそれが意図していない重複ページであっても重複とみなしてしまうこともありますし、All in One SEO Packを使用していなくても重複ページは疑ってみてください。
特に、●●.com/sp のようにスマホページを別のファイルで管理していたりすると起こりやすい現象です。
重複ページの何が問題なのか
昨今、WordpressはメジャーなCMSとなりましたね。
企業だけではなく、一般のブロガーをはじめ中小企業でもWordpressの導入はスタンダード化しています。
更新がしやすい!いろんなプラグインがある!っていう人には打って付けですからね。 個人的にはそれと対を成す「concrete5」も良いと思いますけど。
http://concrete5-japan.org/
特にSEOをあまり深くまで知らない人にとっては強力な助っ人プラグイン『All in One SEO Pack』ですが、使用したいサイトの全てに完璧に網羅はできません。
多くのサイトが1日に作成されるなかで、ミラーサイト・ミラーページと呼ばれるものが偶発(もしくは意図)的に存在してしまう可能性があります。
横文字を使うと伝わりにくい?ので、一言で言うならば重複サイト・重複ページのことです。
つまりはパクりサイト パクりページ
これなら分かるでしょうか(笑)
某国が日本のアニメのキャラクターをパクっても「いやこれは偶然似ているだけですよ」と言っているのと似ています。
いやいやいや、明らかにパクったでしょ!!!と同じようなものです。
これがサイトベース、ページベースで検索エンジン(もはやGoogle先生)から評価を受けにくくなってしまうんですね。
その場合にはcanonical と alternate を設定するなどして個別化していきましょう!