Googlebot and URLs in Javascript



我在一个有大量javascript页面的网站上工作。我将url模板放入页面上的javascript中,以便页面的js在将信息发布回服务器时使用。例如:

var someUrlTemplate = '/widget/-1/edit';
// and later
$.get(someUrlTemplate.replace(/-1/, widgetId), ...);

谷歌机器人正试图遵循"widget/-1/edit"。我不想这样,因为这个链接显然是一条死胡同。

我知道其他人肯定也面临过类似的问题,我想知道人们想出了什么样的解决方案。我读过关于在javascript块周围的注释中使用html注释或CDATA的文章。我读过关于将url字符串分解为连接块或其他模糊处理方法的文章。但我在interweb上没有发现任何明确的最佳实践。

我认为最好的做法是将该URL放在外部JS文件中。据我所知,没有搜索机器人导航到JS文件,所以不会在那里找到它。事实上,你的JS应该尽可能多地在外部文件中。

实际上,搜索引擎可以也将删除外部javascript文件。如果你不想让搜索引擎抓取你的任何javascript文件,你可以把它们放在一个目录中,并用robots.txt文件禁止整个目录。

通常,最佳做法是将javascript、css和静态资产放在一个单独的子域(CNAME)上。然后你可以在根目录下放一个robots.txt来阻止整个CNAME。

最新更新