Node.js 如何将facebook爬虫机器人重定向到其他网页?
我已经开发了一个由PreactJS完成的小网站,它包含了主网站(PHP)的一些部分。众所周知,Facebook机器人无法在共享时抓取javascript预呈现内容。这就是为什么我想重定向为允许facebook机器人抓取主网站(PHP),同时在NodeJS/ExpressJS中共享PreactJS完成的网站链接,如下所示:Node.js 如何将facebook爬虫机器人重定向到其他网页?,node.js,facebook,reactjs,express,preact,Node.js,Facebook,Reactjs,Express,Preact,我已经开发了一个由PreactJS完成的小网站,它包含了主网站(PHP)的一些部分。众所周知,Facebook机器人无法在共享时抓取javascript预呈现内容。这就是为什么我想重定向为允许facebook机器人抓取主网站(PHP),同时在NodeJS/ExpressJS中共享PreactJS完成的网站链接,如下所示: app.use('/*', function(req, res){ if(req.headers['user-agent'] === 'facebookexternalhi
app.use('/*', function(req, res){
if(req.headers['user-agent'] === 'facebookexternalhit/1.1') {
}
});
如果用户像“我希望nodejs/express重定向”这样共享。有谁能告诉我在expressjs级别中如何做到这一点,如下所示:
app.use('/*', function(req, res){
if(req.headers['user-agent'] === 'facebookexternalhit/1.1') {
}
});
如果要将res.render()重定向到已创建的视图,可以使用res.render(),而不是重定向,我强烈建议代理该数据。否则,Facebook会认为你的URL也是普通用户的重定向 考虑这样一个模块,它使这变得简单。未经测试,但这应该让您开始:
app.use((req, res, next) => {
if (
!req.headers['user-agent'] ||
!req.headers['user-agent'].startsWith('facebookexternalhit')
) {
return next();
}
return proxy('main.mywebsite.com')(req, res);
});