我正在研究以 HTML 格式向机器人提供内容,然后对于所有其他请求,只需呈现 index.html
并让我的 Backbone.js 应用启动。
我是否最好尝试为 Google、Facebook 等创建一个已知机器人数组...然后如果用户代理不在该数组中,则呈现 index.html
,或者Node 的 Express 中有什么东西可以说“这是一个真实的用户,而不是任何类型的机器人”?
app.use(function(req, res) {
var ua = req.headers['user-agent'];
// TODO
res.render('index.html');
});
最佳答案
考虑将动态页面预呈现为静态 HTML,并以您描述的类似方法使用 express 服务于机器人。
您可以使用 phantomjs 和一些现成的库来处理页面渲染。
请记住,Google 不喜欢您向机器人显着提供不同的东西,并且他们确实采用他们的机器人来处理动态内容,因为单页体验在网络上越来越流行。
关于node.js - 使用 Node.js 的 Express 进行 SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22451930/