【问题标题】:Crawl ng-view in angular js在 Angular js 中抓取 ng-view
【发布时间】:2015-05-21 10:38:49
【问题描述】:

我正在使用 AngularJS 开发一个静态网站,但遇到了 SEO 问题。基本上,我的谷歌网站管理员工具告诉我没有抓取错误,但是当我尝试获取不同的路由时,它总是返回相同的主页结果。它不会读取 ng-view div 中注入的内容。 它只是在我的 index.html 文件中显示静态文本。奇怪的是它实际上读取了我的着陆页指令“/”,因为当它呈现时它读取了我的导航栏、页脚和内容,我已将它们放入“index-widget”指令中,但正如我所说,它什么也没读来自 ng-view 指令。任何帮助,将不胜感激。这是页面http://luxtest.tk 谢谢

【问题讨论】:

    标签: javascript html angularjs seo ng-view


    【解决方案1】:

    您的网站正在使用# url(例如http://luxtest.tk/#/kontakti) - Google bot 不会将这些视为单独的页面。你有两个选择:

    如果您可以适当地设置主机以将所有 url 指向 index.html 页面,则切换到 HTML5 模式会更容易。切换到 HTML5 模式在应用程序的配置中完成:

        angular.module('test', [])
    
            .config(function($locationProvider) {
                // use the HTML5 History API
                $locationProvider.html5Mode(true);
            });
    

    【讨论】:

    • 感谢您的回答。问题是我已经在另一个测试中实现了哈希前缀,如此处所示luxuryliving.16mb.com 它有'#!'在所有路线前面,但我仍然无法看到预渲染的 ng-view。它总是按原样显示索引文件。
    • 嗨@Ralfs,根据their docsGoogle 只会索引#! urls 如果您已经设置了 HTML 快照并配置了适当的备用 URL 来提供这些快照 - 这在我的答案中的链接中有记录,但设置它并非易事。我从来没有在我的回答中建议只是切换到 #! urls 将使页面可索引。
    • 哦!很抱歉造成混乱,只是我对此有点陌生,我终于开始了解 AngularJS 爬行是如何成为可能的。谢谢!
    猜你喜欢
    • 2015-11-25
    • 2014-09-13
    • 2015-07-16
    • 2015-07-18
    • 1970-01-01
    • 2016-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    相关资源
    最近更新 更多