VPS主机与服务器★ 4.6 推荐评级

推迟WordPress的RSS输出时间_彻底关闭RSS功能

博主头像站长评测
发布于 2019/05/25(修订于 2021/06/16)原创独立站体系

做网站,尤其是新网站,最怕的就是被人采集。因为往往采集你的站比你资历老,权重高,可能搜索引擎更加喜欢收录它的文章,而你的视而不见。

所以我们可以通过推迟WordPress的RSS输出时间来做一个简单的防护。如果你不想要RSS功能,也可以直接禁用。

另外还有一个功能就是防止你发表文章后又修改内容,导致RSS内容还是未修改状态。

延迟RSS输出代码

直接复制下面这串代码,添加到你主题函数文件里面保存即可。

//推迟RSS输出 https://vpsjichangwiki.blog/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 homepage!’ ) ); } 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订阅。