小编典典

要算是不算算?

ajax

我正在开发一个新的网站,我想尽可能多地使用AJAX。基本上,我希望用户几乎永远不要离开主页,并在弹出窗口,滑块,部分等中显示所有内容。

现在我们现有的网站已经排名很高,所以我也想让Google开心。我一直在阅读Google提供的使AJAX应用程序可抓取的方法,并且了解到我必须通过 escaped_fragment 为抓取工具提供相同的内容。


我想使用 已经提供了SEO友好URL的 Umbraco 开发此网站 的问题

但是问题是,我没有一种简单的方法来实现 escaped_fragment
而不用侵入Umbraco内核(至少这是我的知识),并且使用我在下面发布的解决方案(答案)也可以使没有Javascript的用户感到满意。双赢局面?你告诉我!=)

更新
昨天有另一个用户的答案(现已删除),该用户建议Google不再使用 escaped_fragment
方法,并建议将其排除在外。这是真的?Google会实际运行AJAX来查看内容吗?

谢谢
Marko


阅读 328

收藏
2020-07-26

共1个答案

小编典典

我从 @Daniel Pryden的 评论中获取建议,并将其发布为答案。

我对此问题有所思考-为什么不以老式的方式创建网站,实际页面以及所有内容,然后执行以下步骤。

  1. 使用jQuery拦截首页上的所有内部链接,并在之前添加window.location.pathname一个井号(#),从而触发hashchange事件。(请参阅步骤3)
  2. 在除首页之外的所有页面上添加JavaScript重定向,以将页面重定向回首页,但window.location.pathname在井号(#)后面附加。例如,Google抓取http://www.domain.com/about-us.aspx,但是当用户访问该页面时,他们将被重定向到http://www.domain.com/#/about-us.aspx
  3. 在首页上,使用jQuery BBQ或类似的插件来监听hashchange事件,包括在页面加载时,以便可以加载动态内容。可以将Umbraco配置为根据请求是否为AJAX来提供部分或全部页面内容。

这样,不使用Javascript的用户将拥有一个功能完善(外观良好)的网站,谷歌将对所有页面进行爬网而不会出现任何问题,但是使用Javascript的用户将始终留在首页上-
拥有将完成Web App而不是Web站点。

2020-07-26