现实问题:
我的应用程序托管在Heroku上,据我所知,他无法提供运行无头(无GUI)浏览器的解决方案 - 例如HTMLUnit - 用于为Googlebot 生成HTML快照以索引我的AJAX内容.
我建议的解决方案:
如果您还没有,我建议您阅读Google的"使AJAX应用程序可抓取的完整规范".
想象一下,我有:
http://example.comhttp://example.com#!tab=TabA&subtab=SubTab3客户端Javascript location.hash通过AJAX 获取并加载TabA,SubTab3内容.注意:Hash Bang(#!)是google规范的一部分.
我想在Google App Engine(GAE)上托管一个简单的"网络服务" :
http://htmlsnapshot.appspot.com?url=http://example.com#!tab=TabA&subtab=SubTab3(url param应为URLEncoded)http://example.com#!tab=TabA&subtab=SubTab3在服务器上打开并运行客户端javascript.我的http://example.com应用程序需要管理http://htmlsnapshot.appspot.com...基本上:
http://example.com/?_escaped_fragment_=tab=TabA%26subtab=SubTab3(googlebot抓取工具逃脱某些字符,例如%26 =&).http://htmlsnapshot.appspot.com?url=http://example.com#!tab=TabA&subtab=SubTab3(url param应为URLEncoded)我没有使用Google App Engine或Java或HTMLUnit的任何经验.
我或许可以弄明白......如果我这样做,我会发布我的结果.
否则,我觉得这是一个很好的机会,有人写了一个踢屁股的博客文章,概述了一个新手一步一步的指导,以建立这样的网络服务.
这将为更优秀(和免费!)的Google …