我有一个网站,包含我的公开资料,用 Jekyll 制作。
它还包含一个页面,例如“details.html”,其中包含有关我的更多个人信息。我只希望那些我给出链接的人看到这个页面。特别是,我想对搜索引擎隐藏它。
我怎样才能最好地做到这一点?我听说我可以添加 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
noindex
您可以通过在页面的 HTML 代码中包含元标记或noindex
在 HTTP 响应中返回标头来阻止页面出现在 Google 搜索中
有两种实现方式noindex
:作为元标记和作为 HTTP 响应标头。它们具有相同的效果;选择对您的站点更方便的方法。
<meta>
标签为防止大多数搜索引擎网络爬虫将您网站上的页面编入索引,请将以下元标记放入<head>
您的页面部分:
<meta name="robots" content="noindex">
要阻止仅 Google 网络爬虫将页面编入索引:
<meta name="googlebot" content="noindex">
除了元标记,您还可以在您的响应中返回X-Robots-Tag
一个值为noindex
or 或的标头。none
下面是一个 HTTP 响应示例,其中X-Robots-Tag
指示爬虫不要索引页面:
HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)
更多详情:https ://developers.google.com/search/docs/advanced/crawling/block-indexing
尝试:
---
layout:
sitemap: false
---
因此,每当您sitemap: false
在前面的内容中包含行时,您都可以从站点地图中排除该页面。
查看:
gem 'jekyll-sitemap'
到您的网站Gemfile
并运行bundle
plugins:
- jekyll-sitemap
robots.txt 文件是一个很好的解决方案,但.htaccess可能更适合此目的。另外,请确保您有一个私有存储库!
请注意,将您的代码托管在CloudCannon(付费帐户)上可以让您在其界面中轻松设置所有这些内容。