向 Moz SEO 机器人提供 HTML 个快照

Serve HTML snapshot to Moz SEO bot

我每天都在使用 Phantom 在我的网站上预呈现动态页面。然后,我编写了一些代码来检查请求的用户代理,并在请求来自机器人时提供预渲染的 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 SEO,但似乎不起作用。 Moz SEO 在上次抓取时没有得到我的快照。我只是弄错了用户代理还是其他原因?

RogerBot 的用户代理为:

rogerbot/1.0 (http://moz.com/help/pro/what-is-rogerbot-, rogerbot-crawler+shiny@moz.com)

您需要将 rogerBot 小写为

rogerbot