I've recently moved my site off WordPress after 10 years, to Statamic. A few of you have asked why, so here is that post.
To start, WordPress hasn't been interesting to me in a while. Not that I hated it, but I had no desire to touch anything that was WordPress related outside of time someone was paying me to do something. My wife has asked me many times over the last few years what had interested me about my coding work this week, and it pretty much always came up as nothing.
I'm also getting pretty tired of all the crap that must come with WordPress. DigWP did a good post on this crap back in 2016 and I think it's just getting worse. I sign into a client site and there are ads for stuff from 7 - 8 companies. Below is just one example from a friend's site. Note that there is no "dismiss this forever" I can send the notification away for 12 months, but then the developer decided it's time to bug me again.
Now as I'm writing this I see that Jetpack is adding more ads for more crap I don't want.
"Jetpack is testing a new way of marketing its Paid plans inside the block editor."— Morten @ Home (@mor10) August 8, 2019
A few months ago it was ads for Jetpack features when I searched for plugins. I'm sure that just like last time we'll suddenly see Jetpack backtrack and say it was all a big mistake and that they're sorry. We'll probably see some trac ticket surrounding how to do this better so that users don't miss features.
The truth is that if almost anyone else did this that wasn't affiliated with Automattic, they would be told in no uncertain terms that it wasn't allowed and they needed to stop it right now or they'd be removed. Maybe even only Automattic can get away with this. They've shown they're going to force paid ads on us twice now and I doubt it's going to change at all in the future.
And here is more links to the crap that they're pulling now because they must figure they have a captive audience that won't leave. I mean WordPress powers 30% or more of the web, they don't have to worry about keeping users happy anymore. It's about sucking them dry.
For client work, I'm so tired of the back and forth database work with live/staging/local environments. Make sure you write down your changes and make them on each environment because if you don't you're going to be screwed. Yes I know plugins have tried to solve it, but I've tried them all and never once have they saved time. Most of the time I spend more time fixing things they screwed up then I would have making the changes by hand in the first place.
Statamic solves this by having everything in flat files so merging content between systems is as easy as a
git merge command. Do than and you're off to the races once you deploy your merged stuff to your live site. For clients using the admin panel, install Spock and all the changes they make get pushed back to your Git repository so it's all backed up all the time.
This doesn't mean that Statamic is all roses. Being a much smaller platform than WordPress is there are no where near the tutorials available when you run into issues. For me, that's where WordPress was when I started so it's time to start writing about some code again.
To go with that, while the community is in general helpful, it's also a bit RTFM. I recently installed an addon and when it didn't work I asked a question of the community on Discord. Evidently there is a command to run on your server after you install addons to install any dependencies. Of course none of the plugins I installed said this, I was supposed to find it in the documentation.
On the WordPress side, pretty much every plugin has the same install the plugin lines at the beginning of their description to avoid that problem. Statamic could learn from this and at least link to the addon install docs if you need to run a command so that newer users at least have a hint about where to go.
The Statamic docs in general are fairly developer focused. They even say in some of the screencasts about Statamic that if you expect to not write any code, Statamic is not the CMS for you. Look somewhere else. Like many development projects, Statamic could use some work on documentation and developer tutorials so that even beginner developers can get going with their tool. This is something I can do to help by doing a screencast and writing about every little thing that trips me up so that when others hit the same problems they can find someone else that had some solution. Maybe not the best solution, but at least something that works.
The final thing that I'm not sure I love is Tailwind. No, that's not Statamic specific but the themes and community seems to love it. I just don't get it. None of the class names are semantic. You end up with 10 classes on an item to style it and write no CSS.
Maybe I'm just a curmudgen and semantic HTML ids/classes aren't something I should be worrying about anymore, but I do and it feels icky to use Tailwind. I have some ideas for addons though and if they need frontend components it seems like the way to make it work with the widest array of Statamic themes is by using Tailwind to start.
Yes, I'm still doing WordPress work, but I'm now back writing a bit of code on my own time in the evenings because Statamic is fun.