我已经做了一些研究并使用了这段代码
remove_action('wp_head','noindex',1);
但显然它并没有删除<meta name="robots" content="noindex,follow"/>
我的 WordPress 标头中的 。我正在使用 WordPress 4.2.3
使用 WordPress 5.7.0 中引入的wp_robots挂钩来过滤其机器人元标记输出。
示例功能:
add_filter( 'wp_robots', 'wp_robots_remove_noindex', 999 );
function wp_robots_remove_noindex( $robots ){
//put any conditionals here to target certain pages
if ( is_search() || is_archive( ) || is_404( ) ) {
//set the index and noindex array items
$robots[ 'index' ] = true;
$robots[ 'noindex' ] = false;
}
return $robots;
}
这将产生以下输出:
<meta name='robots' content='index, follow' />
我在这里找到了一个对我有用的解决方案: https ://wordpress.org/support/topic/disable-noindex-on-certain-core-pages-2/
add_action( 'init', 'remove_wc_page_noindex' );
function remove_wc_page_noindex(){
remove_action( 'wp_head', 'wc_page_noindex' );
}
这个问题似乎在三个线程上:
登录到您的 WordPress 网站。
登录后,您将在“仪表板”中。
点击“设置”。在左侧,您将看到一个菜单。...
点击“阅读”。...
取消选中“阻止搜索引擎将此站点编入索引”。
单击“保存更改”。
我将向您展示如何使用替换管理面板中的一些代码来删除 WordPress 中的 meta name='robots' content='noindex nofollow'。
第 1 步 - public_html → wp-includes → general-template.php
好了,你登录到public_html目录,现在你找到了一个文件夹,名字是wp-includes,双击打开这个文件夹。同时,有这么多的文件夹和文件,喘口气,只需点击键盘Ctrl+f找到文件并输入general-template.php。
第 2 步 - 编辑两个函数
- 第一个代码函数查找:
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";
}
- 第二代码功能查找:
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
}