HTMLヘッダ中で rel=”canonical” を指定して meta タグを記述することにより、サイト内ファイルの検索エンジンへの重複登録を防ぐことができるようになった、という話を聞いて、WordPress 用 plugin を書いてみました。
元ネタはこれ。
サイト内の重複コンテンツを防ぐ新たな手段、rel=”canonical”が登場
「SEOmoz | Canonical URL Tag – The Most Important Advancement in SEO Practices Since Sitemaps」によると、Google、Yahoo!、Live(Microsoft)の3社から「ページの標準URLを定義」して「サイト内の重複コンテンツを防止する」ための新たな手法が発表されたようです。
この rel=”canonical” によって、めんどくさい RewriteRule などを定義することなく、検索エンジンに対して望ましいURLを伝えることができます。
その方法とは、ページの head タグ内に次のような link タグを記述するという簡単なもの。
素晴らしい。しかしこれって、検索エンジンよりも Social Bookmark の方で是非とも対応して欲しいな。なんか RSS リーダから読んだとき URL に ?ref=rss とか言う馬鹿げたものをくっつけるせいでブックマークが分散してしまう、つうサイトがなんか世の中には結構あるんだけど、登録時に rel=”canonical” で正規化してもらえると嬉しい。
そういうわけで、plugin のコードですが、こんな感じ。
< ?php
/*
Plugin Name: rel canonical
Plugin URI: http://wordpress.rauru-block.org/index.php/1883
Description: print out rel="canonical" header
Author: ultraviolet
Version: 0.1
Author URI: http://friendfeed.com/raurublock/
*/
class WpRelCanonical {
function WpRelCanonical() {
add_action('wp_head', array(&$this, 'action_output_header'));
}
function action_output_header() {
if ( is_single()) {
?>
<meta rel="canonical" href="<?php the_permalink();?>" />
<?php
}
}
}
new WpRelCanonical();
?>
ほとんど中身が無いのう。まあ単にヘッダを吐くだけぢゃからな。本当は is_single だけでなく archives ページとかも正規化した方がいいと思うんだけど、やり方を思いつかんかった。
Postedit on 2009/06/18 :
はてなブックマークが rel=”canonical” に対応 の模様です。ええこっちゃ。

