Moving to Gatsby as a WordPress Developer
05 Mar 2020
My website URL has been "francescocarlucci.com" since 2009. You can go on archive.org and check the whole site history, including my "past-life" interests.
I am not new to my own website rebranding, I do it almost every couple of years because I like to stay up-to-date with the latest technologies and trends.
But this time, the changes are deeper.
I moved the website to Gatsby from WordPress, which I used for the last 11 years.
I set up and "about" page that for the first time I feel it really reflects myself, and I will be blogging about what I like, not only work-related topics (but yes, it will mostly be tech)!
That's why it deserved a new URL :)
Domain name + TLD = my last name - simple as that :)
The idea to use this as my main domain came as a sign of transparency, which sometimes is missing in the remote and outsourcing work.
I am a single developer, passionate about his job who puts effort and knowledge in what he does.
I do not have a team, (while sometimes I team up with other developers for larger projects), and most importantly I do not outsource my work. I get "my hands dirty" and take responsibility for the code I deliver!
In a nutshell, what you buy is what you get :)
Easy, because WordPress is old and ugly! Naaa, let's make this clear once and for all: I still love WordPress, I still consider myself a "WordPress developer" and WP will be my go-to platform for many other projects.
I have been exploring serverless technologies for a while, even related to WordPress itself, and I liked the idea to re-build by website using a serverless framework.
At the same time, I usually promise (and deliver) to my clients "security and performances", and I wanted to explore a top-notch solution in this field.
While in WordPress the application continuously pulls/pushes data from/to a database (so we call it dynamic), with GatsbyJS, the web application is "compiled" in a static HTML output, which makes it insanely fast and indefinitely scalable.
Furthermore, you can still use API based data sources (even WP itself) to pull data one-time upon compilation. But I decided to host my posts as plain text files written in markdown because I use to write basically everything markdown, and I do not update my site that often.
So, as a static HTML app, things like code injection, brute force, SQL injections, DB hack are not a problem anymore. There are some security risks to consider, but the attack surface area is much more limited compared to WordPress and other LNMP (linux / nginx / mysql / PHP) applications.
And yet, Gatsby gives me a sense of "control" over the whole site. It took me a while to get familiar with NPM as a dependency management system, packages, modules... and so on. But once you understand, it turns out very comfortable to handle everything via the command line. This is a well-written tutorial if you are new to it and wanna know more.
I didn't any content migration, mainly because this new website is entirely new!
The hosting platform
Because of the strong growth in popularity of static and JS-based web and mobile apps, we have a wide choice of services offering this kind of hosting, usually bundled with other related services (CDN, SSL certificates, authentication, etc...).
A few between the most popular are:
And of course the major cloud providers, like Google, Microsoft and AWS.
I decided to go with AWS Amplify, because I am already proficient with many AWS tools, and also:
- uses CloudFront Global Edge Network to distribute the site, which makes it fast everywhere in the world, and highly available
- it comes with built-in continuous deployment
- it allows to manage redirects, webhooks, and access logs directly from an easy-to-use dashboard
- it seems to be incredibly cost-effective
This site does not replace the old one, it's more like an evolution. I'll keep francescocarlucci.com alive probably forever, but in a "read-only" mode.
Comments on the blog are gone for now, but if you have something to say about this post, feel free to send me a tweet and do not forget to mention me - @francecarlucci :)
If you wanna read more opinions about GatsbyJS and WordPress, here are some articles I liked:
- https://scottbolinger.com/headless-wordpress-with-gatsby/ - short but useful
- https://kinsta.com/blog/gatsby-wordpress/ - go hands-on
Thanks for reading!