Ajax MEAN-SEO未按预期工作

Ajax MEAN-SEO未按预期工作,ajax,seo,meanjs,google-crawlers,Ajax,Seo,Meanjs,Google Crawlers,我在meanjs有一个项目 它禁用了HTML5模式,因此我的URL如下所示: 我正在尝试实现AJAX快照,以便允许Google爬虫在客户端查看javascript生成的内容 我安装了一个名为MEAN-SEO的模块: 现在,当我访问以下URL时: 我被重定向到: 当我点击“产品”或直接访问时,我会被重定向到: 在阅读了这里详细介绍的Google规范之后,我需要的是没有hashbang的东西,如下所示: 我做错了什么? 亲切问候。您想要关闭HTML5模式的具体原因是什么 很多人都忽略了这

我在meanjs有一个项目

它禁用了HTML5模式,因此我的URL如下所示:

我正在尝试实现AJAX快照,以便允许Google爬虫在客户端查看javascript生成的内容

我安装了一个名为MEAN-SEO的模块:

现在,当我访问以下URL时:

我被重定向到:

当我点击“产品”或直接访问时,我会被重定向到:

在阅读了这里详细介绍的Google规范之后,我需要的是没有hashbang的东西,如下所示:

我做错了什么?
亲切问候。

您想要关闭HTML5模式的具体原因是什么

很多人都忽略了这一点:搜索引擎(谷歌和必应)现在可以处理基于AJAX的内容

他们的爬虫现在可以理解pushstates,所以如果你只是打开HTML5模式,你不需要任何特殊的处理来让你的SEO工作。您可以通过AJAX加载内容,可以使用javascript设置标题标记和元标记等等,爬虫程序将理解您的内容,就像您在服务器端渲染一样。不再需要为SEO做html快照或转义片段处理

这已经在他们的开发者博客上公布了,但不幸的是,大多数文档都没有更新这些信息,所以很多人都不知道



不过有一句话要提醒大家,Facebook不处理美国,因此,如果你想支持Facebook爬虫程序,你仍然需要单独处理。

只需确保你的robots.txt不会阻止爬虫程序读取你的.js文件:)看起来路由问题意味着在服务器上正确安装seo,就像在express.js中添加代码片段一样<代码>app.use(seo({cacheClient:'disk',//也可以是'redis',但不确定是否需要//redisURL:'url/port',如果我们实际使用的是rediscacheduration:2*60*60*24*1000,//以毫秒为单位,所以我认为当前设置为2天})