カテゴリー
WordPress運営日誌»WP関連古記事»

canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。

WordPressで作ったサイトをSEO friendlyにするには、canonical urlの設定は必須です。今回、Twenty Twelveのheader.phpをゴリゴリカスタマイズして導入しましたのでメモ。

canonical urlとは

wordpressなどのCMS(Contents Management System)では、同じ内容のページを複数のURLで公開してしまうことがよくあります。

このような状態を放置しておくと、コピーコンテンツとみなされ、検索エンジンからペナルティーを受ける可能性が生じます。

canonical urlは、同じ内容のページを表示する複数のURLのうちどれが「正規のURL」であるかを検索エンジンに示すものです。

これによって、同じ内容のページを複数のURLで公開していても、コピーコンテンツとはみなされず、検索結果には「正規のURL」のみが表示されるようになります。

canonical urlをきちんと理解したい方には以下のページがオススメです。


いつもわかりやすい解説をありがとうございます。

canonical urlの設定方法

具体的には以下のようなlinkタグでhead要素内に記述します。

<link rel="canonical" href="「正規のURL」" />

WordPressのcanonical url

バージョン 3.4.2現在、Wordpressではwp_headによって、個別記事ページのみcanonical urlが設定されています。

その他のページでもcanonical urlを設定するには、header.phpをカスタマイズしないといけません。(プラグインでもよさそうですが、ウェブシュフはなるべくプラグインの使用は控えめにしたいです。)

カスタマイズ

まず、wp_headにcanonical urlを設定させないようにします。
function.phpに以下の1行を記述します。

remove_action('wp_head', 'rel_canonical');

そして、header.phpのhead要素内には以下の記述を書き込みます。

<?php if ( is_home() ) {
    $canonical_url=get_bloginfo('url')."/";
} 
else if (is_category())
{
    $canonical_url=get_category_link(get_query_var('cat'));
}
else if (is_page()||is_single())
{ 
    $canonical_url=get_permalink();
}
if ( $paged>= 2 || $page>= 2)
{
$canonical_url=$canonical_url.'page/'.max( $paged, $page ).'/'; 
}
?>
<link rel="canonical" href="<?php echo $canonical_url; ?>" />

これで、適切にcanonical urlが吐き出されると思います。(カテゴリー以外のアーカイブページは、あまり重視していないので無視しています。)

ご参考になりましたら幸いです。




記事作成者: 中川 勉

社会保険労務士、FP(1級ファイナンシャル・プランニング技能士)。兼業主夫で妻は公立学校教師。人生100年時代を生き抜くために、日々、勉強中です。

「canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。」への7件の返信

パーマリンクをデフォルトで運用したWordpressサイトを運用していますが、GoogleにデタラメなURLを大量にインデックスされた上、動的URLの仕様なのか、デタラメで存在しないURLなのにレスポンスコード200を返すので重複問題が発生して困っていました。
今までは重複したURLを.htaccessで都度301転送しており、いたちごっこになってしまい頭の痛い問題でしたが、これで完全に解決できたと思います。
若干コードの修正が必要でしたが、canonical指定できました。
ありがとうございました。

としちゃんさん、はじめまして。
コメント有難うございます。
お役に立てたみたいでよかったです。
今後ともよろしくお願いいたします。

WordPressのcanonicalについて調べていて、こちらの記事に辿り着きました。
やはり指定しておいた方がいいですよね。
とても参考になりました。

ケイタさん、はじめまして。コメントありがとうございます。私も、指定しておくにこしたことはないと考えています。

【メモのメモ】WordPressで作ったサイトをSEO friendlyにするには、canonical urlの設定は必須です。今回、Twenty Twelveのheader.phpをゴリゴリカスタマイズして導入しましたのでメモ http://webshufu.com/canoniの発言:

[…] メモ】WordPressで作ったサイトをSEO friendlyにするには、canonical urlの設定は必須です。今回、Twenty Twelveのheader.phpをゴリゴリカスタマイズして導入しましたのでメモ http://webshufu.com/canonical-url/ […]

さよならAll in One SEO Pack。トップページOGPも正しくしたいから | WordPressブログ作ってみる?の発言:

[…] canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。http://webshufu.com/canonical-url/ […]

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です