WordPress彻底移除并关闭RSS feed的代码教程

28次阅读
2024年05月23日 09:20:01

共计 1449 个字符,预计需要花费 4 分钟才能阅读完成。

WordPress默认开启了feed功能,好处不言而喻,可以方便RSS阅读器进行订阅,让读者及时收到博客的更新信息。但有些博客基本没有人订阅,却有一堆人来采集博客的feed,方便了别人复制文章不说,还造成了不必要的资源消耗。

阻止采集feed的方式很多,比如feed中只输出文章摘要,而不输出全文,这个在WordPress后台 – 设置 – 阅读中就可以设置。但是我出于某些目的,并不是为了防采集,不想开放博客的feed功能,该怎么设置呢?

简单搜索了一下,发现网上都是下面这个方法,直接在主题的functions.php中加入下面的代码:

function disable_all_feeds() {
   wp_die( '本站不提供feed' );
}
add_action('do_feed', 'disable_all_feeds', 1);
add_action('do_feed_rdf', 'disable_all_feeds', 1);
add_action('do_feed_rss', 'disable_all_feeds', 1);
add_action('do_feed_rss2', 'disable_all_feeds', 1);
add_action('do_feed_atom', 'disable_all_feeds', 1);

这种方法实现的效果是,当打开博客的feed地址(如/feed)时,页面会直接显示设置的错误信息,feed代码已经被删除,也就是说这个feed地址仍然存在,而不是打开这个链接直接显示404。

如何才能彻底地禁用WordPress的feed功能呢?我们可以使用下面的代码:

// 删除 wp_head 输入到模板中的feed地址链接
add_action( 'wp_head', 'wpse33072_wp_head', 1 );
function wpse33072_wp_head() {
    remove_action( 'wp_head', 'feed_links', 2 );
    remove_action( 'wp_head', 'feed_links_extra', 3 );
}

foreach( array( 'rdf', 'rss', 'rss2', 'atom' ) as $feed ) {
    add_action( 'do_feed_' . $feed, 'wpse33072_remove_feeds', 1 );
}
unset( $feed );

// 当执行 do_feed action 时重定向到首页
function wpse33072_remove_feeds() {
    wp_redirect( home_url(), 302 );
    exit();
}

// 删除feed的重定向规则
add_action( 'init', 'wpse33072_kill_feed_endpoint', 99 );

function wpse33072_kill_feed_endpoint() {
    global $wp_rewrite;
    $wp_rewrite->feeds = array();
    
    // 运行一次后,记得删除下面的代码
    flush_rewrite_rules();
}

将以上php代码放入当前主题的functions.php中,然后登陆进入WordPress后台,随便打开一个页面,然后回来在主题的functions.php中将:flush_rewrite_rules(); 这行代码删除即可。

本文只是提供了WordPress禁用feed的方法,并不说明本站已经禁用了feed,本站的feed还是正常提供的,欢迎大家订阅。

WordPress彻底移除并关闭RSS feed的代码教程
正文完
 0
鹿泽
版权声明:本站原创文章,本文由 鹿泽 于 2024年5月23日 09:20:01 发表,共计 1449 字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
本站所有文章,如无特殊说明或标注,均为本站原创发布。任何在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。
如若本站内容侵犯了原著者的合法权益,可联系我们邮箱:526009505@qq.com进行处理。
最新文章
在表格中使用谷歌翻译函数公式批量翻译

在表格中使用谷歌翻译函数公式批量翻译

不用写VBA,在Excel或WPS表格中,使用谷歌翻译函数GoogleTranslate(),写写公式就可以快...
需求与满足度的相关提高权重算法原理

需求与满足度的相关提高权重算法原理

网站权重是什么,权重就代表一个网站的得分级别,权重越高排名能力就越强,同时可获得的关键词数量就越多。比如大家经...
seo绩效考核指标标准是什么?

seo绩效考核指标标准是什么?

优化人员的seo绩效考核标准是比较难制定的,在于很多地方无法衡量,尤其是外包公司,除了要做客户的运营之外,还要...
seo企业优化顾问如何针对网站做SEO分析?

seo企业优化顾问如何针对网站做SEO分析?

不过分的说,分析网站几乎每一个SEO站长都必须掌握的技能,因为只有学会分析网站,才能找出细微的问题,才能有所成...
网站怎么优化排名?一些平时积累的SEO收录知识总结

网站怎么优化排名?一些平时积累的SEO收录知识总结

经常有站长在优化网站的过程中不知所措,本人把一些平时积累的SEO收录知识总结成相关文章整理成笔记分享给大家,希...