【问题标题】:301 Redirect with GatsbyJS on Heroku在 Heroku 上使用 GatsbyJS 进行 301 重定向
【发布时间】:2020-03-28 16:30:53
【问题描述】:

我刚刚使用GatsbyJS 完成了一个应用程序的开发。我在heroku 上托管我的Web 应用程序。我有一个通过 heroku 反转的自定义域,支持 SSL。现在我可以访问以下域:

http://myapp.com
https://myapp.com
http://www.myapp.com
https://www.myapp.com

通常您希望有 301 个从 wwwnon-www 和从 http://https:// 的重定向。由于 heroku 路由器没有强制 SSL 的能力,他们希望您在应用程序级别处理重定向。

我没有在GatsbyJS 中找到任何针对 SEO 优化的 301 重定向的解决方案。

任何帮助表示赞赏。

【问题讨论】:

    标签: redirect heroku routing seo gatsby


    【解决方案1】:

    不熟悉 Heroku,但如果无法进行 301 重定向,请确保您的网页有 <link rel="canonical" href="" /> 标签。这是一种向搜索引擎提示您要编入索引的 URL 的方法。此外,您可以使用onClientEntry API 重定向到客户端上的 https://。

    【讨论】:

    • 您好,谢谢您的建议。由于我会将数据从应用程序发布到其他服务,因此我需要确保无法通过 http 提交数据。此外,没有从 www 到非 www 的重定向对 SEO 非常不利。事实上,规范链接将帮助您不为“重复内容”编制索引。我并不完全了解 gatsby 的所有浏览器 API。我会试试onClientEntry。我仍然不确定它是否符合我的需求。我希望能够转换位置,但我还需要将其作为 301 响应
    【解决方案2】:

    我刚刚想出了如何让它在 heroku 上运行。由于我没有从 gatsby 本身找到任何解决方案,因此我调整了我的部署以匹配 gatsby 文档。我现在使用 heroku buildpacks 来构建我的项目。这样做时,您可以定义一个名为static.json 的文件。

    这个文件有类似的选项 "https_only": true, "canonical_host": "yoursite.com"

    使用这些选项,heroku 准备应用程序从 www 重定向到非 www 和 http 到 https。更多信息在这里:https://www.gatsbyjs.org/docs/deploying-to-heroku/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-06
      • 2014-08-30
      • 2017-04-15
      • 2018-03-09
      • 2015-08-15
      • 2014-02-03
      • 2012-03-08
      • 1970-01-01
      相关资源
      最近更新 更多