1. TOP
  2. Wordpress
  3. WordPressでRSSを出さない、出力しないようにする方法

WordPressでRSSを出さない、出力しないようにする方法

RSSを出さないようにする方法

WordPressは記事などのRSSフィールドを外部に出力します。

RSSを登録して更新情報を読んでくれている人もいます。そのため、RSSは読者を増やすメリットもあります。

一方で、他サイトのRSSを読み込んで記事化するアンテナサイトもあるため、RSSの公開はデメリットもあります。

WordPressサイトを運営していて、RSSが不要だと感じれば出力しないように設定することができます。

WordPressが出力しているフィールドは以下のような4つの形式です。

  • RDF/RSS 1.0
  • RSS 0.92
  • RSS 2.0
  • Atom

サイトのソースコードを確認すると以下のように表示されています。

フィールド内の情報には以下のような内容が記載されています。

  • サイト全体の記事フィード
  • サイト全体のコメントフィード
  • 記事単位のコメントフィード
  • カテゴリー
  • タグ
  • 著者
  • 検索結果

この記事ではRSSを出さない方法を解説します。

WordPressのRSS

WordPressには複数ののRSS用URLが存在します。RSSが表示されるURLは以下のようになります。

基本的なRSSフィードのURL

http://abc.com/?feed=rss2

その他のRSSフィードのURL

  • http://abc.com/feed/
  • http://abc.com/feed/rss/
  • http://abc.com/feed/rss2/
  • http://abc.com/feed/rdf/
  • http://abc.com/feed/atom/

コメントフィードのURL

  • https://abc.com/comments/feed/
  • https://abc.com/記事ごとのURL/feed/

*abc.comはサンプルのURLです。

RSSの配信停止

RRSフィールド自体を停止して、データそのものを無くす方法です。

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

上記の10や1は記述しなくても構いません。

これで、RSSが存在しなくなりました。実際にRSSのURLを開いてもエラーが出るようになります。

RSSフィードが出力されなくなった

HTMLの消去

RSSフィールドの出力自体は停止しましたが、HTMLのソースコードにはRSSが記述されたままです。

<head>内には以下のコードが残ったままです。

1行目と2行目のコードはfunctions.php内に以下のコードが記述されていると自動で表示されます。

公式テーマなどは「add_theme_support」の記述が義務ずけられているため、目にすることもあるかと思います。記述されていなければ、3行目のコードのみが表示されます。

いずれにしても、RSSの出力を停止したのであれば、HTMLの表示は不要です。消去すべく、以下のコードをfunctions.phpに記述します。

remove_actionについて

remove_actionは表示される内容(フック)を削除する関数です。

フック名や優先度を変えることにより、カスタマイズが可能です。

サイト全体フィールドのみ出力

サイト全体のフィールドのみ出力したい場合の設定方法です。

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

これで、サイト全体のフィールドのみが出力されて、コメントフィールドは表示されなくなりました。

オプション

コメントフィールドのURLにアクセスがあれば、404を返すように表示します。

404表示でトップページへ戻る

以下のコードをfunctions.phpに追加します。

WordPressのバージョンを削除する方法

RSSフィールドを使用する場合にWordPressのバージョンが記載された<generator>が表示されます。

わざわざ使用しているWordPressのバージョンを公開することはセキュリティ上好ましくはありません。古いWordPressのままであれば、バージョンを公開することにより攻撃されないとも限りません。

そのため、RSSフィールドの配信を行うのであれば、<generator>の項目を削除します。以下のコードをfunctions.phpに記述します。

まとめ

RSSのカスタマイズまとめ

RSSフィールドの出力を制御する方法を解説しました。

色々とオプションがあり、分かり辛い内容になったかも知れません。ここでもう一度、おさらいしたいと思います。

RSSを出さないようにするには次の2点が必要です。

  • RSS自体の出力を止める。
  • RSSフィールドへのリンクをHTML内に表示しない。

functions.php内にまとめて書くと以下のようになります。

通常はこれで問題ないはずです。その他の細かい設定が必要であれば、オプションを参考にして、カスタマイズしてください。

最後まで、お読み頂きありがとうございました。