RSSフィードへの投稿を遅らせることで、コンテンツが公開されるタイミングをコントロールすることができます。しかし、WordPressで新しい投稿を公開すると、すぐにサイトのRSSフィードに表示されます。
迅速な共有は便利ですが、土壇場の編集や誤字脱字の修正、未完成の原稿が購読者に届くのを防ぐために、余分な時間が必要かもしれません。さらに、検索エンジンにインデックスされる前に、コンテンツスクレイパーがあなたの作品を盗む可能性があり、SEOに悪影響を与える可能性がある。
適切なプラグインといくつかの簡単な設定により、フィードに表示される前に投稿が準備され、洗練されていることを確認するタイミングを簡単に調整することができます。私たちの調査によると、WPCodeはこの作業に最適なプラグインの一つです。
このガイドでは、投稿がRSSフィードに表示されるのを遅らせる簡単な手順をご紹介します。
WordPressでRSSフィードを遅らせる理由とは?
WordPressブログで何かを公開するとき、自分が気づかなかっただけで、誤字脱字があることがある。誤字脱字はRSSフィードと購読者全員に配信されます。もしあなたのWordPressブログにEメール購読があれば、その購読者にも同様に配信されます。
RSSフィードとライブサイトの間にディレイを追加することで、ライブサイトのエラーをキャッチし、それを修正するための小さなウィンドウを自分自身に与えることができます。
RSSフィードは、コンテンツ・スクレイピング・サイトにも利用されている。彼らはあなたのコンテンツを監視し、あなたの投稿がライブで表示されるとすぐにコピーするためにそれを使用します。もしあなたがオーソリティの少ない新しいウェブサイトを持っているなら、多くの場合、これらのコンテンツスクレイパーは検索結果であなたを打ち負かすことになるかもしれません。
フィードの投稿を遅らせることで、検索エンジンが最初にコンテンツをクロールしてインデックスするのに十分な時間を与えることができます。
そこで今回は、WordPressサイトのRSSフィードに投稿が表示されるのを簡単に遅らせる方法をご紹介します。このガイドで取り上げる内容を簡単に説明します:
さっそく始めよう!
WordPressのRSSフィードで投稿を遅らせる方法
WPCodeを使えば、サイトが壊れる心配をすることなく、安全かつ簡単にWordPressにカスタムコードを追加することができます。
上級ユーザーの方は、以下のコードをテーマのfunctions.phpファイルにコピー&ペーストしてください。時間間隔を変更するには、コードを修正する必要があります。
注意: WordPressのコアファイルの編集はデリケートな作業です。小さなミスでもサイトを壊してしまう可能性がありますし、テーマを更新する際にカスタムコードスニペットも失ってしまいます。そのため、WPCodeをお勧めします。
詳しくは、ウェブ上のコード・スニペットをWordPressに貼り付ける方法の投稿をご覧ください。
function wpb_snippet_publish_later_on_feed( $where ) {
global $wpdb;
if ( is_feed() ) {
// Timestamp in WP-format.
$now = gmdate( 'Y-m-d H:i:s' );
// Number of unit to wait
$wait = '10'; // integer.
// Choose time unit.
$unit = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.
// Add SQL-sytax to default $where. By default 10 minutes.
$where .= " AND TIMESTAMPDIFF($unit, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter( 'posts_where', 'wpb_snippet_publish_later_on_feed' );
では、WPCodeを使って簡単にできる方法をご紹介しましょう。
まず、無料のWPCodeプラグインをインストールし、有効化する必要があります。詳しくは、 WordPressプラグインのインストール方法のステップバイステップガイドをご覧ください。
有効化したら、Code Snippets “ Add Snippetに移動します。その後、’RSS’を検索するか、’RSS Feeds’カテゴリーまでスクロールダウンしてください。
そして、結果の「Delay Posts in RSS Feeds」にマウスオーバーし、「Use snippet」をクリックするだけだ。
次に、WPCodeがあらかじめスニペット設定を行った「Edit Snippet」画面が表示されます。
初期設定では、投稿は公開してから10分遅れてRSSフィードに外観されます。
その遅れがいいのであれば、スイッチをクリックして「有効化」にして「更新」ボタンを押すだけでいい。
ディレイの長さを変更したい場合は、10行目の数字と13行目の時間の単位を変更します。
例えば、$wait = '10';
と$unit = 'MINUTE'
を$wait = '1'
と$unit = 'HOUR'
に置き換えれば、投稿を1時間遅らせることができる。
遅延を再度調整する必要がある場合は、この手順を繰り返します。また、投稿をすぐにフィードに反映させたい場合は、スイッチを「非アクティブ」に戻して「更新」を押してください。
ボーナスのヒントWPCodeスニペットライブラリをチェックアウトする
WPCodeには、他のコードスニペットも豊富に揃っています。管理ダッシュボードからコードスニペット ” ライブラリに移動することで、そこにあるものを見ることができます。
ライブラリで見つけたスニペットを有効化するだけで、サイトの個別プラグインを置き換えることができるかもしれません。
例えば、以下のようなスニペットを見つけることができる:
- 自動アップデートを無効にする
- SVGのアップロードを許可する
- 投稿の最低文字数を設定する、など。
この記事で、WordPressのRSSフィードに投稿が表示されるのを簡単に遅らせる方法をご理解いただけたと思います。次は、タグとカスタムタクソノミーのアーカイブにRSS購読を追加する方法と、WordPressでRSSサイトマップを追加する方法についてのガイドをご覧ください。
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
CNXSoft
It looks like it may not work anymore. I have the following error with this code:
unexpected variable “$wpdb”
WPBeginner Support
The code should still be working, we would recommend taking a look at our guide below to ensure the code was added properly:
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-pasting-snippets-from-the-web-into-wordpress/
管理者
Eric Xiao
Is it possible to show a new RSS feed entry at a particular time of the day?
WPBeginner Support
Hi Eric,
The easiest way to do this is by publishing your posts at a particular time of the day. However, caching and user’s rss feed crawlers can still affect when your entry actually appears on user’s RSS feed readers or inbox.
管理者
Melika
Thanks for the tutorial.
The part that you mentioned content scrapers got me a little worried. So I wanted to ask if you use this method yourself to avoid problems with content scrapers and indexing …
Melika
Now i know what i asked was kind of funny
Because i see that you have mentioned “website with little authority”
Thanks again for the article
Bob
Fantastic tip that will stop an ongoing source of embarrassment. Thanks!