我们在其中一个应用程序上运行Vue.js,并使用它生成锚标记。谷歌正在抓取这个,正如我们从搜索结果中看到的那样。但是,它也会使用已禁用JavaScript的机器人进行爬行,并遇到如下链接:
<a href="/electronica/{{ auction.main_image_big }}"></a>
这会在我们的Laravel应用程序中产生错误,因为它们会以如下方式进入我们的网络服务器:
/electronica/%7B%7B%20auction.main_image_big%20%7D%7D
阻止未启用JavaScript的抓取工具点击这些链接的最佳方法是什么?将它们重定向到另一个页面?
请注意,我们仍然希望Googlebot在启用JavaScript时抓取这些链接,因为这些链接会导致我们的所有产品。
答案 0 :(得分:2)
改为使用v-bind:
<a v-bind:href="'/electronica/' + auction.main_image_big"></a>
或使用v-bind短版本和ES6字符串模板:
<a :href="`/electronica/${auction.main_image_big}`"></a>
由于在未启用Javascript的情况下不会将其转换为href
属性,因此机器人将跳过这些属性。
关于Vue 2.0,它也是面向未来的,因为属性中的插值正在被删除。