根据此规范,使 AJAX 网站可被 Googlebot 抓取意味着您必须在其中使用 hashbang (#!) 链接,这意味着当 JS 关闭时它不会优雅地降级(或在打开时逐渐增强)。这可能意味着在这种情况下,可抓取性和正常降级/渐进增强是相互排斥的。事实果真如此吗?对此有什么办法吗?
注意:为了透明起见,我会注意到这个问题也在专业网站管理员网站上提出过,但我认为从纯粹的程序化角度来看也很有趣。
如果可能的话,我喜欢只在history.pushState
可用时使用 AJAX 加载新页面。当history.pushState
不可用时,我会回退到非 AJAX。虽然对于那些没有history.pushState
的人来说,这可能是一个低于标准的体验,但它确保URL始终指向正确的位置,并且Google和禁用JavaScript的用户都可以访问该网站。