Blog スタッフブログ

WordPressのfeedを無効化する方法|RSS配信とhead内のリンクを停止する

WordPressが自動生成するRSS・Atomフィードを無効化する方法を解説します。feed URLへのアクセス停止、head内のフィードリンク削除、実装前の注意点までコード付きで紹介します。

WordPressには、投稿やコメントの更新情報を外部へ配信する「feed(フィード)」機能が標準で用意されています。

一般的な投稿フィードは、次のURLから取得できます。

サイトドメイン/feed/

そのほかにも、WordPressはカテゴリ、タグ、投稿者、検索結果、コメントなどに対応したフィードを生成します。

サイトドメイン/comments/feed/
サイトドメイン/category/news/feed/
サイトドメイン/tag/wordpress/feed/
サイトドメイン/author/admin/feed/

今回は、WordPressのfeedをPHPで無効化する方法を紹介します。

feedを無効化するコード

使用中テーマの functions.php に、次のコードを追加します。

/**
 * WordPressのfeedを無効化する
 */
remove_action('do_feed_rdf', 'do_feed_rdf');
remove_action('do_feed_rss', 'do_feed_rss');
remove_action('do_feed_rss2', 'do_feed_rss2');
remove_action('do_feed_atom', 'do_feed_atom');


/**
 * head内に出力されるfeedリンクを削除する
 */
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

feedを停止するとRSSリーダーや外部サービスとの連携も利用できなくなるため、事前の利用状況を確認は重要です。