搜索引擎专用元标签

元机器人标签 (meta robot tags) 是搜索引擎始终会遵循的指令。添加这些机器人标签可以使您的网站更易于被索引。

指令与建议之间存在区别。

元机器人标签robots.txt 文件属于强制指令,搜索引擎必须遵守。而规范标签 (canonical tags) 属于建议,Google 可以选择是否遵循。

页面级元标签有许多选项,以下是与 SEO 相关的常见示例:

<meta name="robots" content="noindex,nofollow" />

机器人标签可能是您最常见到的标签。默认情况下,其值为 index,follow,因此无需特别指定,all 也是一个有效的替代版本:

<meta name="robots" content="all" />

如上述示例所示,将机器人标签设置为 noindex,nofollow 时,它会向搜索引擎指示:

  • noindex:不将此页面显示在搜索结果中。省略 noindex 则表示该页面可以被索引并显示在搜索结果中。构建网站时,您可能不希望某些页面被索引。常见的用例包括设置页面、内部搜索页面、政策页面等。
  • nofollow:不跟踪此页面上的链接。省略此选项将允许机器人抓取并跟踪此页面上的链接。在其他页面上发现的链接可能允许抓取,因此省略 nofollow 将允许 Google 抓取并跟踪此页面上的链接。如果 link A 出现在页面 XY 上,且 X 带有 nofollow 机器人标签而 Y 没有,Google 可能会决定抓取该链接。

注意: 您可以在 Google 官方文档 中查看完整的指令列表。

Googlebot 标签

<meta name="googlebot" content="noindex,nofollow" />

有时您可能还会看到 googlebot 标签。在大多数情况下,robots 标签就足够了。googlebot 标签是 Google 专用的。如果您想为 Googlebot 设置单独的规则,并为其他搜索引擎机器人设置通用规则,可以使用此标签。

如果存在冲突的标签,将应用限制性更强的标签。

您可能会疑惑,既然可以通过 robots.txt 添加不希望被抓取的 URL,为什么还需要这些标签。元标签提供了灵活性,可以按需将页面标记为 noindex

例如,如果您对产品页面应用筛选条件后没有结果,通常的做法是将此页面标记为 noindex

通过 robots.txt 文件限制机器人抓取的 URL 永远不会被 Google 抓取,但如果规则是在页面已被索引后添加的,这些页面可能仍会保持索引状态。确保页面不被索引的最佳方法是使用 noindex 标签。

注意: Google 可能会决定在不抓取页面的情况下索引该页面。这种情况极为罕见,通常发生在 Google 需要某个页面来满足特定搜索结果,并确信该页面包含用户期望的内容时。

Google 标签

nositelinkssearchbox

<meta name="google" content="nositelinkssearchbox" />

当用户搜索您的网站时,Google 搜索结果有时会显示一个专属于您网站的搜索框,以及其他直接链接。此标签告诉 Google 不要显示网站链接搜索框。

notranslate

<meta name="google" content="notranslate" />

当 Google 检测到网站内容不是用户可能希望阅读的语言时,通常会在搜索结果中提供翻译链接。

一般来说,这使您有机会向更广泛的用户群体提供独特且有吸引力的内容。但在某些情况下,这可能不是您所期望的。此元标签告诉 Google 您不希望为此页面提供翻译。

示例

现在我们已经介绍了一些您可能会遇到的常见标签,以下是一个使用其中部分标签的页面示例:

import Head from 'next/head';
 
function IndexPage() {
  return (
    <div>
      <Head>
        <title>Meta Tag Example</title>
        <meta name="google" content="nositelinkssearchbox" key="sitelinks" />
        <meta name="google" content="notranslate" key="notranslate" />
      </Head>
      <p>Here we show some meta tags off!</p>
    </div>
  );
}
 
export default IndexPage;

如示例所示,我们使用了 next/head,这是一个内置组件,用于向页面的 head 添加元素。为避免 head 中出现重复标签,您可以使用 key 属性,确保标签仅渲染一次。