WordPress は初期状態で、Atom や RSS など幾つかの種類のフィードを生成しますが、その Feed 生成を停止するカスタマイズ方法をご紹介します。
各種フィードの生成を停止する方法
———————————————————————-
各種フィードの生成を停止するには、functions.php に次のコードを記述します。
//==========================================================
// フィードへのリンクタグ生成を停止する
remove_action(‘wp_head’, ‘rsd_link’);
remove_action(‘wp_head’, ‘feed_links’, 2);
remove_action(‘wp_head’, ‘feed_links_extra’, 3);
//==========================================================
// フィードの生成を停止する
// RDF/RSS 1.0 ( http://example.com/feed/rdf/ )
remove_action(‘do_feed_rdf’, ‘do_feed_rdf’, 10, 1);
// RSS 0.92 ( http://example.com/feed/rss/ )
remove_action(‘do_feed_rss’, ‘do_feed_rss’, 10, 1);
// RSS 2.0 ( http://example.com/feed/ )
remove_action(‘do_feed_rss2’, ‘do_feed_rss2’, 10, 1);
// Atom ( http://example.com/feed/atom/ )
remove_action(‘do_feed_atom’, ‘do_feed_atom’, 10, 1);
automatic_feed_links(false);
//==========================================================
テーマに直接記述しているフィードへのリンクタグは消えないので、手動で削除する必要があります。
[ カスタマイズ例 ] Atom フィードを配信しないようにする
———————————————————————-
functions.php に次のコードを追加
remove_action(‘do_feed_atom’, ‘do_feed_atom’, 10, 1);
header.php にある Atom へのリンクをコメントアウト
.htaccess で Atom へのアクセスを通常フィードにリダイレクトする
RedirectPermanent /feed/atom http://example.com/feed
以上です。
ToDo
———————————————————————-
– コメント、カテゴリ、タグとかのフィードを個別に停止できないか調べてみる。
参考にさせてもらったページ
———————————————————————-
– [WordPress › フォーラム » Feed 配信をやめるプラグインを教えてください。](http://ja.forums.wordpress.org/topic/3085)
– [WordPress 2.8にしてからhead要素内に無駄な要素が増えてウザい件について : 雑記帳 : der Gegenwart](http://www.rusica.net/heft/head-element-cleaning-on-wordpress-2-8)
– [WordPress Feeds – WordPress Codex 日本語版](http://wpdocs.sourceforge.jp/WordPress_Feeds)
ありがとうございます。