跳至内容

爬取和索引

搜索引擎专用元标签

元机器人标签是搜索引擎始终会尊重的指令。添加这些机器人标签可以使网站的索引更容易。

指令和建议之间存在差异。 元机器人标签robots.txt 文件是指令,将始终被遵守。规范标签建议,Google 可以选择遵守或不遵守。

在页面级元标签方面有很多选项,但以下是一些通常与 SEO 相关的示例

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

robots 标签可能是你最常看到的标签。默认情况下,它的值为 index,follow,因此无需指定,all 也是一个有效的替代版本

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

通过将 robots 标签设置为 noindex,nofollow(如上例所示),它将指示搜索引擎

  • noindex

    不要在搜索结果中显示此页面。省略 noindex 将指示页面可以被索引并在搜索结果中显示。

    在构建网站时,你可能不想索引某些页面。常见用例包括设置页面、内部搜索页面、策略等等。

  • nofollow

    不要跟踪此页面上的链接。省略此操作将允许机器人爬取和跟踪此页面上的链接。在其他页面上找到的链接可能会启用爬取,因此,如果 链接 A 出现在页面 XY 中,并且 X 具有 nofollow 机器人标签,但 Y 没有,Google 可能会决定爬取该链接。


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

Googlebot 标签

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

你可能还会偶尔看到 googlebot 标签。在大多数情况下,robots 是你唯一需要的。该 googlebot 标签特定于 Google。如果你希望为 Googlebot 设置单独的规则,而为其余的搜索机器人设置通用规则,请使用此标签。

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

你可能想知道,如果可以将不想被爬取的 URL 添加到你的 robots.txt 中,为什么还需要这些标签。元标签使你可以灵活地根据需要将页面标记为 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 通常会在搜索结果中提供指向翻译版本的链接。

通常,这让你有机会向更大范围的用户提供独特且引人入胜的内容。但是,在某些情况下,这可能不是你想要的。此元标签告诉 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 属性,这将确保标签仅渲染一次。


快速回顾

元标签应该放在哪里?