{"data":{"markdownRemark":{"html":"<blockquote>\n<p><strong>tl;dr</strong> - <strong>No</strong>. Sites with >1k pages will not perform very well with Gatsby v1.</p>\n</blockquote>\n<blockquote>\n<p><strong>UPDATE</strong>: Gatsby v2 is in beta, and supports <strong>very</strong> large sites. See <a href=\"/whats-new-in-gatsby-v2\">what's new in Gatsby v2</a> and <a href=\"/getting-started-with-gatsby-v2\">Getting started with v2</a> for more.</p>\n</blockquote>\n<h2>How large is large?</h2>\n<p>Short answer, it depends.</p>\n<p>Let's talk about right now, Gatsby v1. Gatsby is great up to about 1'000 pages. That means 1k calls to <code class=\"language-text\">createPage()</code>. Beyond that, Gatsby will start to slow down. You might want to switch to something like <a href=\"https://gohugo.io/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Hugo</a>.</p>\n<blockquote>\n<p>Hugo claims to be the \"fastest framework for building websites\". It probably is. But it's talking about <strong>build time</strong> speed. Gatsby sites are probably faster from the user's point of view.</p>\n</blockquote>\n<h2>Examples</h2>\n<p>I'll quote examples in this article. We're testing a migration from WordPress. It has 3.5k total pages. About 2k blog posts plus category and tag pages.</p>\n<h2>What happens on large sites?</h2>\n<p>You import your data. You call <code class=\"language-text\">createPage()</code>. Gatsby builds a list of all your pages. When that list gets large, things break. For example, the <code class=\"language-text\">gatsby develop</code> version of a site with 3.5k pages fails to load in chrome.</p>\n<p>That list of pages is included in the built javascript file. That file is downloaded as soon as somebody visits your site. When that file goes over 500K it no longer gets minified. The 3.5k page example site had an app bundle of 2.7MB. That's gigantic.</p>\n<h2>Maximum stack errors</h2>\n<p>Our test site doesn't work in chrome. We started it with <code class=\"language-text\">gatsby develop</code>. Then Chrome throws a <code class=\"language-text\">RangeError: Maximum call stack size exceeded</code> error. The site will load in Firefox (it has a larger stack).</p>\n<p>We also saw the same error during build. The build failed to complete. We could get Gatsby to build with a smaller number of pages.</p>\n<h2>Migrating from WordPress</h2>\n<p>Are you migrating from WordPress? How much existing content do you have? Will you also have category and tag pages? How many pages will you have? That total includes blog posts, categories, tags, and all other pages. Is the total is greater than 1'000? If so, Gatsby might not be the perfect fit for you today.</p>\n<h2>Will this change?</h2>\n<p>Short answer, we're not sure. I've checked the Gatsby issues and I don't see anything that looks like it addresses this issue. Some people are successfully building Gatsby sites with >1k pages. So it is possible.</p>\n<h2>Workarounds?</h2>\n<p>You have a huge site. You love Gatsby's performance. What can you do? Right now, at Gatsby v1, we don't know of a suitable workaround. We'll update this article if we discover one.</p>","excerpt":"tl;dr  -  No . Sites with >1k pages will not perform very well with Gatsby v1. UPDATE : Gatsby v2 is in beta, and supports  very  large…","timeToRead":2,"frontmatter":{"date":"March 20, 2018","path":"/can-gatsby-handle-large-sites","title":"Can Gatsby handle large sites?"}},"relatedPosts":null,"allCommentsJson":null,"allRatingsJson":{"totalCount":1,"edges":[{"node":{"id":"4add0d73-052a-5d85-90a8-fb19e2e5b65b","rating":"5"}}]}},"pageContext":{"tags":[]}}