From WordPress to JAMstack: How to make your website 10x faster


Performance matters. If you are familiar with JAMstack, the movement encourages avoiding server-side rendering completely in favor of pre-build, purely static HTML pages. By serving only JavaScript, APIs, and Markdown (JAM) over a CDN, a website's performance is dramatically increased, making for a much better user experience.

If you have an existing WordPress website, you may be familiar with slow page load. This can be due to server-side processes that occur prior to even getting to the HTML. If you are looking to make the switch to a better experience for your users, it might be time to switch to a JAMstack website. And making the switch may be easier than you think.

In this tutorial we're going to import existing WordPress content into a JAMstack website, deploy to Netlify, then perform Lighthouse tests on the two versions to determine if there are any significant performance gains. (Hint: there are 😁)


TL;DR

1. Install the Gatsby Blog, a ready-made JAMstack website powered by Gatsby and the Cosmic JS Headless CMS.
2. Import existing WordPress posts into Cosmic JS using the WordPress Importer.
3. Deploy the Cosmic-powered website to Netlify.


Getting Started

First we'll need to install the Gatsby Blog available in the Cosmic JS Apps Marketplace.


After we install the app to a new Bucket, we'll need to install the WordPress Importer Extension. This can be found by navigating to Your Bucket > Settings > WordPress Importer.


Follow the directions in the Extension to import your WordPress posts.

After importing your posts, you'll see that our Posts Object Type now includes the imported WordPress posts, that was easy! Now let's deploy this sucker.


Deploy 🚀

1. Install the Deploy to Web Extension.
2. We'll go ahead and deploy to Netlify since they've perfected the art of JAMstack hosting, plus they invented the JAMstack term to help us wrap our heads around the concept.

3. Add the Cosmic JS Gatsby Blog GitHub repo URL to the input and click the Deploy to Netlify button:

https://github.com/cosmicjs/gatsby-blog-cosmicjs

After we add our Gatsby Blog GitHub repo to Netlify, we'll need to set up our environment variables in Netlify to connect to Cosmic JS prior to deployment. Go to Sites Settings > Build and Deploy to add the environment variable COSMIC_BUCKET with the value set to your Bucket slug. If you set a read key in your Bucket settings, add that here also as COSMIC_READ_KEY.



Now go to the Deploys tab and Trigger deploy 🚀🚀🚀


Compare 🧐

Now that our new JAMstack website is deployed, let's compare performance between the old WordPress website and our new Cosmic-powered JAMstack site. Open the Chrome console and run the Lighthouse tests on each website. Check out the results below (though the design is different, the post count on the page is roughly the same).


WordPress TechCrunch
https://techcrunch.com



Gatsby, Cosmic, JAMstack TechCrunch
https://wordpress-to-cosmic.netlify.com


As you can see after running the Lighthouse tests our Cosmic-powered Gatsby JAMstack website blows the WordPress site away with a massive performance increase. And check out the transitions between pages on the JAMstack version, it's 🔥


Conclusion

I hope you enjoyed this tutorial on how we can build a dramatically faster web experience by moving from WordPress to a Cosmic JS-powered JAMstack website. Try it out for yourself and you may be surprised how easy it is to make the switch. Your users will thank you.

Join the conversation around API-driven content management, JAMstack and new web tech on Slack and reach out to Cosmic JS on Twitter.

Was this article helpful?

Thank you! Your input helps us improve our articles and resources. If you have any other questions or comments, please contact support.

You may also like


Tony Spiro, co-founder and CEO of Cosmic JS, presented "Building for Team Success with Content-Powered Apps" to illustrate the build vs. buy concept of software development in the API-first microservices movement. The full video is embedded below and runs approximately 45 minutes.
Now editors can use the new Unsplash Photos Extension to find and add stock photography to their media library, all from the comfort of their Bucket Dashboard without having to interface with a third-party website like Unsplash.
In this blog we'll quickstart a React ToDo App using the Cosmic JS CLI. This is a simple todo application that consumes the Cosmic JS API and is built using React, Redux, Node.js and Webpack.
Learn how I built the Twitter Search Extension to search and save Tweets to your Bucket.
Upload media to your Cosmic JS Bucket using Multer.
All of your images you upload to Cosmic JS are already transformed to imgix URLs, a powerful real-time image processing and CDN delivery solution. Let's take these images to the next level by optimizing image formats, compressing, intelligently cropping, & more!