Gatsby大型网站

3
我们的网站目前是Drupal 7,有接近40万个页面,包括文章和产品列表。我们主要依靠SEO获取流量。
我们希望转移到更现代的平台,并且希望将CMS与前端解耦。
我倾向于选择prismic.io作为编辑CMS,而我们的产品则在另一个数据库中。我的理解是,Gatsby可以帮助统一不同的数据源,使它们在前端被同等对待。
我也喜欢Gatsby给你带来的速度。它非常令人印象深刻。
我听说React不太适合SEO,但在Gatsby的网站上读到这并非如此。
我也读到过Gatsby在大型网站中表现不佳,可能需要30多分钟来生成页面。
听了这些... Gatsby是个好选择吗?有减少构建时间的方法吗?我是否应该考虑其他平台?
谢谢

1
我听说过一些使用100k文章的gatsby网站测试,它们的表现并不令人满意。在gatsby找到增量构建的方法之前,它可能不是适合你的正确工具。 - ksav
3个回答

3
您一次提出了许多关于堆栈的问题,因此让我们稍微分解一下。
我们的网站目前使用Drupal7。它已经有接近40万个页面,包括文章和产品列表。我们希望转移到更现代的平台,并将CMS与前端分离。
这是一个庞大的网站,正如EliteRaceElephant所建议的那样,Gatsby的构建时间对于这样大的网站来说是无法接受的。我的经验表明,一旦超过300-400个页面,构建时间就会变得缓慢(至少在Netlify上)。Gatsby在构建应用程序方面具有高度的见解,请自行查看。别误会,我喜欢Gatsby,但听起来不太适合。
但如果您的网站只是产品列表和文章,听起来相对静态:我建议您好好看看Next.js。它仍然可以给您提供Gatsby所拥有的许多SSR优势,但具有更高的架构灵活性。他们的版本9会检测您的代码库,以确定哪些页面可以变为静态页面或者SSR

我倾向于使用prismic.io作为编辑CMS,因为我们的产品在一个单独的数据库中。我的理解是,Gatsby可以帮助统一不同的数据源,使其在前端中得到相同的处理。

我曾使用过Prismic和Contentful,但它们很快就变得昂贵。也许直接在Drupal中运行无头CMS并保留您的编辑工作会更好。您可能需要查看Drupal-GraphQL模块。您仍然需要从D7迁移到D8,但考虑到您有多少页面,这可能比CMS作为服务选项更具成本效益。

我听说React对于SEO不是最好的选择,但在Gatsby的网站上读到了相反的说法。

如果您使用React,则绝对需要寻找一个SSR解决方案,以便Google可以查询一些稳定的页面。React Helmet是React的一个不错的SEO解决方案。它允许您进行大量自定义,包括正确地进行Google结构化标记

祝你好运。


最终选择了Next.js。谢谢您的帖子,帮了很大的忙。 - JPM
太好了,谢谢 - 如果您能将答案标记为正确,我会非常感激。 - serraosays

1

1
创始人确认正在开发增量构建功能,这将解决你的问题。目前没有迹象表明需要多长时间。他们知道这是一个大问题,所以我认为它具有很高的优先级。请参阅官方github存储库上的此github issue
几周前,他们还获得了1500万美元的额外资金,因此未来的改进前景看好。
这里是一个博客文章,介绍了如何提高构建速度的方法。
一种可能性是创建两个项目,分别创建两个不同的页面。这并不能解决构建速度慢的问题,但只是将其分成两个较小的部分。
  • www.mysite.com: 对于频繁更改的内容,经常构建此站点。
  • www.artciles.mysite.com: 对于所有超过100,000篇文章的不经常更改的内容,只偶尔构建此站点。但这会对SEO产生负面影响,因为所有文章都移动到了新位置。

目前,您不能做太多来提高构建时间。最终,您必须做出决定:

  • 我能处理目前的30分钟构建速度并等待gatsby团队改进构建时间吗?

    • 如果是:使用Gatsby。

    • 如果不是:使用其他工具。

我很快也会遇到同样的问题,所以我很想知道你是如何决定的。谢谢。=)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接