Javascript 向Moz SEO机器人提供HTML快照
我每天都用幻影在我的网站上预渲染动态页面。然后,我编写了一些代码来检查请求的用户代理,并在请求来自bot时提供预呈现的HTML快照。我的机器人阵列是:Javascript 向Moz SEO机器人提供HTML快照,javascript,node.js,seo,user-agent,bots,Javascript,Node.js,Seo,User Agent,Bots,我每天都用幻影在我的网站上预渲染动态页面。然后,我编写了一些代码来检查请求的用户代理,并在请求来自bot时提供预呈现的HTML快照。我的机器人阵列是: var socialBots = [ "facebookexternalhit/1.0", "facebookexternalhit/1.1", "FacebookExternalHit", "twitterbot", "TwitterBot", "Twitterbot/1.0", "LinkedInBot", "rogerB
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
}
});
app.use(函数(请求、恢复、下一步){
var userAgent=req.get(“用户代理”),
社会机器人=假;
对于(i=0;i-1){
社会机器人=真;
打破
}
}
if(社交机器人){
//服务快照
}
});
这对于Facebook和Twitter来说很好,但是最后一行数组
rogerBot
应该是用于Moz搜索引擎优化,似乎不起作用。Moz SEO在最后一次爬网时没有得到我的快照。我刚才是不是把用户代理搞错了,还是别的什么问题?罗格博特的用户代理应该是:
rogerbot/1.0(,rogerbot爬虫程序+shiny@moz.com)
您需要将rogerBot小写为
罗格博特