为wordpress设置RSS Feed延迟保护原创和隐私

  • 12,332 views

为wordpress设置RSS Feed延迟保护原创和隐私

建立WordPress博客,当然Rss Feed功能是必须得了解的,最近西安seo王发利博客发现更新完文章之后没有像以前一样隔日就收录,而是需要等个一两天才会被翻出来。但是在此期间,我查询我的签约网站居然在我的前面收录了,它是通过博客feed抓取文章的,因为的的feed开启的是全文,同时我的一些个人随笔和个人心情类的文章也在里面,这样甚是不好。还记得之前写过《怎么调出wordpress3.5被取消的链接管理功能》文章,于是就想在折腾一番,通过延迟Rss Feed输出时间和排除某些分类在feed中输出来优先让博客在被转载前收录和保护一些自己不想过多传播的信息。所以,我名此文为“为wordpress设置RSS Feed延迟保护原创和隐私”!下面来看看怎么样去设置。

为wordpress设置RSS Feed延迟保护原创和隐私

第一、设置Rss Feed延迟输出文章

打开的你博客主题中的functions.php,一般在themes主题文件下的主题包里,如你的主题是WangStyle,那么你的functions.php文件就在WangStyle文件夹中找。找到文件之后,通过ftp下载,用DW或notepad打开,在 “ ?> ”前加入如下代码:

  1. //设置Rss Feed延迟输出文章
  2. function publish_later_on_feed($where) {
  3. global $wpdb;
  4. if ( is_feed() ) {
  5. // timestamp in WP-format
  6. $now = gmdate('Y-m-d H:i:s');
  7. // value for wait; + device
  8. $wait = '2'; // integer
  9. $device = 'DAY'; //SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR
  10. // add SQL-sytax to default $where
  11. $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
  12. }
  13. return $where;
  14. }
  15. add_filter('posts_where', 'publish_later_on_feed');

代码详解:

$wait = '2';为设置的时间数字,后面的$device = 'DAY'; 为设置的时间段单位。我在这设置wait参数2,device参数DAY,即在发布文章两天后输出rss feed 。当然,你还可以根据自己的需要设置时间间隔。//SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 分别是秒,分,时,日,周,月,年。替换单位,更换数字即可。

第二、排除某分类在Rss Feed输出

同样还是在functions.php中 “ ?>”前加入以下代码:

  1. //Rss中排除某个分类输出
  2. function exclude_cat_feed($query) {
  3. if(is_feed()) {
  4. $query->set('cat','-8,-401,-70'); //排除ID为 8,401,70 的分类
  5. return $query;
  6. }
  7. }
  8. add_filter('pre_get_posts', 'exclude_cat_feed');

代码详解:

在$query->set('cat',' ');添加你想被排除的分类id,如又多个分类,可以用英文下的逗号隔开,记得分类id前家“-”。上段代码“$query->set('cat','-8,-401,-70'); //排除ID为 8,401,70 的分类”中,我排除的是id分别为8,401,70的三个分类。至于分类id,可在WordPress后台分类处查看,最简单的方法就是在后台将鼠标移至分类目录上,看页脚的链接中“category&tag_ID= ”中的ID等于多少,这个就是分类id。当然,你也可以鼠标右键复制链接地址来查看,如我的其中一个为http://wangfali.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=8&post_type=post 所以,排除中就为-8 .

第三、完全禁止Rss Feed输出

方法同上,在functions.php文件中的“?>”前加入以下代码:

  1. //禁用WordPress 中的RSS Feeds
  2. function wp_disable_feed() {
  3. wp_die( __('抱歉,本站不支持订阅,请返回首页') );
  4. }
  5. add_action('do_feed', 'wp_disable_feed', 1);
  6. add_action('do_feed_rdf', 'wp_disable_feed', 1);
  7. add_action('do_feed_rss', 'wp_disable_feed', 1);
  8. add_action('do_feed_rss2', 'wp_disable_feed', 1);
  9. add_action('do_feed_atom', 'wp_disable_feed', 1);

代码解析:

add_action()为WordPress的核心还是,表示将函数连接到指定action(动作),这里('do_feed', 'wp_disable_feed', 1); 动作就是要实现disable这个动作,输出。当然了,完全禁止直接用这个代码就可以,不需要再修改了。

本文小结:

为wordpress设置RSS Feed延迟保护原创和隐私只是个人遇到的一些问题,在处理问题的过程中的一些心得,分享出来,希望遇到和我一样的朋友,既不想关闭feed,又不想过早地文章被转载,那就采用第二个方法吧。

weinxin
我的微信
分享SEO优化、SEM营销、新媒体知识,交流营销运营经验,提供网站制作、SEO、竞价托管和公众号代运营服务。
王发利
  • 本文由 发表于 2014 年 10 月 7 日
  • 转载请务必保留本文链接:http://wangfali.com/seo/3949.html
什么事千人千面?详解百度千人千面算法! SEO知识

什么事千人千面?详解百度千人千面算法!

什么事千人千面?详解百度千人千面算法!在2020年的时候,百度搜索引擎官方开始上线千人千面算法,其实这个千人千面算法就是根据个人的喜好来展现搜索结果,这算法涉及到了个人的搜索习惯、个人的爱好、个人感兴...
SEO行业名词解释大全 SEO知识

SEO行业名词解释大全

优化网站做SEO,了解seo行业名词必看seo名词解释,明白seo行业、读懂seo名词解释能够帮助我们更好地工作和指导网站优化。在做SEO前先搞清楚这些seo行业名词,我想是很有必要的,今天借助王发利...
B2B网站上Ttitle应该怎么写? SEO知识

B2B网站上Ttitle应该怎么写?

B2B网站上Ttitle应该怎么写?很多中小企业卖家,选择b2b平台做关键词优化在当前来说,是省钱又有效的方法。因为,可以通过利用b2b网站的高权优势,帮助企业快速获得关键词排名和流量,从而提升产品销...
新手如何做好医疗SEO?该怎么做? SEO知识

新手如何做好医疗SEO?该怎么做?

新手如何做好医疗SEO?该怎么做?曾有人问医疗SEO该怎么做,尤其是新手。我想很多老鸟都是从新人走过来的,虽然医疗SEO相对来说是男一点,不过只要有一颗恒心,多学习、选好方向坚持新人也能做好医疗SEO...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:5   其中:访客  5   博主  0   引用   2
    • aladd aladd 1

      比如我连续发6篇文章,它是根据最后一篇文章时间推2天呢还是每篇都独立推算2天。其实这两种都可以,都可以达到我要的效果……就是不知道是不是还有第三种。

      • aladd aladd 1

        比如我连续发6篇文章,它是根据最后一篇文章时间推2天呢还是每篇都独立推算2天。其实这两种都可以,都可以达到我要的效果……就是不知道是不是还有第三种。

        • http://www.ggmmww.com/Article/262.html http://www.ggmmww.com/Article/262.html 1

          原创是保护不了的,如今互联网的搬运工太多了。。

        • 来自外部的引用: 2