Github 页的停止索引

Stopping index of Github pages

我的存储库中有一个 github 页面 username.github.io

但是我不希望 Google 抓取我的网站,绝对不希望它出现在搜索结果中。

仅在 github 页面中使用 robots.txt 可以吗?我知道有停止索引 Github 存储库的教程,但是实际的 Github 页面呢?

Will just using robots.txt in github pages work?

如果您使用默认的 GitHub Pages 子域,则不会,因为 Google 只会检查 https://github.io/robots.txt

你可以确定you don't have a master branch, or that your GitHub repo is a private one, although, as by olavimmanuel and detailed in olavimmanuel's ,这不会改变任何东西。

但是,如果您使用 custom domain with your GitHub Pages site, you can place a robots.txt file at the root of your repo and it will work as expected. One example of using this pattern is the repo for Bootstrap

然而,bmaupin points out, from Google's own documentation:

A robots.txt file tells search engine crawlers which URLs the crawler can access on your site.

This is used mainly to avoid overloading your site with requests; it is not a mechanism for keeping a web page out of Google.

To keep a web page out of Google, block indexing with noindex or password-protect the page."

我不知道它是否仍然相关,但是 google says 你可以用 meta 标签来阻止蜘蛛:

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

不过我不确定这是否适用于所有蜘蛛,还是仅适用于 google。

简答:

您可以使用 robots.txt to stop indexing of your users GitHub Pages by adding it in your User Page。此 robots.txt 将成为您所有项目页面的活动 robots.txt,因为项目页面可以作为您子域中的子目录 (username.github.io/project) 访问(用户名.github.io).


更长的答案:

您为 GitHub 个页面 (username.github.io) 获得自己的子域。根据 this question on MOZ and googles reference 每个子域 has/needs 它自己的 robots.txt.

这意味着用户 username 的项目 projectname 的 valid/active robots.txt 居住在 username.github.io/robots.txt。您可以通过为您的用户创建 GitHub 页面来将 robots.txt 文件放在那里。

这是通过创建一个名为 username.github.io 的新 project/repository 来完成的,其中 username 是您的用户名。您现在可以在此 project/repository 的主分支中创建一个 robots.txt 文件,它应该在 username.github.io/robots.txt 中可见。有关项目、用户和组织页面的更多信息,请参见 here

我已经用 Google 测试了这个,通过在我的 project/repository https://github.com/myusername/myusername.github.io/tree/master 中放置一个 html 文件来确认 myusername.github.io 的所有权,创建一个 robot.txt 文件,然后使用 Googles Search Console webmaster tools (googlebot-fetch). Google does indeed list it as blocked and Google Search Console webmaster tools (robots-testing-tool) 确认我的 robots.txt 是否有效。

为一个项目屏蔽机器人GitHub页面:

User-agent: *
Disallow: /projectname/

为您的用户(用户页面和所有项目页面)的所有 GitHub 页面阻止机器人:

User-agent: *
Disallow: /

其他选项

Google 不建议使用 robots.txt 文件来不索引网站(在这种情况下为 GitHub 页面)。事实上,即使您阻止了 google 机器人,大多数时候它确实会被编入索引。

相反,您应该在页眉中添加以下内容,即使您不使用自定义域也应该易于控制。

<meta name='robots' content='noindex,nofollow' />

这将告诉 Google 不要索引它。如果你只阻止 google 机器人访问你的网站,它仍然会像 90% 的时间一样索引,只是不会显示元描述。