如何告诉 Jekyll 对搜索引擎隐藏一页?

Ale*_*rdt 4 noindex jekyll

我有一个由我的公开个人资料组成的网站,用 Jekyll 制作。

它还包含一个页面,例如“details.html”,其中包含有关我的更多个人信息。我只希望那些我向其提供链接的人能够看到此页面。特别是,我想对搜索引擎隐藏它。

我怎样才能最好地做到这一点?我听说我可以添加 robots.txt 文件或包含元标记“nofollow”或“noindex”。

  1. 这里通常的解决方案是什么?
  2. 如果方法是添加元标记,那么在给定标准 Jekyll 设置的情况下,如何将其添加到仅一个页面中?

Cai*_*ete 6

robots.txt是告诉搜索引擎哪些内容应该索引、哪些内容不应该索引的标准方式(不仅适用于 Jekyll,而且适用于一般网站)。

只需在 Jekyll 站点的根目录中创建一个名为的文件robots.txt,其中包含不应编制索引的路径。

例如

User-agent: *
Disallow: /2017/02/11/post-that-should-not-be-indexed/
Disallow: /page-that-should-not-be-indexed/
Allow: /
Run Code Online (Sandbox Code Playgroud)

Jekyll 会自动将其复制robots.txt到生成站点的文件夹中。


您还可以测试您的robots.txt以确保它按照您期望的方式工作:https://support.google.com/webmasters/answer/6062598?hl=en


更新 2021-08-02 - Google 特定设置:

noindex您可以通过在网页的 HTML 代码中包含元标记或noindex在 HTTP 响应中返回标头来阻止网页显示在 Google 搜索中

有两种实现方法noindex:作为元标记和作为 HTTP 响应标头。它们具有相同的效果;选择对您的站点更方便的方法。

<meta>标签

为了防止大多数搜索引擎网络爬虫对您网站上的页面建立索引,请将以下元标记放入<head>您的页面部分:

<meta name="robots" content="noindex">
Run Code Online (Sandbox Code Playgroud)

要阻止仅 Google 网络爬虫将页面编入索引:

<meta name="googlebot" content="noindex">
Run Code Online (Sandbox Code Playgroud)

HTTP 响应头

您还可以在响应中返回一个X-Robots-Tag值为 或noindex的标头,而不是元标记。none下面是一个 HTTP 响应示例,其中X-Robots-Tag指示爬网程序不要对页面建立索引:

HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)
Run Code Online (Sandbox Code Playgroud)

更多详细信息:https ://developers.google.com/search/docs/advanced/crawling/block-indexing


Mil*_*vić 6

尝试:

\n
---\nlayout: \nsitemap: false\n---\n
Run Code Online (Sandbox Code Playgroud)\n

因此,只要您sitemap: false在头版中包含该行,您就可以从站点地图中排除该页面。

\n
\n

查看:

\n
    \n
  • 添加gem \'jekyll-sitemap\'到您的站点\xe2\x80\x99sGemfile并运行bundle
  • \n
  • 将以下内容添加到您的 site\xe2\x80\x99s _config.yml 中:
  • \n
\n
---\nlayout: \nsitemap: false\n---\n
Run Code Online (Sandbox Code Playgroud)\n