gpt4 book ai didi

ajax - Angular JS *非 SPA* SEO

转载 作者:行者123 更新时间:2023-12-01 02:21:46 24 4
gpt4 key购买 nike

用于 SEO 的非 SPA AJAX 部分
遗憾的是,101% 的 Angular SEO 示例都假设使用了单页应用程序 (SPA)。我的应用程序不是 SPA。目前,我的堆栈是:

  • Node/Express - 用于路由和渲染 Jade 模板。这些 URL 是真实的,不使用 HTML pushstate、hash-bang 或任何类似的东西。 因此,url-escaped-fragment 对我不起作用(我不认为)
  • Angular用于与我的 RESTful API 通信

  • 我的问题是我的页面本身只包含通过 AJAX 加载的部分——页面的其余部分在服务器端呈现。 Node/Express 不负责任何这种逻辑,Angular 会拉入我第一个 h1 中的数据。 .
    Google Bot 和类似工具参见: <h1>{{this_unrendered_string}}</h1>这是不好的。
    有没有人想出任何巧妙的解决方案来解决这种情况?
    FWIW 我发现了一个名为 SEO.js 的服务,它将托管我传递给它的任何页面的渲染版本。如果我可以告诉 GoogleBot 和类似的“嘿,不要使用此页面,而是使用此页面”但我不完全确定 SEO 对不同的主机服务内容有何感觉。也许一些诡计可以在这里工作..

    最佳答案

    Google 在此处记录了一种“使 AJAX 应用程序可抓取”的方法。 https://developers.google.com/webmasters/ajax-crawling/

    实现这一点并不完全简单(基本上,您必须运行 headless 浏览器并返回 HTML 快照以响应 Google 的特殊格式请求)。

    这并不像在检测到 GoogleBot 时返回快照那么简单,但这样做可能会消除任何受到惩罚的风险。

    有几家公司提供这项服务 - 我对这个服务很好:https://ajaxsnapshots.com - 他们说 Bing 和 Yandex(俄罗斯搜索引擎)也支持它。

    AjaxSnapshots 有一个 API,您可以使用它来告诉他们您的页面何时准备好进行快照 - 您可以在所有客户端渲染完成后调用它。

    关于ajax - Angular JS *非 SPA* SEO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935119/

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