[英]Wordpress remove Robots Meta Tag noindex
遇到 wordpress 站点元机器人标签的奇怪问题。 所有页面都有以下元标记,我们似乎无法将其删除
<meta name="robots" content="noindex,follow"/>
我们在“设置”>“阅读”>“搜索引擎可见性”中取消选中“阻止搜索引擎索引此站点”,但它什么也没做。
我们正在使用 Yoast SEO 插件,但即使禁用它,它仍然存在。 事实上,我们已经尝试禁用所有插件以检查没有任何干扰。
我们已经设置我们的 Robots.txt 文件如下:
User-agent: *
Disallow:
Sitemap: http://speysidedistillery.co.uk/sitemap.xml
我不确定 Robots.txt 是否优先于 robots 元标记,而且似乎没有明确的答案,据我所知,最严格的答案将优先于 meta 标记。
这主要给我们的 google 列表带来了问题,警告“由于该网站的 robots.txt,此结果的描述不可用”而不是我们的网站描述。
如果情况变得更糟,我们可以在 wp-includes/general-templates.php 中编辑 wp_no_robots function,但更愿意在不编辑 wp 核心文件的情况下解决这个问题。
任何人都可以照亮这一切都会很棒,因为我们不知所措,干杯
我为客户开发了一个电子商务网站,我被这个问题困扰了一个多星期,除了主页之外,所有页面都被编入索引。
经过对 Yoast Seo 插件的长时间调试,我为你们找到了一个解决方案。
解决方案 主页上有一个搜索页面(用于搜索产品)。 默认情况下,Yoast 禁用搜索页面和 404 页面的“索引”元标记。 有趣的是,如果您的主页上有搜索页面或搜索功能,您的网站可能不会被谷歌或任何其他搜索引擎编入索引。
要通过 Yoast SEO 插件修复此默认值,请按照以下步骤操作:
第 1 步:登录您的 cpanel 并导航到 /public_html/yourwebsite.com/wp-content/themes/nameOfTheme/functions.php 将此行代码添加到您主题的 function.php 文件中(在页面顶部)
/**
* EDITED BY OBOT ERNEST
* REMOVES NOINDEX META TAG FROM HOME PAGE & SEARCH PAGE IMPLEMENTED BY YOAST
*/
add_filter('wpseo_robots', 'yoast_no_home_noindex', 999);
function yoast_no_home_noindex($string= "") {
if (is_home() || is_front_page() || is_search()) {
$string= "index,follow";
}
return $string;
}
粘贴代码后,保存并关闭文件。
步骤 2 请注意,第二步适用于使用以下任何 SEO 插件(Yoast Premium、Yoast Free 或 wordpress-seo-premium 插件)的用户
导航到:/public_html/youwebsite.com/wp-content/plugins/wordpress-seo-premium/frontend/class-frontend.php
用下面的代码替换第 713 行的代码:
if ( is_search() ) {
$robots['index'] = 'index';
}
if ( is_404() ) {
$robots['index'] = 'noindex';
}
保存文件并关闭
恭喜! 你刚刚做到了。 伙计们,它工作得很好!
add_action( 'init', 'remove_wc_page_noindex' );
function remove_wc_page_noindex() {
remove_action( 'wp_head', 'wc_page_noindex' );
}
这个问题似乎是在三个线程上:
如果您使用的是 Roots Bedrock,请检查.env
文件中WP_ENV
的值。 如果它设置为development
那么这会自动覆盖blog_public
的值始终为false
,这意味着“无机器人元”总是被注入。
只需在您的.env
文件WP_ENV='production'
其更改为WP_ENV='production'
,保存更改即可。
我研究了许多解决方案但无法更新它,甚至通过添加以下代码片段更新了 functions.php 文件。 您需要更新“class-frontend.php”,但我找不到。 然后我试了一下,它对我有用。
add_filter('wpseo_robots', 'yoast_no_home_noindex', 999);
function yoast_no_home_noindex($string= "") {
if (is_home() || is_front_page() || is_search()) {
$string= "index,follow";
}
return $string;
}
go 外观 -> 主题编辑器 -> header.php
你可以试试这个选项->隐私->博客可见性。 您已将其设置为阻止搜索引擎。
检查主题文件夹中的header.php
文件。
我删除了yoast并重新安装。 重新安装时问是否要索引,这次我选择是。 有效。 但幸运的是,对我来说,我没有做太多 seo,第一次可能是 1 或 2 页。
如何删除 WordPress 机器人元标记 noindex, nofollow
我们将向您展示如何使用替换管理面板中的一些代码来删除 WordPress 中的 meta name='robots' content='noindex nofollow',没有插件请求。
第 1 步 – 登录您的 cPanel
好了,你登录 public_html 目录,现在你找到一个文件夹,名字wp-includes ,双击打开这个文件夹。 同时,还有这么多文件夹和文件,深吸一口气,只需单击键盘 Ctrl+f 并键入general-template.php 。
第 2 步 - 编辑 general-template.php 文件
在general-template.php 中找到此代码
function wp_no_robots() {
if ( get_option( 'blog_public' ) ) {
echo "<meta name='robots' content='noindex,follow' />\n";
return;
}
echo "<meta name='robots' content='noindex,nofollow' />\n";
}
首先用以下代码替换:
function wp_no_robots() {
if ( get_option( 'blog_public' ) ) {
echo "<meta name='robots' content='index,follow' />\n";
return;
}
echo "<meta name='robots' content='index,follow' />\n";
}
2 – 找到第二个代码相同的文件general-template.php:
这个
function wp_sensitive_page_meta() {
?>
<meta name='robots' content='noindex,noarchive' />
<meta name='referrer' content='strict-origin-when-cross-origin' />
<?php
}
替换为
function wp_sensitive_page_meta() {
?>
<meta name='robots' content='index,archive' />
<meta name='referrer' content='strict-origin-when-cross-origin' />
<?php
}
完成后,返回网站检查,切换到 Search Console,重新提交您之前尝试过的 URL。 URL 检查报告应该没有所有警告和错误消息,至少是与索引和抓取能力相关的警告和错误消息,并且您将能够“请求索引”。
我找到了一个 100% 有效的解决方案 在此处阅读完整详细信息
导航到 Yoast SEO -> 搜索外观。 根据您需要由 google 编入索引的页面,选择选项卡Content Type
或Taxonomies
。
就我而言,谷歌无法索引我的标签页面(/tag/tag-name)),所以我Show Tags in search result?
切换了Show Tags in search result?
Yes
。 它将从以下位置更改机器人元标记:
<meta name="robots" content="noindex, follow" />
到
<meta name="robots" content="index, follow" />
希望能帮上忙。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.