In addition to providing great user experience and engaging content, it is always a top priority for me to establish a sound and modern technology stack and a development workflow that maximizes my productivity and piece of mind. It’s all about developing faster, ensuring reliable deployments and increasing security and reliability in production.
My personal website is a natural playground to try and embrace new solutions, and techniques and refine my methodologies as I am always on the lookout for opportunities to streamline and automate my process further.
For several years, the xavierwendling.com website was developed using the WordPress server-side content management system, PHP and MySQL. Having built a significant experience and expertise with WordPress for various other projects. the popular CMS had been an solid fit for this use case, providing me with great development power and flexibility.
Over the years, my workflow had matured into a solution that included:
- A custom developed theme, tailored to my specific vision and needs.
- State-of-the-art WordPress configuration and structuring with Bedrock.
- PHP dependency management with Composer.
- Build automation with Gulp.
- Automated server provisioning & deployment to staging and production with Trellis and Ansible.
In early 2017, I decided to move away from WordPress for this website and re-architecture it as a statically generated website based on Hugo. Embracing a JAMstack approach was primarily driven by a desire to boost website performance and make it less vulnerable to attacks. Ease of deployment was also a prominent selling point for me.
My current workflow features:
- Content managed in markdown.
- Custom asset pipeline based on Gulp, Webpack, SASS, postCSS and Babel.
- Automated builds.
- Automated dockerized deployment.
Web pages that load and render fast is a key ingredient to an enjoyable user experience. Even more so with mobile now the dominant way of consuming web contents. Search engines are now factoring website performance to a much higher degree when crawling and assessing contents quality, so making sure that a website is fast ultimately serves your SEO efforts.
With that always in mind, I like to regularly assess the performance of my websites, looking for opportunities to further optimise web pages and assets and serve them in a better way. As a perfect testbed for experimentation, my own website scores high against speed benchmarks, despite being media-rich, thanks to an array of optimisation techniques.