概要説明
WordPressはRSS機能が標準で有効になっているため無効とするためのカスタマイズ。SEOで使いたいといった用途がない限りは第三者に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'); /*---------------------------------------------------- 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 &rsaquo; エラー ]]> </title> <message> <![CDATA[ <strong>エラー:</strong> これは無効なフィードテンプレートです。 ]]> </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 表示確認 )
RSSフィードサイトマップをプラグインで作成しているか確認
All in One SEO を使用している場合はRSSフィードサイトマップがデフォルトで有効になっています。
RSSフィードを無効化する場合はこちらの設定変更を行っておきましょう。
テスト記事など表示されている場合も
企業様のWordPressのサイトでもRSSについては特に何も気にせずにサイト構築を行っている場合に、feedにアクセスしてみたらテスト記事やメモなどが表示されているケースも過去ありました。