Just over a month ago we released this new version of CNCF.io.  We had spent the previous 9 months rewriting the site from scratch to accomplish the following goals:

  1. Improve the speed of the site, both for browsing and editing content.  Over the years the old site had become loaded down in layers of CSS, dozens of WordPress plugins, and suffered from an outdated and slow site builder in the back-end.
  2. Automate the administration of the site to make it easier to maintain and keep up-to-date.  Various bits of content were duplicated or required specialized knowledge in order to update.  For example, as CNCF projects graduated it was a labor-intensive job to update them in multiple places.
  3. Modernize the development process and codebase to facilitate ongoing improvements.  The old site code was stored in a closed Pantheon git repo so couldn’t benefit from many modern development processes.

To accomplish these goals we made some changes for the new site:

We ran some speed tests comparing the old CNCF.io to the new site.  Here are the results for the homepage from the front-end and from the admin edit screen:

Bar chart showing new showing old site requires 8.056 seconds to load at homepage, the new site only requires 0.9697 seconds to load.
Bar chart showing admin edit homepage load time requires 11.998 seconds in old site, it only takes 5.487 seconds in new site

Here are web.dev’s scores for our new site (the old site’s scores were 12, 67, 77, 71):

Web dev's scores of CNCF new site: Performance 90, Accessibility 97, Best practices 93, and SEO 85

Finally, not only were we able to launch CNCF.io but, along the way, there was an urgent need for a new Linux Foundation project: Linux Foundation Public Health.  We changed out some colors and abstracted out core pieces of the code so that we could quickly deploy LFPH.io.  The code is also now ready to be adapted for other Linux Foundation sites that may be needed in the future.

If you have any comments or questions about the new CNCF.io, please do reach out or create an issue on GitHub.

Special thanks to my partner on this project, James Hunt, who wrote most of the theme and developed many key performance innovations.