使用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中测试部分代码(标题,内容,页脚)?
答案 0 :(得分:4)
我正在使用名为 prerender 的软件,以确保抓取工具能够实际抓取我的单页应用程序网站,以便为其编制索引。
所以我只是给测试工具一个预先渲染的页面,我认为这是一个好主意,因为这正是抓取工具无论如何都会得到你的页面。
我正在使用prerender,它可以安装在您的服务器上或通过他们的服务器使用(需要付费),更多信息请访问:https://prerender.io/documentation
答案 1 :(得分:1)
尝试将生成的页面源粘贴到“HTML”标签中:
http://www.google.com/webmasters/tools/richsnippets
以下是一些资源可帮助您获取生成的页面源的副本:
<强>更新强>
这里有一个更好的,更新的HTML测试工具:
https://developers.google.com/webmasters/structured-data/testing-tool/
This post更详细地描述了它。
答案 2 :(得分:0)
您需要使用无头浏览器(例如phantomjs)来谷歌索引您的角度js网络应用。
我们的想法是,如果搜索引擎应该遇到您的JavaScript应用程序,那么您就有权将搜索引擎重定向到另一个提供该页面完全呈现版本的URL。
检查http://googlewebmastercentral.blogspot.com.au/2009/10/proposal-for-making-ajax-crawlable.html
答案 3 :(得分:0)
我遇到了类似的问题。一旦Google测试工具进入“ng-if”,它就不会继续前进,因为它不会做出那个(ng-if)决定。不幸的是,这就是我们的结构化数据所在。
我相信我可能会尝试将SD插入到DOM之外和ng-if之前。希望能在第二天或第二天开始工作。如果您找到了使用Angular和Google SD的任何解决方案,请与我们联系。
编辑:顺便说一句,我不认为只是将代码分离出来,以便可以使用Google测试工具或无头浏览器进行测试。当网站交付给谷歌时,谷歌即将看到它。如果它仍然存在于那些相同的无法到达的地方,那么将其分开以进行测试并没有太大的帮助。
谢谢!