如何告诉 Jekyll 对搜索引擎隐藏一页?
How to tell Jekyll to hide one page from search engines?
我有一个网站,其中包含我的 public 个人资料,是用 Jekyll 制作的。
它还包含一页,比如 'details.html',其中包含更多关于我的个人信息。我只希望那些我给 link 的人看到这个页面。特别是,我想从搜索引擎中隐藏它。
我该如何最好地做到这一点?我听说我可以添加 robots.txt 文件或包含元标记 'nofollow' 或 'noindex'。
- 这里的常用解决方案是什么?
- 如果要走的路是添加元标记,如何在给定标准 Jekyll 设置的情况下仅将其添加到一个页面中?
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: /
Jekyll 会自动 将 robots.txt
复制到生成站点的文件夹中。
您还可以测试您的 robots.txt
以确保它按您预期的方式工作:https://support.google.com/webmasters/answer/6062598?hl=en
更新 2021-08-02 - Google具体设置:
您可以阻止页面出现在 Google 搜索中,方法是在页面的 HTML 代码中包含 noindex
元标记,或者 return 添加 [= HTTP 响应中的 18=] header
有两种实现方式 noindex
:作为元标记和作为 HTTP 响应 header。它们具有相同的效果;选择对您的站点更方便的方法。
<meta>
标签
为防止大多数搜索引擎网络抓取工具将您网站上的网页编入索引,请将以下元标记放入网页的 <head>
部分:
<meta name="robots" content="noindex">
要仅阻止 Google 网络爬虫将页面编入索引:
<meta name="googlebot" content="noindex">
HTTP 响应 header
除了元标记,您还可以在响应中 return X-Robots-Tag
header,其值为 noindex
或 none
。下面是一个 HTTP 响应示例,其中 X-Robots-Tag
指示爬虫不要为页面编制索引:
HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)
更多详情:https://developers.google.com/search/docs/advanced/crawling/block-indexing
robots.txt 文件是一个很好的解决方案,但 .htaccess 可能更适合此目的。另外,请确保您有一个私有存储库!
请注意,在 CloudCannon(付费帐户)上托管您的代码可以让您在其界面中轻松设置所有这些内容。
尝试:
---
layout:
sitemap: false
---
因此,只要您在首页中包含 sitemap: false
行,就可以从您的站点地图中排除该页面。
检查:
- 将
gem 'jekyll-sitemap'
添加到您网站的 Gemfile
和 运行 bundle
- 将以下内容添加到您网站的 _config.yml:
plugins:
- jekyll-sitemap
我有一个网站,其中包含我的 public 个人资料,是用 Jekyll 制作的。
它还包含一页,比如 'details.html',其中包含更多关于我的个人信息。我只希望那些我给 link 的人看到这个页面。特别是,我想从搜索引擎中隐藏它。
我该如何最好地做到这一点?我听说我可以添加 robots.txt 文件或包含元标记 'nofollow' 或 'noindex'。
- 这里的常用解决方案是什么?
- 如果要走的路是添加元标记,如何在给定标准 Jekyll 设置的情况下仅将其添加到一个页面中?
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: /
Jekyll 会自动 将 robots.txt
复制到生成站点的文件夹中。
您还可以测试您的 robots.txt
以确保它按您预期的方式工作:https://support.google.com/webmasters/answer/6062598?hl=en
更新 2021-08-02 - Google具体设置:
您可以阻止页面出现在 Google 搜索中,方法是在页面的 HTML 代码中包含 noindex
元标记,或者 return 添加 [= HTTP 响应中的 18=] header
有两种实现方式 noindex
:作为元标记和作为 HTTP 响应 header。它们具有相同的效果;选择对您的站点更方便的方法。
<meta>
标签
为防止大多数搜索引擎网络抓取工具将您网站上的网页编入索引,请将以下元标记放入网页的 <head>
部分:
<meta name="robots" content="noindex">
要仅阻止 Google 网络爬虫将页面编入索引:
<meta name="googlebot" content="noindex">
HTTP 响应 header
除了元标记,您还可以在响应中 return X-Robots-Tag
header,其值为 noindex
或 none
。下面是一个 HTTP 响应示例,其中 X-Robots-Tag
指示爬虫不要为页面编制索引:
HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)
更多详情:https://developers.google.com/search/docs/advanced/crawling/block-indexing
robots.txt 文件是一个很好的解决方案,但 .htaccess 可能更适合此目的。另外,请确保您有一个私有存储库!
请注意,在 CloudCannon(付费帐户)上托管您的代码可以让您在其界面中轻松设置所有这些内容。
尝试:
---
layout:
sitemap: false
---
因此,只要您在首页中包含 sitemap: false
行,就可以从您的站点地图中排除该页面。
检查:
- 将
gem 'jekyll-sitemap'
添加到您网站的Gemfile
和 运行bundle
- 将以下内容添加到您网站的 _config.yml:
plugins:
- jekyll-sitemap