WordPress 5.7 的 Robots API 和 max-image-preview 指令

WordPress 5.7 引入了基于过滤器的Robots API,可对robots meta 标签进行集中控制 。此外,默认情况下还会向标签添加 max-image-preview:large指令。

通过robots meta标签,您可以利用特定于页面的细粒度方法来控制应如何对单个页面建立索引,并在搜索引擎结果中提供给用户。此meta标记通常放在给定页面的<head> 部分中:

<!DOCTYPE html>
<html>
<head>
<meta name="robots" content="max-image-preview:large" />
</head>

max-image-preview:large指令允许搜索引擎显示该站点的大图像预览,从而增强用户体验。现在,默认情况下会将指令添加到希望由搜索引擎建立索引的网站。

wp_robots() 新函数

WP 5.7 引入了一个输出 robots meta 标签的函数 wp_robots() 。该函数会自动与WordPress核心中的相关区域集成在一起,例如,该函数已添加到 wp_head 功能中,因此 robots meta标签在前端可用。插件和主题通常不应该手动调用此函数。但是对于特殊情况,例如不使用的自定义前端模板,wp_head()可以将新功能挂接到自定义过滤器中:

add_action( 'my_custom_template_head', 'wp_robots' );

如何连接到Robots API

robots meta标签属性可以使用过滤wp_robots挂钩。该 wp_robots() 函数完全基于过滤器,因此,如果未将过滤器添加到 wp_robots,则不会存在任何指令,因此将省略整个 robots  meta标签。

robots鼓励添加自己的元标记的插件开发人员切换到使用新的Robots API,将其自定义指令连接到wp_robots过滤器中。

默认的 robots meta标记值

如上所述,对于希望由搜索引擎建立索引的WordPress网站,robots现在默认情况下将meta标记包括在wp_head以下内容中:

<meta name="robots" content="max-image-preview:large" />

开发人员可以使用以下PHP代码段禁用此指令:

remove_filter( 'wp_robots', 'wp_robots_max_image_preview_large' );

Robots API还用于在某些特定屏幕上生成具有以下值的机器人元标记:

  • 与以前的版本一样,启用“禁止搜索引擎为该站点编制索引”设置时,前端会在Robots元标记中包含一个 noindex,nofollow 指令。在这种情况下,不会添加max-image-preview:large指令。
  • 与以前的版本一样,在Customizer预览中,该网站在Robots元标记中包含 noindex 指令。
  • 与以前的版本一样,WordPress登录页面(wp-activate.php) 在Robots meta标签以及标签中包含 noindex,noarchive 指令,以及添加 <meta name="referrer" content="strict-origin-when-cross-origin" />
  • 与以前的版本一样,在多站点网络中,在新注册用户确认新创建站点的站点激活页面(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核心有条件提供的各种单独注入的元标记。因此,以下函数已被弃用,不应再使用:

  • noindex() - 可以将新函数wp_robots_noindex()挂接到wp_robots过滤器中。
  • wp_no_robots() - 可以将新函数wp_robots_no_robots()挂接到wp_robots过滤器中。
  • wp_sensitive_page_meta() - 此函数放置了两个标签,因此有两个单独的替代品:
    • 对于noindex,noarchiverobots指令,可以将新函数 wp_robots_sensitive_page() 挂接到wp_robots过滤器中。
    • 对于额外的referrer标签,可以调用新函数 wp_strict_cross_origin_referrer()

要了解更多详情,请查看 #51511

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
欢迎关注我们的微信公众号:WPDAXUE

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注