新テーマ「STORK19」はこちら!

RSSフィードの配信を停止してリンクも除去する方法

WordPressには投稿記事の情報をRSSやAtomというフィード形式で配信する機能があり、RSSリーダーなどでブログの更新情報を公開することができます。

FeedlyなどのRSSリーダーで見るとこのように表示されます。

FeedlyなどのRSSリーダーに登録して更新情報を確認する読者もいるので、自分の記事を読んでもらうのに便利な一方、他者のサイトでフィード情報が利用される恐れもあります。

特にフィード配信が必要ないという場合はこの機能を停止することができますので、ここではその方法をご紹介します。

フィード配信を停止する

フィード用のアドレスにアクセスしても、その中にデータを表示しないようにするには、下記のコードを子テーマのfunctions.phpに記述します。

子テーマが存在しないテーマの場合は親テーマのfunctions.phpに記述します。OPENCAGE製のテーマは専用の子テーマを用意していますので、こちらの導入をおすすめします。

追記するコード

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');

この設定によって、フィードのURL(XMLファイル)などにアクセスしても下記のようにエラーが表示されるようになります。

フィードリンクを除去する

上記の設定でフィードの配信は停止されますが、ソースコードの<head>タグの中にはフィードへのリンクタグが挿入されています。

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

<head>タグからフィードへのリンクを除去するには、子テーマのfunctions.phpに下記のコードも追記します。

追記するコード

remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

feed_linksではサイト全体の記事更新フィードとコメントフィード、feed_links_extraではアーカイブやカテゴリーなどの条件に応じたフィードのリンクが作成されますが、それらを除去する設定になります。

【まとめると】フィード配信を停止してリンクも除去する

上記2つの設定をまとめて記述すると下記のようになります。

//フィード配信を停止
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');
//フィードリンクを除去
remove_action('wp_head', 'feed_links', 2);
remove_action('wp_head', 'feed_links_extra', 3);

NEWバージョン!

究極のモバイルファースト
WPテーマ「STORK19」

ブログを書くのが楽しくなる仕掛けや機能がたっぷり!STORK19は読む人も書く人も快適なWordPressテーマです。

いさぎよく、シンプル。
WPテーマ「スワロー」

SWALLOWはシンプルな見た目と洗練された機能美が光るWordPressテーマです。

「必要なものとは何か」を考え尽くして、無駄な機能やデザインを削ぎ落とした洗練されたWordPressテーマです。