添加sitemap.xml后谷歌没有抓取我的angularjs网站

时间:2015-01-20 19:51:33

标签: ajax angularjs seo google-crawlers

在阅读了有关angularjs和SEO(包括谷歌文档)的多个来源后,我明白了让谷歌抓取我网站的两个主要选项是:

  1. 将hashbang(#!)添加到我的URL,并且在爬行引擎的请求到达我的服务器后(在请求中,#!被escape_fragment替换)我应该使用外部服务渲染和响应html快照(如prerender.io)或实施自己。
  2. 2.将hashbang(#!)添加到我的网址 - 以便谷歌可以告诉它在此网址中有动态呈现的数据,并将sitemp.xml添加到网站。 as it is shown here

    这是我处理路线的方式:

    mi.config(['$routeProvider','$locationProvider', function ($routeProvider, $locationProvider) {
    $routeProvider.when('/home', { templateUrl: 'js/app/partials/Home/Home.html' });
    $routeProvider.when('/items/:CatId', { templateUrl: 'js/app/partials/Items/Items.html' });
    $routeProvider.when('/about', { templateUrl: 'js/app/partials/about.html' });
    $routeProvider.when('/checkout', { templateUrl: 'js/app/partials/Checkout/Checkout.html' });
    $routeProvider.when('/contact', { templateUrl: 'js/app/partials/contact.php' });
    $routeProvider.otherwise({ redirectTo: '/home' });
    
    
    $locationProvider.hashPrefix('!');
    

    This is my sitemap.xml

    my website

    我在网站站长工具中看到谷歌认可了新的站点地图,但它还没有抓住它们。

    有什么我错过的吗?

1 个答案:

答案 0 :(得分:0)

考虑使用Google网站管理员工具 - 部分抓取,以查看Google在抓取您的网站时是否发现了一些错误。

您还可以尝试使用此功能"抓取Google和#34;这将提供有关Google如何看待您的Angular应用程序的深刻见解。

在您的特定情况下,即使您将200作为HTTP响应发送,某些页面(来自站点地图的链接)也不会返回任何可抓取的内容:

http://www.chefnoded.co.il/shop/#!/items/6

http://www.chefnoded.co.il/shop/#!/items/5

http://www.chefnoded.co.il/shop/#!/items/4