DEV Community

Cover image for Wordpress Sucks. Let's Switch to Static Site Generators!
Glenn Paquette
Glenn Paquette

Posted on • Originally published at glennpaquette.com

Wordpress Sucks. Let's Switch to Static Site Generators!

What's All This Fuss About Static Site Generators?

As a web developer, it has been impossible not to notice all of the excitement on the internet around static site generators and JAMStack. Static Site Generators are used to create static sites, usually by leveraging a templating engine, which allows the developer to create site content quickly in formats like markdown. Some of the benefits of these types of websites in production are that they're incredibly fast, and can be served by CDN's instead of traditional servers, which means little to no hosting costs.

So to sum up, we can update the content faster; the site itself performs faster, and the costs are lower.

But Clients Want Wordpress! Right?

As a freelance web developer, most of my work revolves around WordPress websites. I'm not much of a fan of WordPress, but almost all small business clients I meet, want or have a WordPress website. When I ask them why they chose WordPress, the answers usually boil down to "I want to be able to update the website myself." Well, the reality is that out of the 40 clients I've worked with during the last couple of years, not a single one does their own updates.

Alt Text
Wordpress is slooooowww. Wordpress is bulky. I want out!

And then I read this post.

OMG, he's right. Clients hardly care about how I make the website, they just come to me yelling "WORDPRESS" because they don't know of anything else. It's just a buzz word to them. Plus, he managed to drop Wordpress for static site generators on these simple sites. AMAZING!

The Idea

What if I started making the sites with a static site generator? The updates would be faster. I wouldn't have to mess around with servers and hosting anymore. The site is static, so no more Wordpress updates, plugin updates, etc. I could keep things simple ... wait... NO MORE WORDPRESS PUGINS AND PHP?!?!? Sign me up.

The Plan

So the concept is there - I should be able to create simple business and professional "brochure" sites with a static site generator. So no e-commerce or anything that needs dynamic logic, but more the simple "hey, this is what we do, please contact us" kind of websites.
There are still a few problems to sort out.

  1. I don't know how to use a static site generator. I don't even know which one I want to use.

  2. I still have to convince my clients to let go of Wordpress.

  3. I need to show some portfolio projects built with static site generators.

I plan to crush all of these problems at once. I can learn how to use static site generators, and I can create portfolio projects simultaneously. I'll try out several different static site generators, and the sites I build I can use as part of my portfolio to show clients that A) I can do nice work, & B) Performance difference between a Wordpress site and Static Site. I think once I breakdown the cost difference just in maintenance (hosting, updating, de-bugging Wordpress vs Static Site) -- convincing my small business clients may not be too difficult.

So What's Next?

Well, I'll be doing a bit of research and choose 3-5 different options for static site generators to try out. Once I've built a website with each of them - I'll do a head to head comparison and I'll make a choice to stick with for client work.

I'd love some recommendations on where to start and which to try, please leave your suggestions for best static site generators below! I will be writing about my experience with each one and posting it here on Dev.to as part of a series.

Latest comments (47)

Collapse
 
mustafaalbazy profile image
Mustafa Albazy

So far I've tried Gatsby, Next and Hugo for my English blog (Arabic blog still running WP).

Gatsby for some reasons were to buggy and sounded more headache compared to WP, so didn't dive deep and skipped it in the early stages of designing.

Next as amazing and so many features for the more demanding sites, plus the server-side thing. But I thought it's too much for my simple blog.

Hugo is the more straightforward for blogs IMO, very simple to setup and manage and update. for beginner web-developer there are a wide variety of ready to use Templates which you can use them as a starting point in the learning process.

I like how simpler it can manages single pages and blog entries.

Collapse
 
mrgswift profile image
Matthew Guillot

If you have a website project that needs more features then a Static site generator provides (CMS features), OctoberCMS is a really decent static page CMS (No DB needed for content) based on Laravel. On the frontend it supports twig, and It also has an amazing config file (YAML) based backend interface generator plugin called Builder. OctoberCMS is much faster then Wordpress and allows you to create plugins (similar to Wordpress), but every public plugin requires a code review (coding best practices) before being published. So you don't have to deal with messy code. The community is growing everyday and everything is fully documented.

Collapse
 
chrisrhymes profile image
C.S. Rhymes

I completely agree. I also wrote an article about the benefits of static sites.

Just like WordPress themes, there are many themes available for Static Site Generators too. Maybe start with a theme and customise it a bit to see how they work and see which templating engine and build workflow you prefer.

I built a Jekyll theme for my own website and decided to open source it so others could use it too.

I've found that Netlify offers a load of services designed for static sites as well.

Collapse
 
paqman85 profile image
Glenn Paquette

Thanks C.S.! I was thinking along the same lines. I've been playing with Hugo today and did just that - loaded a custom theme, added my own content and then edited the theme to make it my own. I learned a lot about how the theme system works and how I could go about building my own. I'd like to incorporate that in the "SSG Saga" - not just an intro to each SSG but also how to edit themes or build your own. I'll try your Jekyll theme when I dive into it!

Collapse
 
paqman85 profile image
Glenn Paquette

Thanks! I'll try it out. :)

Collapse
 
emil_priver profile image
Emil Privér

You dont need to remove Wordpress, Use Wordpress as a source for a CMS. Alot of dev use thins kind of setup. the customer gets Wordpress which is an really good admin for customers and the users get a fast static site :D Soon will there be a Gatsby plugin which handle everything from preview to images which will be dope :D

Collapse
 
felipperegazio profile image
Felippe Regazio • Edited

I agree that Wordpress Sucks nowadays. But i dont think static site generators can replace it yet. Wordpress sold and idea of freedom to customers. Even if its true or not, in a practical manner, they wont expect nothing less. With this in mind its just too hard to explain a static site generator for customers. What we can say when they ask "cool, so where is my dashboard?".

Collapse
 
bayuangora profile image
Bayu Angora • Edited

Client should login to their dashboard mostly for update article purpose, not for updating core, themes, plugins, etc. Also, this is the big advantages about static site generator, because we don't have to worry about being hacked when we forget to click update. Fortunately, there are so many CMS such Forestry, Prismic, Contentful, etc. Just connect the static site to those CMS for client dashboard, and it's more than enough.

Collapse
 
paqman85 profile image
Glenn Paquette

Great point! Thanks! :)

Collapse
 
paqman85 profile image
Glenn Paquette

Your right if the clients are actually logging into the dashboard. Mine say they will but never do. I think it won't be hard to convince them to make the switch, and sell them on a low maintenance retainer for updates instead of server hosting.

Collapse
 
felipperegazio profile image
Felippe Regazio • Edited

yeah, you are totally right. customers are attached to that "sensation of freedom" (created by wordpress) which its also a trap. They wont/cannot/dont want to use it, even when this freedom actually exists (mostly i see devs tuning wordpress sites as manainers of a frankenstein). Its a freedom that customers dont use, but also dont want to let it go. Its paradoxical man S:

Thread Thread
 
paqman85 profile image
Glenn Paquette

Thanks! You hit the nail on the head. Thats my biggest pet peeve, WordPress Frankensteins.

In an ideal world, customers would let me build them a static site for the info/ brochure need, and code a purpose built application for their business logic / e-commerce needs. This whole idea of franken-plugin WordPress to do everything is just a nightmare.

Collapse
 
jldohmann profile image
Jesse

I use Pelican because I'm familiar with Python and the templating engine, Jinja, already from using Flask. I found it mostly painless so far! It's not a flashy choice, but it suits my purposes

Collapse
 
paqman85 profile image
Glenn Paquette • Edited

Oh I would love to keep working in Python! I work a lot with Django and have played in Flask as well. I was looking at Pelican but it didn't seem very active, but the idea of using Jinja sounds amazing... I'll give it a try for sure!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

I just use GatsbyJS cause it reduces on my cost which I just reinvest the cost saving to get a good email software.

Collapse
 
paqman85 profile image
Glenn Paquette

Awesome! I have Gatsby on the list to try. It seems to be very popular, I'm excited to see what the fuss is about ;)

Collapse
 
maciejcieslik profile image
Maciej Cieslik

With pleasure!!!! When someone do a cms for my clients as easy for them as WordPress :/ Developer experience is nothing if your clients aren't happy.

Collapse
 
paqman85 profile image
Glenn Paquette

You bet! In my situation, the clients never user the CMS. So even though they ask for WordPress in the discovery meeting, that have no idea what WordPress is, all they want is a fast website that brings them leads. I update everything anyways, so in the end, they're indifferent. In this scenario, dev experience and site performance are king. :)

Collapse
 
ricardodsanchez profile image
Ricardo Sánchez 👨🏽‍💻 ☕

I am all for trying new things but your premise that you are doing it because WordPress is slow is wrong. WordPress, just like any other framework or platform can be slow and problematic if not setup correctly. That's all.

Collapse
 
paqman85 profile image
Glenn Paquette

Fair enough. Just looking for a better solution for simple sites, and I personally haven't had any good experiences with WordPress. I assume others may feel the same way. :)

Collapse
 
ricardodsanchez profile image
Ricardo Sánchez 👨🏽‍💻 ☕

I can relate, it took me a while to understand enough about WordPress in order to make it work the way I wanted. And I cannot argue with you about looking for better solutions for simple sites, WP is definitely not what you want to use for a simple site or better said, a site without the need of a CMS. Cheers.