【发布时间】:2018-01-04 11:32:20
【问题描述】:
因此,我使用 Firebase 创建了一个单页 Web 应用程序,其中每个页面都有从 Firebase 数据库动态加载的内容。
但是,搜索引擎只会看到空白页而不是动态内容。我创建了一个 Firebase 函数来为 SEO 目的预渲染每个页面,效果很好。
问题在于,这严重影响了用户体验,因为在运行函数时存在额外延迟,当动态内容与所有其他 JS 一起加载时会出现 FOUC。
是否可以仅触发 GoogleBot(和其他已知的爬虫/机器人)的预渲染功能,从而为用户提供正常的网站体验并为机器人提供预渲染的 html 页面。
谢谢
编辑:
exports.helloWorld = functions.https.onRequest((request, response) => {
// console.log(request.useragent)
}
预期的用户代理是:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
但是附加了sn-p:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36 AppEngine-Google; (+http://code.google.com/appengine; appid: s~gcf-http-proxy)"
我尝试了几个检测机器人的插件,但是由于AppEngine-Google,每个插件都将所有内容报告为机器人
【问题讨论】:
标签: javascript firebase firebase-realtime-database google-cloud-functions