很多人喜欢使用feed来采集文章,我想应该是feed文件具有规则,一套采集规则可以很方便的采集很多网站的原因。有时候我们新写的文章被大站采集,或者说被别人恶意采集发布到大站上,我们自己写的原创文章还没收录,采集的文章倒是先被收录了。别不信,大站权重高,收录比新站快得多。为了防止出现这种情况,我们就需要调整一下feed的更新频率,比如半天之后更新一次,这个时间最后调整为你自己网站被收录的时间周期。
比如今天在群里说到这个问题的大佬,他就是延迟了2天更新feed。有人可能会问,延迟更新有什么坏处吗?会不会影响收录?我只知道延迟更新feed只会让订阅的人接收消息不及时,并没有其它什么大问题,而且现在也没几个人会用feed订阅了。
关于如何使用WordPress的RSS feed采集文章可以参考这篇文章:WordPress仪表盘调用站外文章列表实现代码
在WordPress中,官方提供了过滤器用来修改rss feed的更新频率。
怎么看你的feed更新频率?
打开你的域名/feed,你可以看到一些关于你网站内容的数据,找到updatePeriod
关键字,如下:
<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';