gpt4 book ai didi

django - Google 如何使用 HTML5 网址抓取基于 Angular 的应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:31:06 24 4
gpt4 key购买 nike

我正在构建一个具有以下 url 结构的网络应用程序:

/                 is the landing page, not angular based
/choose uses Angular, it basically contains search
/fund/<code> also with Angular, contains specific data for a certain fund

索引没有问题/ ,它只是一个简单明了的 html,已经过 SEO 优化。但我都需要 /choose/fund/...被 Google 抓取,这就是问题所在。

我的应用程序使用 HTML5 模式,我们从不使用像 foo.com#!/choose 这样的 hashbangs 指向应用程序 url。 , 总是 foo.com/choose .

此外,根据 Google's docs在这件事上,我把<meta name="fragment" content="!">在我们拥有的每个 Angular 页面的头部。但是使用 “fetch as google” 检查我的网站时,我无法意识到 Google 如何为我的服务器请求页面。我在后端使用 Django,我构建了一个中间件来捕获 _escaped_fragment_并对其采取行动,但 Google 从未发送过它。

所以,简单地说,我的问题是:

  • 为什么 Google 不使用 _escaped_fragment_ 获取我的网址?
  • Google 将如何获取页面?
    1. foo.com?_escaped_fragment_=/choose
    2. foo.com/choose?_escaped_fragment_=

最佳答案

根据谷歌specs , 你应该使用

foo.com/choose?_escaped_fragment_=hashfragment

但如前所述here ,你似乎不需要 hashfragment 和等号部分,因为你的 url 已经映射到你的 Django 服务器端。所以,摆脱它并尝试一下。

您的最终网址应如下所示:foo.com/choose?_escaped_fragment_

希望对您有所帮助!

关于django - Google 如何使用 HTML5 网址抓取基于 Angular 的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19031257/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com