0

当我第一次开始使用 LESS CSS 开发我的网站时,我在判断上犯了一个愚蠢的错误。使用 LESS,如果您在 URL 末尾包含 #!watch,您可以看到实时更新。因此,作为一个适当的懒惰开发人员,我在我的开发页面上制作了一个只有我知道的按钮,它会在当前 URL 后面加上 #!watch。

但是,Google 将该 href 视为合法链接,现在我的所有页面都被索引了两次 - 一次用于“正常”页面,一次是在 URL 上附加了 #!watch。

我的问题是如何从 Google 索引中删除 !#watch?robots.txt 行可以做到这一点吗?这真的不是什么大问题,但我也在内部使用谷歌自定义搜索,所以当用户在我的网站内搜索时,我为相同的内容提供了太多的结果。

4

2 回答 2

1

我要做的是设置一个 sitemap.xml 文档,其中每个违规链接都设置为过期。我编写了一个简短的 python 脚本来遍历每一行(大约 18,000 个链接)并输出格式化的 xml。看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    <url>
        <loc>http://oq.totaleclips.com/mpa/The_Rise_of_the_Guardians_The_Video_Game_(Game)#!watch</loc>      
        <expires>2012-10-08</expires>
    </url>
   ....... (many more url entries)
</urlset>

请注意<expires>,如果不是其他搜索引擎,Google 会读取该标签作为索引的截止日期。显然,它们仍会出现 30-60 天,然后将不再作为搜索结果返回。

于 2012-10-11T17:23:12.590 回答
1

您可以使用规范链接元标记。它告诉搜索引擎真正的页面路径是什么,因此应该只触发一次索引,尽管路径上附加了任何哈希标签或查询字符串。

http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html

好像:

<link rel="canonical" href="http://www.example.com/realPagePath/" />
于 2012-10-08T16:58:22.137 回答