当前位置:代码狗 > WordPress > WP建站 > 正文

WordPress修改feed更新频率防止被及时采集

很多人喜欢使用feed来采集文章,我想应该是feed文件具有规则,一套采集规则可以很方便的采集很多网站的原因。有时候我们新写的文章被大站采集,或者说被别人恶意采集发布到大站上,我们自己写的原创文章还没收录,采集的文章倒是先被收录了。别不信,大站权重高,收录比新站快得多。为了防止出现这种情况,我们就需要调整一下feed的更新频率,比如半天之后更新一次,这个时间最后调整为你自己网站被收录的时间周期。

比如今天在群里说到这个问题的大佬,他就是延迟了2天更新feed。有人可能会问,延迟更新有什么坏处吗?会不会影响收录?我只知道延迟更新feed只会让订阅的人接收消息不及时,并没有其它什么大问题,而且现在也没几个人会用feed订阅了。

关于如何使用WordPress的RSS feed采集文章可以参考这篇文章:WordPress仪表盘调用站外文章列表实现代码

在WordPress中,官方提供了过滤器用来修改rss feed的更新频率。

怎么看你的feed更新频率?

打开你的域名/feed,你可以看到一些关于你网站内容的数据,找到updatePeriod关键字,如下:

WordPress修改feed更新频率防止被及时采集

WordPress修改feed更新频率防止被及时采集

<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>

sy:updatePeriod标签代表的是feed更新周期的单位,可供使用的周期单位有:小时hourly,天 daily,周 weekly,月 monthly ,年 yearly

sy:updateFrequency标签的值就是feed更新周期的值了,比如上图的意思就是1小时,这个很好明白,这两个标签连在一次读就行。

WordPress修改feed更新频率

在你的主题functions.php文件(也可以是插件,只要能被WordPress加载)中加入如下代码:

add_filter( 'rss_update_period', function() {return 'hourly';} ); 
add_filter( 'rss_update_frequency', function() {return '12';} );

仔细对比过滤器的名称,其实就是对应的feed更新频率标签的名称,这里采用的匿名方法的写法,与下面这种写法效果一样。

add_filter( 'rss_update_period', 'feed_period' ); 
add_filter( 'rss_update_frequency', 'feed_frequency' );
//更新周期方法
function feed_period() {
     return 'hourly';
}
//更新周期长度
function feed_frequency() {
     return '12';
}

感觉很棒!可以赞赏支持我哟~

赞(0) 打赏

评论 4

  1. #3

    很好,我也考虑一下。

    奶爸de笔记4个月前 (05-22)回复
  2. #2

    你这是看我改了才写的吗?

    缙哥哥4个月前 (05-22)回复
    • 不然呢,没写的。

      代码狗4个月前 (05-22)回复
  3. #1

    作为初学者, 花了两天终于把libssh2的端口转åg>部分搞定连接成功目标服务器辣~~~~

    visual capitalist ai4个月前 (05-22)回复
×

请作者吃根烤肠!

支付宝