元机器人标签是搜索引擎始终会尊重的指令。添加这些机器人标签可以使网站的索引更容易。
指令和建议之间存在差异。 元机器人标签或robots.txt
文件是指令,将始终被遵守。规范标签是建议,Google 可以选择遵守或不遵守。
在页面级元标签方面有很多选项,但以下是一些通常与 SEO 相关的示例
<meta name="robots" content="noindex,nofollow" />
robots 标签可能是你最常看到的标签。默认情况下,它的值为 index,follow
,因此无需指定,all
也是一个有效的替代版本
<meta name="robots" content="all" />
通过将 robots 标签设置为 noindex,nofollow
(如上例所示),它将指示搜索引擎
不要在搜索结果中显示此页面。省略 noindex
将指示页面可以被索引并在搜索结果中显示。
在构建网站时,你可能不想索引某些页面。常见用例包括设置页面、内部搜索页面、策略等等。
不要跟踪此页面上的链接。省略此操作将允许机器人爬取和跟踪此页面上的链接。在其他页面上找到的链接可能会启用爬取,因此,如果 链接 A
出现在页面 X
和 Y
中,并且 X
具有 nofollow
机器人标签,但 Y
没有,Google 可能会决定爬取该链接。
注意:你可以在 Google 官方文档中查看指令的完整列表。
<meta name="googlebot" content="noindex,nofollow" />
你可能还会偶尔看到 googlebot
标签。在大多数情况下,robots
是你唯一需要的。该 googlebot
标签特定于 Google。如果你希望为 Googlebot 设置单独的规则,而为其余的搜索机器人设置通用规则,请使用此标签。
如果存在冲突的标签,则应用限制性更强的标签。
你可能想知道,如果可以将不想被爬取的 URL 添加到你的 robots.txt
中,为什么还需要这些标签。元标签使你可以灵活地根据需要将页面标记为 noindex
。
例如,如果你对产品页面应用过滤器,最终没有结果,则通常的做法是将此页面 noindex
。
通过 robots.txt 文件限制机器人爬取的 URL 永远不会被 Google 爬取,但如果在页面已被索引后添加了规则,则页面可能会保留索引。确保页面未被索引的最佳方法是使用 `noindex` 标签。
注意:Google 可以决定在不爬取页面的情况下对其进行索引。这种情况极其罕见,但当 Google 希望页面满足特定的搜索结果,并且确定页面包含用户期望的内容时才会发生。
<meta name="google" content="nositelinkssearchbox" />
当用户搜索你的网站时,Google 搜索结果有时会显示一个特定于你的网站的搜索框,以及其他指向你的网站的直接链接。此标签告诉 Google 不要显示网站链接搜索框。
<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
属性,这将确保标签仅渲染一次。