做网站,尤其是新网站,最怕的就是被人采集。因为往往采集你的站比你资历老,权重高,可能搜索引擎更加喜欢收录它的文章,而你的视而不见。
所以我们可以通过推迟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内容,如果你想要自己修改,请根据代码里面的注释修改即可。
设置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功能
如果你觉得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订阅。