3

我有一个网站,包含我的公开资料,用 Jekyll 制作。

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

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

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

3 回答 3

4

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 特定设置:

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

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

<meta>标签

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

<meta name="robots" content="noindex">

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

<meta name="googlebot" content="noindex">

HTTP 响应标头

除了元标记,您还可以在您的响应中返回X-Robots-Tag一个值为noindexor 或的标头。none下面是一个 HTTP 响应示例,其中X-Robots-Tag指示爬虫不要索引页面:

HTTP/1.1 200 OK
(...)
X-Robots-Tag: noindex
(...)

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

于 2017-11-02T19:30:07.877 回答
2

尝试:

---
layout: 
sitemap: false
---

因此,每当您sitemap: false在前面的内容中包含行时,您都可以从站点地图中排除该页面。


查看:

  • 添加gem 'jekyll-sitemap'到您的网站Gemfile并运行bundle
  • 将以下内容添加到您网站的 _config.yml 中:
plugins:
    - jekyll-sitemap
于 2021-04-12T23:38:19.393 回答
0

robots.txt 文件是一个很好的解决方案,但.htaccess可能更适合此目的。另外,请确保您有一个私有存储库!

请注意,将您的代码托管在CloudCannon(付费帐户)上可以让您在其界面中轻松设置所有这些内容。

于 2017-11-03T12:13:29.510 回答