WordPress设置RSS feed更新频率
昨天在写 WordPress实现feed静态化 这篇文章时,顺便看了RSS2 Feed的模板文件,发现WordPress是提供了filter来设置RSS feed的更新频率的。
什么是更新频率?
在浏览器中打开WordPress的feed订阅地址,一般是http://域名/feed
,如https://www.ludou.org/feed
,如不是IE浏览器(可查看源代码),搜索updatePeriod
,你会看到这么两行代码:
<sy:updatePeriod>hourly</sy:updatePeriod>
<sy:updateFrequency>1</sy:updateFrequency>
这其中的hourly是更新频率的单位(每小时),1是更新频率的时间,这么说可能有点难以理解,组合起来讲,就是告诉采集这个feed的人,我这个feed每  1   个   小时   更新一次,建议你每1个小时来采集一次,不要太快,也不要太慢。
当然这两行代码的声明也仅仅是声明,很多feed采集器未必遵守,就像很多搜索引擎未必遵守robots.txt规则一样,但至少聊胜于无,规则是给遵守规则的人制定的嘛。
WordPress设置RSS feed更新频率
WordPress默认设置的更新频率是每1个小时更新一次,这个频率对于绝大多数博客网站来说都是偏高的,每个小时发一篇文章那是什么概念?我看只有采集站能办得到了吧。你说什么,伪原创?伪原创也是需要花时间来伪的好吧,就算是伪原创,一天24小时都在伪?不太可能吧!
说了这么多,那在WordPress中应该怎样设置RSS feed的更新频率呢?WordPress后台没有找到相关的设置项,那我们只能自己写代码了。其实也很简单,在当前主题的functions.php
中加入以下代码即可:
add_filter( 'rss_update_period', function() {return 'daily';} );
add_filter( 'rss_update_frequency', function() {return '3';} );
解释一下,第1行代码中的daily是单位(每天),单位值可以设置为:'hourly'
, 'daily'
, 'weekly'
, 'monthly'
, 'yearly'
,学过初中英语的应该都懂,分别代表:每小时,每天,每星期,每月,每年
第2行代码中的3,设置的是更新频率的时间,上面2行代码组合起来就是声明这个feed每3天更新一次。下面加几个例子,便于大家理解。
// 每36小时
add_filter( 'rss_update_period', function() {return 'hourly';} );
add_filter( 'rss_update_frequency', function() {return '36';} );
// 每2个星期
add_filter( 'rss_update_period', function() {return 'weekly';} );
add_filter( 'rss_update_frequency', function() {return '2';} );
这个频率具体设置多少,应该根据博客的实际更新频率来,设置得太高,文章更新又不那么快,导致feed被频繁访问,肯定会消耗更多的服务器资源;设置低了,会让feed订阅用户不那么及时的看到网站的新文章。
-- 完 --
本文采用 「CC BY-NC-SA 4.0」创作共享协议,转载请标注以下信息:
原文出处:露兜即刻 https://www.ludou.org/wordpress-set-rss-update-period.html
又来一篇?跟feed杠上了?
哈哈,其实FEED还是很有用处的,就看你怎么使用了!
博客终于恢复了。
@Zixie 谷歌浏览器报告你的网站存在风险
@露兜 一直用的chrome 报错有好久了。自己能打开得了 !( 好懒,囧~)
@Zixie ie打不开
Feed用原生的就可以了,懒得折腾了.
这个很有用啊
这个学习了