WordPressには投稿記事の情報をRSSやAtomというフィード形式で配信する機能があり、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);