Skip to content
This repository was archived by the owner on Apr 20, 2021. It is now read-only.

Latest commit

 

History

History
53 lines (30 loc) · 4.54 KB

File metadata and controls

53 lines (30 loc) · 4.54 KB

This page has moved to the Gatsby monorepo!

Hi there! 👋 thank you so much for being a beta/alpha tester of this plugin! You've helped us bring a much more stable WordPress integration to Gatsby and we're very thankful for that!

We've shipped this plugin as [email protected]. gatsby-source-wordpress-experimental is now deprecated. Please upgrade by npm/yarn installing the latest version of the stable plugin and updating your gatsby-config.js to include the stable plugin name.

We've chosen this point to release this plugin as a stable release not because there are no bugs (all software has some bugs), but because this plugin is far more stable than the last major version of gatsby-source-wordpress.

Note that we will continue fixing Github issues you've opened in the -experimental repo - those are not forgotten and will be transferred to the Gatsby monorepo.

Thank you! 💜

Build Caching 🗳️

Due to our WPGatsby WordPress plugin which tracks data changes in WordPress, we can do very aggressive caching.

On the first run of gatsby develop or gatsby build all public data is fetched from WordPress (minus any data exluded via plugin options). On subsequent builds only changed data is fetched from WordPress. This allows Previews, Incremental Builds and Fast Builds to work properly with this plugin!

Note: If the remote schema changes between builds, the entire cache will be invalidated and the plugin will start over and re-fetch all data. This can happen when updating your gatsby-node.js , gatsby-config.js or when adding a new npm package to your project.

Incremental Builds 📐

"Incremental builds" means that only changed data is pulled from WordPress and only pages using that data are rebuilt when content changes in WordPress.

When you're using Gatsby Cloud, inc-builds will work by default! ⚡

There are no other other services which can provide true incremental builds wether they claim they can or not. If your "inc-builds" take longer than 20 seconds, consider switching to Gatsby Cloud 😸

You can expect proper inc-build times to be between 4 - 12 seconds depending on your setup for most sites. For very large sites or sites which include other source plugins inc builds times may be longer. We've seen that other CI services claiming to offer incremental builds usually result in 2+ minute build times and they are often slower than regular non-incremental builds on Gatsby Cloud.

Fast Builds 🏃‍♀️

While "Fast Builds" aren't as fast as Incremental builds, they are the default for this plugin and it's a significant improvement over previous versions of gatsby-source-wordpress (v3 or lower). Without incremental builds Gatsby will still rebuild your whole site, but only changed data is fetched when making content updates in WordPress.

You can expect to see massively faster build times than previous versions of gatsby-source-wordpress and gatsby-source-graphql. The actual cached build time will vary depending on the size and complexity of your Gatsby site/app and the power of your CI service, but it will be in the ballpark of 30 seconds to 2 minutes for a ~1000 page site (with proper caching set up in your CI service).

Any CI/CD service will work to build your Gatsby site but Gatsby Cloud is recommended for your build service. If you're looking to try out WP/Gatsby and want something free, Cloud has a generous free tier. It will build faster than Netlify and it can deploy to Netlify hosting for free.

Setting up Incremental/Fast Builds

You can find our tutorial on setting up WPGatsby here. Part-way down the page there are instructions you can follow on setting up Builds. If you're using Gatsby Cloud, setting up your Builds webhook will automatically enable Incremental Builds after your first successful uncached build has completed.

Will it Build

See Willit.build for historical incremental, cached, and uncached build time benchmarking data! We have test data ranging from 512 pages to 8192 pages (and counting).

👈 Back to Features