サイトのRSSフィードに投稿が表示されるのを遅らせたいですか?
投稿がすぐに表示されるのを遅らせることで、未完成の仕事を誤って送信するのを防いだり、目につくかもしれない誤字脱字を編集する時間を確保したり、SEOでコンテンツスクレイパーを打ち負かすのに役立てたりすることができる。
この投稿では、WordPressのRSSフィードに投稿が表示されるのを遅らせる方法を紹介する。
WordPressでRSSフィードを遅らせる理由とは?
WordPressブログで何かを公開するとき、あなたが気づかなかっただけで、誤字脱字があることがあります。誤字脱字はRSSフィードと購読者すべてに配信されます。WordPressブログでメール購読をしている場合は、その購読者にも同様に配信されます。
RSSフィードとライブサイトの間に遅延を加えることで、ライブサイトでエラーをキャッチし、それを修正するためのわずかな時間を得ることができます。
RSSフィードは、コンテンツスクレイピングサイトにも利用されています。彼らはあなたのコンテンツを監視し、投稿が公開されるとすぐにコピーするためにRSSフィードを使用します。もしあなたが投稿者の少ない新規サイトを持っている場合、このようなコンテンツスクレイパーに検索結果で負けてしまうことが多々あります。
フィードの投稿を遅らせることで、検索エンジンが最初にコンテンツをクロールしてインデックスするのに十分な時間を与えることができます。
それでは、WordPressサイトのRSSフィードに投稿が表示されるのを簡単に遅らせる方法を見てみよう。
WordPressのRSSフィードで投稿を遅らせる方法
まず始めに、WPCodeを使って投稿がサイトのフィードに表示されるのを遅らせることをお勧めします。WPCodeを使えば、サイトが壊れる心配をすることなく、安全かつ簡単にWordPressにカスタムコードを 追加することができます。
上級ユーザーの方は、以下のコードをテーマのfunctions.phpファイルにコピー&ペーストしてください。時間間隔を変更するには、コードを修正する必要があります。
注意: WordPressのコアファイルを編集することは危険であることを忘れないでください。また、テーマを更新すると、カスタム・コード・スニペットも失われます。
詳しくは、ウェブ上のコード・スニペットを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フィード’カテゴリーまでスクロールダウンしてください。
そして、結果の「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フィードに投稿が表示されるのを簡単に遅らせる方法を学ぶのにお役に立てば幸いです。また、正しい方法でメールマガジンを作成する方法についてのガイド、または専門家が選ぶ中小企業向けの最高のライブチャットソフトウェアをご覧ください。
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.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
CNXSoft says
It looks like it may not work anymore. I have the following error with this code:
unexpected variable “$wpdb”
WPBeginner Support says
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 says
Is it possible to show a new RSS feed entry at a particular time of the day?
WPBeginner Support says
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 says
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 says
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 says
Fantastic tip that will stop an ongoing source of embarrassment. Thanks!