我正在使用Github页面与Jekyll建立我的个人网站。我在username.github.io
repo中有一个主站点,项目projectA
repo中的一个站点,projectB
repo中的项目B等等。我在CNAME
repo下放了一个username.github.io
文件,以便我的所有网站都在自定义域名(www.mydomain.com
)下。我注意到,robots.txt
文件指向每个仓库下的sitemap.txt
文件,sitemap.txt
只能包含每个单独仓库中页面的页面链接。所以,我有几个问题:
由于我的网站的结构为www.mydomain.com
,www.mydomain.com/projectA
,www.mydomain.com/projectB
等与单个回购中的网页相对应,搜索引擎会识别我的所有网站页面即使sitemap.txt
头部回购下的username.github.io
只有单个回购中生成的页面链接?
在我的情况下编写robots.txt
文件的最佳方法是什么?
谢谢! 齐
答案 0 :(得分:2)
Sitemap:
是非标准扩展according to Wikipedia。请记住:
维基百科还将allow:
列为非标准扩展名。
You can specify more than one Sitemap file per robots.txt file.在robots.txt中指定多个站点地图时,格式如下:
Sitemap: http://www.example.com/sitemap-host1.xml
Sitemap: http://www.example.com/sitemap-host2.xml
还有一种类型的站点地图文件index of sitemap files。
如果您有Sitemap索引文件,则可以包含该文件的位置。您无需列出索引文件中列出的每个站点地图。
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap1.xml.gz</loc>
<lastmod>2004-10-01T18:23:17+00:00</lastmod>
</sitemap>
<sitemap>
<loc>http://www.example.com/sitemap2.xml.gz</loc>
<lastmod>2005-01-01</lastmod>
</sitemap>
</sitemapindex>
<lastmod>
是可选的。
使用Sitemaps协议,您可以让搜索引擎了解您要编入索引的内容。要告诉搜索引擎您不想编入索引的内容,请使用robots.txt文件或漫游器元标记。有关如何从搜索引擎中排除内容的详细信息,请参阅robotstxt.org。
如果您希望搜索引擎不对其进行索引,那么它应该位于robots.txt文件中(在用户页面存储库中):
User-agent: *
Disallow: /project_to_disallow/
Disallow: /projectname/page_to_disallow.html
或者,您可以使用robots tag。
User-agent: *
Disallow: /project_to_disallow/
Disallow: /projectname/page_to_disallow.html
Sitemap: http://www.example.com/sitemap.xml
Sitemap: http://www.example.com/projectA/sitemap.xml
Sitemap: http://www.example.com/projectB/sitemap.xml
或者,如果您使用的是站点地图索引文件
User-agent: *
Disallow: /project_to_disallow/
Disallow: /projectname/page_to_disallow.html
Sitemap: http://www.example.com/siteindex.xml
http://www.example.com/siteindex.xml
看起来像
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>http://www.example.com/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>http://www.example.com/projectA/sitemap.xml</loc>
</sitemap>
<sitemap>
<loc>http://www.example.com/projectB/sitemap.xml</loc>
</sitemap>
</sitemapindex>
有关如何使用GitHub页面设置robots.txt的信息,请参阅我的回答here。
答案 1 :(得分:1)
放在哪里简答:在你的顶级目录中 网络服务器。 来源:http://www.robotstxt.org/robotstxt.html
您还可以在google documentation中读取不会抓取www.mydomain.com/folder/robots.txt网址。
基本的www.mydomain.com/robots.txt可以是:
User-agent: *
这将通过以下链接指示抓取工具通过所有www.mydomain.com文件层次结构。
如果没有www.mydomain.com的页面引用您的项目页面,您可以添加:
User-agent: *
allow: /ProjectA
allow: /projectB