ホーム 経験・テクニック共有 標準記事

標準記事

WordPressのRSS出力時間を遅らせる_RSS機能を完全に無効化する

ウェブサイト、特に新しいサイトを運営する際に最も恐れるのは、コンテンツをスクレイピングされることです。なぜなら、スクレイピングするサイトがあなたのサイトよりも古く、権威が高く、検索エンジンがその記事を好んでインデックスし、あなたの記事を無視する可能性があるからです。そこで、WordPressのRSS出力時間を遅らせることで、簡単な対策を講じることができます。RSS機能が不要な場合は、直接無効にすることもできます。また、…

2021年6月16日更新 約4分で読めます
推迟WordPress的RSS输出时间_彻底关闭RSS功能

ウェブサイト、特に新しいサイトを運営する際に最も恐れるのは、コンテンツをスクレイピングされることです。なぜなら、スクレイピングするサイトがあなたのサイトよりも古く、権威が高く、検索エンジンがその記事を好んでインデックスし、あなたの記事を無視する可能性があるからです。

そこで、WordPressのRSS出力時間を遅らせることで、簡単な対策を講じることができます。RSS機能が不要な場合は、直接無効にすることもできます。

また、記事を公開した後に内容を修正した場合、RSSの内容が未修正のままになるのを防ぐ機能もあります。

RSS出力遅延コード

以下のコードを直接コピーして、テーマの関数ファイルに追加し保存してください。

//推迟RSS输出 https://blog.naibabiji.com/skill/tui-chi-wordpress-rss-shi-jian.html
function publish_later_on_feed($where) {
    global $wpdb;
    if ( is_feed() ) {
        $now = gmdate('Y-m-d H:i:s');
        //RSS输出延迟多久由$wait的值控制
        $wait = '2';
        //输出类型MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
        $device = 'DAY';
        $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
    }
    return $where;
}
add_filter('posts_where', 'publish_later_on_feed');

上記のコードは、RSSコンテンツの出力を2日遅らせます。自分で変更したい場合は、コード内のコメントに従って修正してください。

RSS更新頻度設定コード

また、以下のコードを使用してRSSの更新頻度(RSSリーダー向け)を変更し、RSSリーダーが1時間ごとにデータを取得しに来るのを防ぐこともできます。

// 每6小时
add_filter( 'rss_update_period', function() {return 'hourly';} );
add_filter( 'rss_update_frequency', function() {return '6';} );

最後に、本記事で紹介したこのRSS出力時間を遅らせる方法は、RSS経由でクロールするサイトに対してのみ一定の防御効果があります。他の方法であなたのサイトのコンテンツをクロールされる場合は、防ぐことはできません。

RSS機能の完全無効化

RSSが不要だと感じる場合は、直接無効にすることもできます。方法は次のとおりです。

以下のコードをテーマ関数に追加してください。初心者はこちらを参照してください。functions.phpファイルにコードを安全に追加する方法:Code Snippets

// 完全禁用WordPress RSS功能
function itsme_disable_feed() {
 wp_die( __( 'No feed available, please visit the <a href="'. esc_url( home_url( '/' ) ) .'">homepage</a>!' ) );
}
add_action('do_feed', 'itsme_disable_feed', 1);
add_action('do_feed_rdf', 'itsme_disable_feed', 1);
add_action('do_feed_rss', 'itsme_disable_feed', 1);
add_action('do_feed_rss2', 'itsme_disable_feed', 1);
add_action('do_feed_atom', 'itsme_disable_feed', 1);
add_action('do_feed_rss2_comments', 'itsme_disable_feed', 1);
add_action('do_feed_atom_comments', 'itsme_disable_feed', 1);

// 移除网页RSS代码
remove_action( 'wp_head', 'feed_links_extra', 3 );
remove_action( 'wp_head', 'feed_links', 2 );

もちろん、Disable Feedsプラグインを使用して直接RSSフィードを無効化することもできます。

この記事を評価する post
前の記事 セキュリティ対策を実施し、WordPressサイトのハッキングを防ぐ 同じタイムラインの近くのコンテンツを読み続ける。 次の記事 functions.phpファイルにコードを安全に追加する方法:Code Snippets 次の関連チュートリアルや経験を表示する。

AIサイト構築アシスタント

🤖
こんにちは!私はNaibaサイト構築ノートのAIアシスタントです。何かお手伝いできることはありますか?
クイックコンサルティング: