WordPressのRSSフィード機能を無効にする ( feed機能停止 )

概要説明

WordPressはRSS機能が標準で有効になっているため無効とするためのカスタマイズ。SEOで使いたいといった用途がない限りは第三者に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');

/*----------------------------------------------------
 HTMLソースにRSSフィードの情報を出力しないようにする
----------------------------------------------------*/
remove_action('wp_head', 'feed_links',       2);
remove_action('wp_head', 'feed_links_extra', 3);

無効化対応を行いRSSフィードにアクセスするとエラー表示になる

https://サイトドメイン/feed/

ページURLの最後にfeedをつけるとRSSフィードにアクセスできます

<error>
<code>wp_die</code>
<title>
<![CDATA[ WordPress &amp;rsaquo; エラー ]]>
</title>
<message>
<![CDATA[ &lt;strong&gt;エラー:&lt;/strong&gt; これは無効なフィードテンプレートです。 ]]>
</message>
<data>
<status>404</status>
</data>
</error>

エラー表示を 404 File Not Found に変更 ( .htaccess )

.htaccess に下記のコードを挿入( WordPressの記述より上 )

.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# contact form 対策 feedbackを除外
RewriteCond %{THE_REQUEST} !feedback
# feed を対象にする
RewriteCond %{THE_REQUEST} /feed [NC]
RewriteRule ^ - [L,R=404]
</IfModule>

.htaccessの記述例

.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
# contact form 対策
RewriteCond %{THE_REQUEST} !feedback
# feed を対象にする
RewriteCond %{THE_REQUEST} /feed [NC]
RewriteRule ^ - [L,R=404]
</IfModule>

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

.htaccess設定後にブラウザからアクセス ( 404 File Not Found 表示確認 )

WordPressのRSSフィード機能を無効にする ( feed機能停止 )

RSSフィードサイトマップをプラグインで作成しているか確認

All in One SEO を使用している場合はRSSフィードサイトマップがデフォルトで有効になっています。

RSSフィードを無効化する場合はこちらの設定変更を行っておきましょう。

WordPressのRSSフィード機能を無効にする ( feed機能停止 )

テスト記事など表示されている場合も

企業様のWordPressのサイトでもRSSについては特に何も気にせずにサイト構築を行っている場合に、feedにアクセスしてみたらテスト記事やメモなどが表示されているケースも過去ありました。

WordPress Developer Resources

関連機能

  1. WordPress 国内IPからのアクセスだけ許可する制限を設けたい場合 ( .htaccess )

  2. WordPress 6.5 にバージョンアップした際に行った対応手順まとめ (プラグインも合わせてバージョンアップ)

  3. WordPressログインページ、管理画面にIP制限を設定 ( .htaccess )

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

これでまだ、戦える!!

HUNTER×HUNTER
by ゴン=フリークス

Profile

PAGE TOP
Amazon プライム対象