我刚刚使用GatsbyJS
开发了一个应用程序。我将Web应用程序托管在heroku
上。我有一个通过heroku
反转并具有SSL支持的自定义域。现在,我可以访问以下域:
http://myapp.com
https://myapp.com
http://www.myapp.com
https://www.myapp.com
通常,您需要从www
到non-www
以及从http://
到https://
的301重定向。由于heroku路由器没有强制SSL的能力,因此他们希望您在应用程序级别处理重定向。
我没有在GatsbyJS
中找到针对SEO优化的301重定向的任何解决方案。
任何帮助表示赞赏。
答案 0 :(得分:0)
不熟悉Heroku,但是如果无法进行301重定向,只需确保页面具有<link rel="canonical" href="" />
标签即可。这是一种提示搜索引擎要索引的URL的方法。另外,您可以使用onClientEntry
API重定向到客户端上的https://。
答案 1 :(得分:0)
我只是想出了如何使其在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/