WordPressで個別ページのRSS配信を禁止する方法

WordPressで個別ページのRSS配信を禁止する方法
WordPressで個別ページのRSS配信を禁止する方法

 

 
読了目安:336

Are you want to translate this page to English? Please click this link to translate via ‘©Google Translate'!

ganohr.net favicon

著作権侵害系の不正アクセス(コピーサイト、スパムサイトのコンテンツ水増し、etc)のために、有名サイトのRSSを悪用している馬鹿者共がいます。

そうした他人のコンテンツを流用することしかできない無能集団を排除するために、RSS配信を禁止してきましたが、当サイトを巡回してくださっているまっとうな利用者に不便を押し付けるのもどうかと思います。

 

そこで折衷案として「トップページのRSSはタイトルと短い概要のみにする、個別ページのRSS配信は禁止する」という対策を取りました。

RSSを短い概要のみにするのはWordPressの標準の機能で可能ですが、個別ページのRSSを止める方法は通常行えません。

そこでこの記事では「RSS配信自体を禁止する方法」及び、「個別ページのみのRSS配信を行わないようにする方法」を紹介します。

WordPressのRSSの仕様

WordPress
正しく対処するためにもWordPressの仕様を確認しておきましょう。

まず、WordPressのRSSについて仕様を確認しておきます。

WordPressでは、RSSを以下のアドレスから利用できます。

また、RSSには種類があり、「RSS2 / RDF / ATOM」などのバリエーションもあります。

これらの事情から、以下の5つのURLでRSSが配信されます。

  • ~/feed/
  • ~/rss/
    • ※~/feed/へリダイレクトされます
  • ~/feed/rss/
    • ※~/feed/へリダイレクトされます
  • ~/rss2/
    • ※~/feed/へリダイレクトされます
  • ~/feed/rss2/
    • ※~/feed/へリダイレクトされます
  • ~/rdf/
    • ※サイトのトップページへリダイレクトされ、.rdfというファイルがダウンロードされます
  • ~/feed/rdf/
    • ※サイトのトップページへリダイレクトされ、.rdfというファイルがダウンロードされます
  • ~/atom/
    • ※~/feed/atom/へリダイレクトされます
  • ~/feed/atom/

また、このときに「RSSの内容に本文を全て埋め込むか」、「抜粋のみにするか」、はたまたそれらを「何件分掲載するか」を、「サイトのオプションから設定」できます。

基本的には、

本文全体を載せてしまうとサイトをアクセスする意味がなくなるため、抜粋のみを数件程度に限って掲示

するのが一般的です。

 

問題は、WordPressは個別ページ(固定記事・個別記事・カテゴリ・タグ等)でも、そのページのRSS(コメントの一覧)を取得できる点です。

この個別ページのRSSには、設定で指定した件数分のコメントが取得できてしまいます。

たとえRSSの本文を抜粋にしていたとしても、1・2件でもコメントが取れれば著作権侵害系の不正アクセス用途には十分な文量になってしまうのです。

 

実際、以下に示すRSS等が不正利用されていることを確認しています。

サムネイル【ポメラ】DM200分解。LinuxPCのようなスペックだったポメラDM200を分解し徹底レビュー!ポメラの内部に使われている各チップの型番と詳細な解説を載せました。なんとCPUがクワッドコア!?RAMも結構搭載されていて、Linuxかもしれない!?と想像されます。 ... 続きを読むganohr.net2017-01-28

※この他にも多数のスプログでRSSが無断盗用されていることを確認しています

 

やはり、

人気サイトほどRSS配信やREST APIはコピーサイト問題などの兼ね合いにより、基本的には無効化するほうが賢明

といえるでしょう。

WordPressのRSS配信を概要のみにする方法、及びWordPressのRSS配信件数を変更する方法

まずはRSS配信を概要のみにする方法を解説します。

RSSは基本的にはサイトの更新を検出するための利用が主です。更新内容の全文が取れるのであれば、わざわざサイトにアクセスする必要がなくなります。

これはRSSを配信する意図(サイトにアクセスしてもらうこと)からすれば、目的とかけ離れてしまうことは明らかです。

 

WordPressのRSSを抜粋のみにする方法、及び、件数を変更するには以下の画像のとおり操作します。

WordPressでRSSの内容を抜粋のみにする方法を示したスクリーンショット画像
WordPressでRSSの内容を抜粋のみにする方法。簡単な操作で変更できる。

WordPressのRSS配信自体を禁止する方法

人気サイトほどRSSを利用したいと思う利用者が多いため、禁止することはお勧めしていません。

されど、どうしても禁止したいという方のため方法を解説します。

.htaccessを編集してRSS配信を禁止する方法

RewriteEngine On
RewriteCond %{REQUEST_URI} (feed|atom|rss2?|rdf)
RewriteRule (/|^)(feed|atom|rss2?|rdf) - [F,END]

このコードを利用することで、RSS出力機能自体を呼び出せなくします。

処理に対する負荷が最も少ないため、RSSを無効化したい方は基本的にはこちらを採用されることをお勧めします。

functions.phpを編集する方法

WordPressの親テーマ又は子テーマのfunctions.phpを編集できる場合、以下のコードを追加することでRSS配信を停止できます。

なお、編集には細心の注意を払ってください。誤った操作を行うとサイトが停止する恐れがあります。

remove_action( 'wp_head', 'feed_links' );
remove_action( 'wp_head', 'feed_links_extra' );
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' );

WordPressでトップページのRSSは有効にしつつ、個別ページのRSSだけ無効にする方法

※ 上記の「WordPressのRSS配信自体を禁止する方法」を採用されている場合、そちらの設定は除去した上で操作してください。

.htaccessへ以下のコードを追加してください。

RewriteCond %{REQUEST_URI} (feed|atom|rss2?|rdf)
RewriteCond %{REQUEST_URI} !^/(feed|atom|rss2?|rdf)
RewriteRule /(feed|atom|rss2?|rdf) - [F,END]

最後に

憂いを帯びた女性の表情

他人の褌で相撲を取るしかできない馬鹿のせいで、まっとうな利用者の利便性を低下させてしまうのは考えものです。

しかし、まっとうな利用者は、殆どがサイト全体のRSSのみを利用して更新検出を行っています。

 

当サイトは以前よりアクセスログを精査して運用していますが、個別ページのRSSを呼び出しているアクセスの全てが著作権侵害系の不正アクセスと見られるなど、存在意義が皆無であり有害でした。

この記事がコピーサイト問題で頭を抱えているサイトオーナーの参考になれば幸いです。

関連記事

サムネイルWordPressでRSSやコメントページをVPN・PROXY・TORから取得できないようにする方法WordPressでは何もしなくとも最初からRSSが配信されています.RSSは人間にとっては便利なツールですが,不正にコンテンツのコピーを生成するためのボットにとってもコンテンツの解析が不要で軽量なため便利です.そうしたボットが数多く活動するPROXY/VPN/TORからはRSSやコメントページへのアクセスを遮断するカスタマイズを紹介します ... 続きを読むganohr.net2023-01-31

WordPressの不具合対応/カスタマイズ¥15,000~

PC歴25年超、SE歴10年超、WordPress運営歴7年超、WordPressエンジニア歴5年超のスキルとノウハウを提供します

当サイト管理人の「ガノー」(Ganohr)は、日本最大手且つ東証一部上場企業が運営するクラウドソーシングサイト『Lancers』にて、認定ランサーとして活動しています。


※ 認定ランサーとはLancersにより様々な能力 ( 高い仕事遂行率・高い顧客満足度・多くの実績、など ) を評価したプロフェッショナルを認定する制度です。

 

.htaccessカテゴリの最新記事