[ WordPress ] 各種 RSS フィードを配信しないようにするカスタマイズ

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 へのリンクをコメントアウト

<!--<link rel="alternate" type="application/atom+xml" href="<?php bloginfo('atom_url'); ?>" title="Atom cite contents" />-->

.htaccess で Atom へのアクセスを通常フィードにリダイレクトする

RedirectPermanent /feed/atom http://example.com/feed

以上です。

ToDo

  • コメント、カテゴリ、タグとかのフィードを個別に停止できないか調べてみる。

参考にさせてもらったページ

ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。