- 複製サイトが情報源として「RSSフィード」を使っている事例に遭遇しました1。
- そこで、WordPressサイトのRSSフィードを無効にすることにしました。
- functions.phpでRSSフィードを生成する処理をフックで置き換えます。
1. WordPressサイトのRSSフィードを置き換えるコード
公開されているコードを参考に、RSSフィードを無効化することにしました23。
function disable_our_feeds() {
wp_die( __('<strong>Error:</strong> No RSS Feed Available, Please visit our <a href="'. get_bloginfo('url') .'" class="broken_link" >homepage</a>.') );
}
add_action('do_feed', 'disable_our_feeds', 1);
add_action('do_feed_rdf', 'disable_our_feeds', 1);
add_action('do_feed_rss', 'disable_our_feeds', 1);
add_action('do_feed_rss2', 'disable_our_feeds', 1);
add_action('do_feed_atom', 'disable_our_feeds', 1);
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'feed_links_extra', 3);
1-1. コードの意味
このコードでは、フィード生成アクションを「フック」して非アクティブ化しています。
具体的には以下のアクションを、エラー表示の処理(wp_die
)に変更しています。
do_feed
: 全般的なフィードdo_feed_rdf
: RDFフィードdo_feed_rss
: RSSフィードdo_feed_rss2
: RSS2フィードdo_feed_atom
: Atomフィード
また、HTMLのヘッダーからRSDリンク(rsd_link
)と追加のフィードリンク(feed_links_extra
)を取り除いています。
2. WordPressのRSSフィード
通常、WordPressサイトは、サイト情報や記事情報などのRSSフィードが公開されています。
多くの場合は、「サイトURL/feed/」でアクセスできます。
たとえば、
このサイトでは「https://chiilabo.com/feed/」。
フィードのURLがわからないときは、「RSSフィード取得・検出ツール – BeRSS.com」にサイトのURLを入れれば調べられます。
2-1. WordPressのフィード設定
RSSフィードについては、WordPressの「設定」ー「表示設定」から管理できます。
- RSS/Atom フィードで表示する最新の投稿数
- フィードの各投稿に含める内容(全文を表示/抜粋)
を設定できます。
ただし、表示投稿数を 0 にはできません。
3. functions.phpにコードを追加する
ということで、RSSフィードを公開したくない場合は、functions.php に先ほどのPHPコードを追加する必要があるわけです。
コードを追加してからフィードURLにアクセスすると、ちゃんとエラー表示に変わりました。
4. 【追記】外部への発信とのバランス
ところが、サイト設定を確認していると問題があることに気づきました。
PinterestやGoogleニュースなど、外部サイトへの情報発信でもRSSフィードを利用していたからです。
ブログをGoogleニュースに登録申請してみた【パブリッシャーセンター】
Googleニュースを見ていると、ブログが表示されることがあります。 ちいラボの記事も掲載してもらうことができるのか、申請してみました。 「Googleニュース」って登録制だったんだね。 Googleの検索エンジンが勝手に探して来ているわけではないのかぁ。 登録する前でも、これまでGoogle Discoverに表示されたことはあったんですけどね。 パブリッシャーの登録 Googleに「ニュースサイト」として認識してもらうためには、「パブリッシャー(公開元)」の登録が必要です...
[Pinterest] RSS Feedがうまく生成されていない 【WordPressのRSSを修正する】
Pinterestとブログの連携をしていたら、エラーに遭遇したのでメモ書きです。 ※未解決です。 PinterestでRSSを読み込めない(泣) Pinterestにウェブサイトを認証すると、「自動公開する」という選択肢が表示されるようになります。 これができると、ブログに投稿すると、自動的にアイキャッチ画像でピンが作成されます。 もし、サイトのRSSフィードのURLがわからない場合は、ここで調べられます。 ところが、Pinterestにフィードを登録しようとしたら、エラーが...
複製サイトによる情報収集を避けるか、外部サイトとの連携を重視するか、どちらを取ろうか迷っています。
こちらもどうぞ。
[Cocoon] 「SNSシェア」ボタンをショートコードで表示できるようにした
記事内で、以下のショートコードを入力することで、好きな位置にSNSシェアボタンを出せるようにしたいと思います。 [sns_share_buttons] できたコード(functions.php)はこちら。 /** CocoonのSNSシェアボタンを表示するショートコード 2024-02-18 */ add_shortcode( 'sns_share_buttons', 'wrap_get_template_sns_share' ); if ( ! function_exist...
[Cocoon] カルーセル使用時のCLSを改善するために高さを計算した(calc, vw)
PageSpeed Insightsで計測したときに、CLS(Cumulative Layout Shift)が「0.33(不良)」になるのが気になっていました。 主な原因は、トップページで表示しているカルーセルです。 CSSの calc() を使って、画面の幅からカルーセルの高さを計算することで、CLSを 0 に改善できました。 カルーセルがCLSに悪影響している CLS(画面ズレ)が起こるのは、トップページにある「カルーセル」が原因です。確かに、サイトの表示を見てみると、...
[Cocoon] 各見出し後に「目次に戻る」リンクを追加した(functions.php)
ブログの中でもっともよくクリックされるのは、「目次」だそうです。 各セクションに Cocoonの目次に対応した「戻る」ボタンを設置しました。 参考サイトを元に、自分のブログに合うように一部修正しました。 確かに、目次からサッと読みたいところを確認できるサイトは、とても便利ですよね。 目次に戻るリンクを挿入するコード functions.phpに追加します。 /** 自動で目次に戻るリンクを挿入 */ add_filter('the_content', function($co...
「RSS」とは?
「RSS」は、ウェブサイトの更新情報を、自動的に受け取るための仕組みです。ウェブサイトの更新情報をまとめた「RSSフィード」というXMLファイルを公開することで、更新情報を配信します。「RSSリーダー」という対応アプリを使うと、複数のサイトを登録して更新情報をまとめて受け取れるので便利です。
(補足)
- Google検索結果に複製サイトが出てきた(rssing.com) – スマホ教室ちいラボ
- WordPress フィードを無効にする – WP エンジニア
- WordPressでRSS フィードを無効にする | Joomla!,Wordpressでサイトを構築するためのヒント
QRコードを読み込むと、関連記事を確認できます。