我每天都在用幻影在我的网站上预先录制动态页面。然后,我编写了一些代码来检查请求的用户代理,如果请求来自bot,则提供预先录制的HTML快照。我的机器人阵列是:
var socialBots = [
"facebookexternalhit/1.0", "facebookexternalhit/1.1", "FacebookExternalHit",
"twitterbot", "TwitterBot", "Twitterbot/1.0",
"LinkedInBot",
"rogerBot", "rogerBot/1.0"
];
然后我的nodeJS代码(使用Express)侦听机器人并提供快照:
app.use(function(req, res, next){
var userAgent = req.get("user-agent"),
socialBot = false;
for (i=0; i<socialBots.length; i++) {
if (userAgent.indexOf(socialBots[i]) > -1) {
socialBot = true;
break;
}
}
if (socialBot) {
//serve snapshot
}
});
这对于Facebook和Twitter来说很好,但是数组rogerBot
的最后一行应该是针对Moz的,而且似乎不起作用。Moz SEO没有得到我的快照,这是最后一次爬行。我是不是把用户代理搞错了,或者是别的什么?
发布于 2015-07-22 15:48:20
RogerBot的用户代理将是:
rogerbot/1.0 (http://moz.com/help/pro/what-is-rogerbot-,rogerbot-爬虫+shiny@moz.com)
您需要小写的rogerBot到
rogerbot
https://stackoverflow.com/questions/31515801
复制相似问题