禁用 WP 提要时在产品提要上出现 5XX 错误

Getting 5XX error on product feeds when disabling WP feeds

禁用 wordpress 提要后,我在 Google Search Console 中收到 5XX 错误。它正常工作了大约 6 个月,但它不再正常工作。我试图寻找解决方案,我试图查看是否有一些代码已被弃用,但我没有在搜索中看到任何突出显示这一点的内容。下面列出了我添加的用于禁用提要的代码。

我试图在 google 和堆栈溢出中进行搜索,但没有找到解决此问题的方法。我确实在 Google 搜索中找到了初始代码,但没有找到 5XX xml 错误消息的解决方案。

function wpb_disable_feed() { wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );}

add_action('do_feed', 'wpb_disable_feed', 1);
add_action('do_feed_rdf', 'wpb_disable_feed', 1);
add_action('do_feed_rss', 'wpb_disable_feed', 1);
add_action('do_feed_rss2', 'wpb_disable_feed', 1);
add_action('do_feed_atom', 'wpb_disable_feed', 1);
add_action('do_feed_rss2_comments', 'wpb_disable_feed', 1);
add_action('do_feed_atom_comments', 'wpb_disable_feed', 1);

第一步:从您网站的版块中删除 Feed links。

add_action('wp_head', 'wpse33072_wp_head', 1);

从 wp_head

中删除 Feed links
function wpse33072_wp_head (){ remove_action('wp_head', 'feed_links', 2); remove_action('wp_head', 'feed_links_extra', 3);}

预期结果是一个简单的容器,在您访问提要 URL 时显示 "no feed available, please visit our homepage"。当您查看源代码时,您应该看不到 header 中提要的 link。

实际结果是feed的header link没有了,已经去掉了,这个是对的,也是上面代码的第二部分,我我在访问提要 URL 时收到了提要中的 xml 错误,这不是我所期望的。那来自我提供的代码的第一部分。所以问题似乎出在函数 "wpb_disable_feed" 中。

我唯一的想法是其他一些代码可能与此代码冲突。我只是还没有找到它,但我会的,希望能得到社区的一点帮助。

默认情况下 wp_die() 将 return 500 状态代码,这将影响您的 GCS 报告。

尝试使用以下代码 return 200 状态代码:

function wpb_disable_feed() {
    wp_die(
        __('No feed available, please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!'),
        'No feed available',
        array('response' => 200)
    );
}

你解决过这个问题吗?

我也试图禁用这些 RSS 提要,但是当调用 wp_die() 时,我没有得到一个带有盒装内容的漂亮 HTML 页面,相反我得到了这个讨厌的东西:“ 这个 XML 文件似乎没有任何关联的样式信息。" 当我浏览到 https://website/feed/

顺便说一下,wp_die() 函数接受 message + title + arguments ,您可以提供状态代码作为参数,例如:

wp_die( 'You Died','Dead',200 );

这将 return HTTP200 而不是默认的 HTTP500。