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が吐き出されると思います。(カテゴリー以外のアーカイブページは、あまり重視していないので無視しています。)
ご参考になりましたら幸いです。
「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/canonical-url/ […]
[…] canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。http://webshufu.com/canonical-url/ […]
[…] canonical urlは完璧ですか?SEO friendlyなWordPressサイトには絶対必要です。Wordpressで作ったサイトをSEO friendlyにするには、canonical urlの設定は必須です。今回、Twenty Twelveのheader.phpをゴリゴリカ […]