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