WordPress 5.7引入了基于过滤器的Robots API,可对robots meta标签进行集中控制,另外还会默认向标签添加max-image-preview:large指令。
![关于WordPress5.7的Robots API和max-image-preview指令介绍_SEO技术教程](https://oss.7li.net/wp-content/uploads/2022/06/20220613232300301.jpg)
1、什么是robots meta标签的max-image-preview:large指令
使用robots meta标签可利用特定于页面的细粒度方法来控制应如何对单个页面建立索引,索引展现在搜索结果中,并为用户解决问题,此robots meta标签一般是放在网站<head>标答内:
<!DOCTYPE html>
<html>
<head>
<meta name=”robots” content=”max-image-preview:large” />
</head>
robots meta标签的max-image-preview:large指令作用是允许搜索引擎显示该网页的大图像预览,提高用户浏览体验,一般会默认将此指令添加到允许搜索引擎抓取的网站页面。
2、robots meta标签的wp_robots() 新函数
在WordPress 5.7中引入了一个输出robots meta 标签的函数wp_robots(),此函数自动与WordPress 5.7核心相关区域集成在一起,例如该函数已添加到wp_head功能中,所以robots meta标签在网页前端页面可用,但于主题程序和插件程序就不建议使用了,但对于某些特殊情况,例如不使用前端网页自定义模板,wp_head()可将新功能挂接到自定义过滤器中:
add_action( ‘my_custom_template_head’, ‘wp_robots’ );
3、如何连接到Robots API
该robots meta标签属性可以使用过滤wp_robots挂钩,该wp_robots()函数完全基于过滤器,所以如果未将过滤器添加到wp_robots,则不会存在任何指令,将会省略整个robots eta标签。
robots鼓励添加自己的元标记的插件开发人员切换到使用新的Robots API,将其自定义指令连接到wp_robots过滤器中。
默认的 robots meta标记值
如上所述,对于希望由搜索引擎建立索引的WordPress网站,robots现在默认情况下将meta标记包括在wp_head以下内容中:
<meta name=”robots” content=”max-image-preview:large” />
开发人员可以使用以下PHP代码段禁用此指令:
remove_filter( ‘S;wp_robots’, ‘wp_robots_max_image_preview_large’ );
Robots API还用于在某些特定屏幕上生成具有以下值的机器人元标记:
1)与以前的版本一样,启用“禁止搜索引擎为该站点编制索引”设置时,前端会在Robots元标记中包含一个 noindex,nofollow指令。在这种情况下,不会添加max-image-preview:large指令。
2)与以前的版本一样,在Customizer预览中,该网站在Robots元标记中包含 noindex 指令。
3)与以前的版本一样,WordPress登录页面(wp-activate.php) 在Robots meta标签以及标签中包含 noindex,noarchive 指令,以及添加 <meta name=”referrer” content=”strict-origin-when-cross-origin” />。
4)与以前的版本一样,在多站点网络中,在新注册用户确认新创建站点的站点激活页面(wp-activate.php)中,在 Robots meta标记中添加 noindex,noarchive 指令,以及添加<meta name=”referrer” content=”strict-origin-when-cross-origin” /> 。
向robots meta标记添加自定义值
wp_robots过滤器可以接受键值对的数组。要将自定义值添加到robots meta标记,请使用以下过滤器:
function wporg_wp_robots_add_follow( $robots ) {
$robots[‘follow’] = true;
return $robots;
}
add_filter( ‘wp_robots’, ‘wporg_wp_robots_add_follow’ );
它将在所有现有值之外添加follow值。鉴于已经默认添加了max-image-preview:large,此代码段将生成以下内容:
<meta name=”robots” content=”max-image-preview:large, follow” />
也可以取消设置现有值:
function wporg_wp_robots_add_follow( $robots ) {
unset( $robots[‘max-image-preview’] );
$robots[‘follow’] = true;
return $robots;
}
add_filter( ‘wp_robots’, ‘wporg_wp_robots_add_follow’ );
不推荐使用的函数
通过wp_robots过滤器控制的新机器人API取代robots了,WordPress核心有条件提供的各种单独注入元标记。因此,以下函数已被弃用,不应再使用:
1)noindex() – 可以将新函数wp_robots_noindex()挂接到wp_robots过滤器中。
1)wp_no_robots() – 可以将新函数wp_robots_no_robots()挂接到wp_robots过滤器中。
1)wp_sensitive_page_meta() – 此函数放置了两个标签,因此有两个单独的替代品:
(1)对于noindex,noarchiverobots指令,可以将新函数 wp_robots_sensitive_page() 挂接到wp_robots过滤器中。
(2)对于额外的referrer标签,可以调用新函数 wp_strict_cross_origin_referrer()。