彻底关闭RSS功能或推迟WordPress的RSS输出时间方法
为什么要彻底关闭RSS功能或推迟WordPress的RSS输出时间?
外贸建站无论是企业网站还是其他内容网站,一个新网站,最怕的就是被人采集。因为经常采集你的站比你的新网站资历和权重高,搜索引擎更喜欢收录它的文章,而对你的新网站视而不见。
因此,我们可以通过推迟 WordPress 的 RSS 输出时间来进行简单的防御。甚至你不想要RSS功能,也可以直接禁用。
还有一个功能,阻止您发布文章,然后修改内容,导致 RSS 内容或未修改状态。
延迟RSS输出代码
直接复制下面这串代码,添加到你主题函数文件(function.php)里面保存即可。
//推迟RSS输出 https:https:https://www.ienpai.com/1695.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小时更新。
// 每6小时 add_filter( 'rss_update_period', function() {return 'hourly';} ); add_filter( 'rss_update_frequency', function() {return '6';} );
以上介绍的这个通过延迟RSS输出时间的方法只能针对通过RSS方法来采集的网站有一定防范作用,如果大咖通过非RSS方法采集你网站内容,那么这个方法就没有用了。
完全禁用RSS功能
如果你觉得RSS没什么用处,也可以直接禁用,比如我的网站是完全禁用RSS的:
方法如下:
把下面的代码添加到主题函数文件(function.php)里面,不会的朋友可以参考:安全添加代码到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订阅。