2

该网站的代码是使用 AngularJS javascript 框架生成的。当我访问一个网页时,它会完全显示该页面,但源代码正在由源代码中未完全存在的部分加载,例如:

<body>
    <div class="wrapper">
        <div ng-include="'partials/header.html'"></div>
        <div id="ng-view" ng-view class="main_view wrapper"></div>
        <!--div ng-include="'partials/home_content.html'"></div-->
        <a href="#"> </a>
    </div>
    <div ng-include="'partials/footer.html'" class="footer"></div>
</body>

如何在https://www.google.com/webmasters/tools/home中测试部分代码(页眉、内容、页脚) ?

4

4 回答 4

4

我正在使用一个名为prerender的软件来确保爬虫实际上可以爬取我的单页应用程序站点,以便为它们编制索引。

所以我只是给测试工具一个预渲染的页面来处理,我认为这是一个好主意,因为这正是爬虫获取你的页面的方式。

我正在使用 prerender,它可以安装在您的服务器上或通过他们的服务器使用(收费),更多信息请访问:https ://prerender.io/documentation

于 2015-04-29T14:22:30.620 回答
1

尝试将生成的页面源代码粘贴到此处的“HTML”选项卡中:

http://www.google.com/webmasters/tools/richsnippets

这里有一些资源可以帮助您获取生成的页面源的副本:


更新:

这里有一个更好的更新的 HTML 测试工具:

https://developers.google.com/webmasters/structured-data/testing-tool/

这篇文章更详细地描述了它。

于 2015-01-21T17:38:23.637 回答
0

您需要使用phantomjs等无头浏览器来让 google 索引您的 Angular js Web 应用程序。

这个想法是,如果搜索引擎应该遇到您的 JavaScript 应用程序,那么您有权将搜索引擎重定向到另一个提供完整呈现的页面版本的 URL。

检查http://googlewebmastercentral.blogspot.com.au/2009/10/proposal-for-making-ajax-crawlable.html

于 2015-01-19T15:17:41.303 回答
0

我遇到了与您类似的问题。一旦 Google 测试工具达到“ng-if”,它就不会继续前进,因为它不会做出那个(ng-if)决定。不幸的是,这就是我们的结构化数据所在的地方。

我相信我可能会尝试在 ng-if 之前将 SD 插入 DOM 中。希望在接下来的一两天内工作。如果您找到了使用 Angular 和 Google SD 的任何解决方案,请告诉我。

编辑:顺便说一句,我认为这不仅仅是分离代码,以便可以使用 Google 测试工具或无标题浏览器对其进行测试。当网站交付给谷歌时,谷歌即将看到它。如果它仍然在那些无法到达的地方,那么仅仅为了测试而将其分离出来并没有多大好处。

谢谢!

于 2015-04-20T16:13:11.167 回答