sza*_*gab 61 robots.txt github
我使用Github存储我的一个网站的文本,但问题是谷歌也在Github索引文本.因此,相同的文本将显示在我的网站和Github上.例如,这个搜索最热门的是我的网站.第二个命中是Github存储库.
我不介意人们是否看到消息来源,但我不希望Google对其进行索引(并且可能会对重复内容进行处罚.)除了将存储库设为私有之外,还有什么方法可以告诉Google停止对其进行索引吗?
在Github Pages的情况下会发生什么?这些是源在Github存储库中的站点.他们有同样的重复问题吗?
sza*_*gab 78
GitHub 的https://github.com/robots.txt文件允许对'master'分支中的blob进行索引,但是限制所有其他分支.因此,如果您没有"主"分支,Google就不应该为您的网页编制索引.
如何删除'master'分支:
在你的克隆中创建一个新的分支 - 让我们称之为'main'并将其推送到GitHub
git checkout -b main
git push -u origin main
Run Code Online (Sandbox Code Playgroud)
在GitHub上更改默认分支(请参阅存储库的"设置"部分)或https://github.com/blog/421-pick-your-default-branch
然后从克隆和GitHub中删除master分支:
git branch -d master
git push origin :master
Run Code Online (Sandbox Code Playgroud)
让其他可能已经分叉您的存储库的人也这样做.
或者,如果您想在经济上支持GitHub,您可以私有化https://help.github.com/articles/making-a-public-repository-private
小智 7
我可以想到目前有效的两种解决方案:
tags
. 例如,将my-repo
其重命名为 ,而不是tags-my-repo
。或者:为什么我认为此线程中的旧解决方案不再有效: https://github.com/robots.txt从那时起已发生变化。在 2013 年提出最初的问题时,robots.txt 看起来像这样:
User-agent: Googlebot
Allow: /*/*/tree/master
Allow: /*/*/blob/master
Disallow: /ekansa/Open-Context-Data
Disallow: /ekansa/opencontext-*
Disallow: /*/*/pulse
Disallow: /*/*/tree/*
...
Run Code Online (Sandbox Code Playgroud)
而现在没有Allow
s 而只有Disallow
s:
User-agent: *
Disallow: /*/pulse
Disallow: /*/tree/
Disallow: /gist/
Disallow: /*/forks
...
Disallow: /*/branches
Disallow: /*/tags
...
Run Code Online (Sandbox Code Playgroud)
如果您只是创建一个新分支,将其设置为默认分支,然后删除旧分支,则 URLhttps://github.com/user-name/repo-name
将仅显示新的默认分支并在当前robots.txt
.
我的上述解决方案如何工作:( 它们基于Google当前解释robots.txt的方式)
解决方案 1将使您的存储库的 URL match Disallow: /*/tags
,从而将其排除在抓取之外。因此,事实上,您可以使用表单disallow
路径中的任何单个单词作为存储库名称的前缀/*/word
,而无需以斜杠结尾(因此tree
不起作用,因为Disallow: /*/tree/
以斜杠结尾)。
解决方案 2只是确保默认分支(唯一被爬网的分支)不包含您不希望爬网的内容。换句话说,它将所有相关内容“移动”到一个分支,因此它们位于https://github.com/user-name/repo-name/tree/branch-name
,由于 而不会被抓取Disallow: /*/tree/
。
免责声明
robots.txt
任何给定时间点的情况。 归档时间: |
|
查看次数: |
19906 次 |
最近记录: |