Javascript中的Googlebot和url

Javascript中的Googlebot和url,javascript,url,googlebot,Javascript,Url,Googlebot,我在一个有很多javascript页面的网站上工作。我将url模板放入页面上的javascript中,以便页面的js在将信息发布回服务器时使用。例如: var someUrlTemplate = '/widget/-1/edit'; // and later $.get(someUrlTemplate.replace(/-1/, widgetId), ...); 谷歌机器人正试图跟随“widget/-1/edit”。我不希望这样,因为链接显然是一条死胡同 我知道其他人肯定也遇到过类似的问题,

我在一个有很多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。

我还没有测试过这个,但是你可以尝试在你的robots.txt中添加“/widget/-1/edit”,以说服谷歌不要遵循它认为的链接。