如何在Google上抓取我的AngularJS网站?

时间:2015-09-26 15:12:58

标签: angularjs

我想从我的angularjs应用程序中删除#,我正在开发一个网站,我认为它可能有助于使SEO友好的网站,可能是我错了,请帮助 感谢

2 个答案:

答案 0 :(得分:3)

我同意Joe Lloyd关于从您的网址中删除#的方法,但它不会帮助您使您的angularjs网站可抓取。 请查看以下步骤:

  1. 配置html5mode

    config(function($ routeProvider,$ locationProvider){    $ locationProvider.html5Mode(真);

  2. <meta name="fragment" content="!">添加到您的网页,以便Google博客机构知道在您的请求结束时添加?_escaped_fragment_ =。

  3. 处理服务器端的?_escaped_fragment_=并提供所请求的html页面的静态快照(phantomjs可以完成工作),因此机器人将索引html页面的渲染版本。

  4. 使用www.google.com/webmasters /

  5. 填充您的sitemap.xml并将其发送给Google

    玩得开心!

答案 1 :(得分:1)

配置

要删除网址中的#,您需要将其添加到主模块中。您将应用程序置于html5模式。

//This config is used to remove the # in the html
app.config(["$locationProvider", function($locationProvider) {
   $locationProvider.html5Mode({
        enabled: true,
        requireBase: false
   });
}]);

服务器端(NodeJS)

当您点击刷新时,这将产生服务器副作用,您需要添加一个能够找到新网址的额外路线。这将在您的快递js app.js文件中有效。公用文件夹包含您的角度应用,并且您有index.html文件

// ### CATCH REFRESH TO INDEX ###
app.all('/*', function(req, res, next) {
    // Just send the index.html for other files to support HTML5Mode
    res.sendFile('public/index.html', { root: __dirname });
});