ワードプレスで制作したウェブサイトで、お知らせやブログなどを利用していない場合。
RSSフィードの配信が不要の場合は機能を無効化しましょう。

RSSフィードの配信を停止する

テーマのfunctions.phpに以下のコードを記述します。

// RSSフィード配信を停止
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');

これでRSSフィード用のURLにアクセスしてもデータが表示されなくなります。

RSSフィードのURLを確認

RSSフィードのURLをウェブページ上で確認したい場合はテーマファイルの任意の場所に以下のコードを記述します。

<ul>
	<li><a href="<?php bloginfo('rdf_url'); ?>"><?php bloginfo('rdf_url'); ?></a></li>
	<li><a href="<?php bloginfo('rss_url'); ?>"><?php bloginfo('rss_url'); ?></a></li>
	<li><a href="<?php bloginfo('rss2_url'); ?>"><?php bloginfo('rss2_url'); ?></a></li>
	<li><a href="<?php bloginfo('atom_url'); ?>"><?php bloginfo('atom_url'); ?></a></li>
</ul>

上記の各リンクからRSSフィードが無効になっているかを確認できます。

head内のフィードリンクを非表示にする

上に挙げたfunctions.phpの設定でRSSフィードの配信は停止されますが、<head>〜</head>タグ内にはRSSフィードへのリンクタグが挿入されています。

<link rel="alternate" type="application/rss+xml" href="https://example.com/feed">
<link rel="alternate" type="application/rss+xml" title="サンプル » コメントフィード" href="https://example.com/comments/feed/">

もし上記のようなコードが出力されていたら、追加でfunctions.phpに次のコードを記述しましょう。

// RSSフィードのリンクを除去
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

確実に404エラーを返すようにする

ここまでの処理でも充分なのですが、確実に404エラーを表示させるために、上記に加えて「.htaccess」に下記のコードを挿入します。

# RSSフィードのリンクで404を返す
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{THE_REQUEST} feed [NC]
RewriteRule ^ - [L,R=404]
</IfModule>

これで完全にRSSフィードの配信を停止し、本来あったRSSフィードのURL自体も無効にすることができます。

最後に

以上。ワードプレスのRSSフィード配信を無効化する方法を紹介しました。

株式会社オンズではWordPressのカスタマイズ依頼を請け負っています。
運営中のウェブサイトで何かお困りのことがあるときは、弊社のお問い合せフォームからお気軽にご相談ください。