Webサイトのユーザビリティーについての注意点として 「無闇に新規ウィンドウでページを開かない」 ということがありますが、Yahooにカテゴリ登録してもらうためには 「外部ドメインへのリンク」 は 「新規ウィンドウで開く」 必要があります。このYahooの基準は、気づかないうちに異なるドメインのサイトに誘導されることでのセキュリティー上の懸念から設定されていると考えられるのですが、サイト内の大量のリンクにすべてtarget=_blankを設定するのは手間がかかります。
そこで、「JQueryで外部へのリンクにtarget=_blankを指定」を作成したのですが、このままではWordpressに組み込むのが大変です。そこで、Wordpressのプラグインとしてまとめました。古い記事に掲載しているソースコードも動作しますが、はてなブックマークなどで指摘していただいた改善点などを反映しておりますので、以下のソースコードをご利用ください。
▼通常のWebサイトに組み込み用のコード
<script src="http://www.google.com/jsapi></script>
<script>
if(typeof jQuery === "undefined")google.load("jquery", "1.3.2");
</script>
<script language="JavaScript>
jQuery (document).ready( function () {
jQuery ("a[href^=http]").not("[href*="+location.hostname+"]").attr("target","_blank");
})
</script>
※4行目まではJQueryのライブラリの読み込みなので、既にJQueryを使っている場合は5行目からお使いください。
▼WordPressのプラグインのコード(下記ダウンロード版のプラグインをご利用ください。)
<?php
/*
Plugin Name: external_link_rewriter
Plugin URI: http://blog.elearning.co.jp/
Description: Modify target attributes of A-tags that link to external addresses
Author: Yoichiro Nishimura
Version: 2
Author URI: http://elearning.co.jp/
*/function external_link_rewriter() {
wp_enqueue_script(‘jquery’);
echo <<<EOT
<script language=”JavaScript”>
jQuery (document).ready( function () {
jQuery (‘a[href^=http]’).not(‘[href*=”‘+location.hostname+'”]’).attr(‘target’,’_blank’);
})
</script>
EOT;
}
add_action(‘wp_head’, ‘external_link_rewriter’);
?>
▼WordPress組み込み用のプラグイン
external_link_rewriter.zip