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 :)

Why carluc.ci

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 :)

Why GatsbyJS

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.

Another reason is that I wanted to get more familiar with NodeJS / React and generally speaking, with the fascinating world of the "modern JavaScript-based applications".

I use to work a lot in Javascript, but mostly in conjunction with PHP, which has been my main templating language for years. Writing full client-side apps in JS already showed his pros, like performances and usability, while opened new challenges like a more "delicate" handling of security and backend interactions. All interesting topics I can probably deepen in the future.

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:

Final notes

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:

Thanks for reading!