WordPressで重複コンテンツを克服するTips
先日、友人からWordPressの重複コンテンツ対策についての相談を受けました。
「Head Space 2を入れとけばいんじゃないの?」って答えたところ「もっと簡単なヤツを教えてくれ」とのことでしたので、もしかして他にも探してる人がいるんじゃないかな~ってことで、<head>~</head>に書き込むだけの簡単なTipsをここにメモしておきます。
一応言っておきますが、Head Space 2やAll in One SEO Packを使用した方が無難だし何かと便利ですよ。
<?php wp_head(); ?>を書くとheadにいろんなものが吐き出されるからイヤ、という人に最適のTipsってことになると思います。
私がまさしくソレなんですけどね。
headにrel=”canonical”を書き込む
一日に一記事しか書かない人は、日別アーカイブと個別記事の内容がカンペキに重複します。
そんな時はrel=”canonical”を記述すれば重複扱いされることを回避できます。
トップページ及び個別記事のURLを正規URLに指定するため、トップページと個別記事の<head>~</head>にのみrel=”canonical”が記述されるようにします。
トップページだけに適用したい場合は青字部分のみ使用してください。
※URL正規化タグについて、その効果はまだ明らかにはなっていません。
私もテスト段階ですので自己責任でご利用ください。
※YSTにwww有り・無しを正しく認識させたい場合には「<?php bloginfo(‘url’); ?>/」ではなくサイトのURLを直接書き込む必要がありそうです。
<?php if (is_home() && !is_paged()): ?>
<link rel="canonical" href="<?php bloginfo('url'); ?>/" />
<?php endif; ?>
<?php if(is_single()): ?>
<link rel="canonical" href="<?php the_permalink(); ?>" />
<?php endif; ?>
ちなみに、個別記事だけでなくページにもrel=”canonical”を書き込みたい時は以下。
まぁ・・・たぶんそんな人はあまりいないと思いますけど。
<?php if (is_home() && !is_paged()): ?>
<link rel="canonical" href="<?php bloginfo('url'); ?>/" />
<?php endif; ?>
<?php if(is_single() || is_page()): ?>
<link rel="canonical" href="<?php the_permalink(); ?>" />
<?php endif; ?>
2ページ目以降のタイトルを変える
トップページも2ページ目以降も全く同じタイトルだったりしますので、<title>~</title>を以下のように書き換えます。
※「Title Suffix」という記事タイトルとサイト名の順番を入れ替えるプラグインを使用
<title><?php wp_title(); ?><?php echo (isset($paged) &&$paged) ? "Page{$paged} | " : ""; ?><?php bloginfo('name'); ?></title>
これで2ページ目は【Page2 | サイト名】というタイトルになります。
追記:タイトル用コード
プラグインは不要です。
<head>~</head>のtitleタグを以下のコードに置き換えてください。
<title><?php global $page, $paged; wp_title( '|', true, 'right' ); bloginfo( 'name' ); if ( $paged >= 2 || $page >= 2 ) echo ' | ' . sprintf( __( 'Page %s' ), max( $paged, $page ) ); ?></title>
これで2ページ目は【サイト名 | Page2】というタイトルになります。
トップページだけmeta keywordとdescriptionを記述する
どれくらい効き目があるのかもわからないのに、記事ごとにキーワードとかディスクリプション書くのはめんどくさいですよね。それでもトップページくらいはmetaを入れておきましょう。
<?php if (is_home() && !is_paged()): ?> <meta name="description" content="サイトの説明" /> <meta name="keywords" content="キーワード,キーワード,キーワード" /> <?php endif; ?>
これでソコソコの対策は出来たと思います。
ではでは。
【2009.08.13追記】
表示の不具合や抜けている表記がありましたので、書き直して再投稿しました。
お盆でボ~っとしていたみたいでスミマセン・・・。
[ Daisuke ]







ウェブサイトを作るとき注意すべき6項目
HP作成の秘密兵器「コピペ用マスターHTML文書」
検索順位を改善するための思考術
URL末尾に「?img=link」、Googleが重複インデックス
結局のところ、クロスブラウザなんて自己満足なんだと思う
Googleは正確な情報を求めて賢者を探す
マイクロソフト、ついに「くたばれIE6」と言っちゃった
本物の通販サイトを制作できる会社ってどれくらいあるんだろう

管理者 : Daisuke
こんにちは。短気で頑固でお人好しの器用貧乏、Daisukeです
コメントはお気軽にどうぞ。