I used to build all of my websites on Wordpress, I did this for many years and usually enjoyed the process but there were a few things I didn't like.
Theming seemed more complicated than it need be, which could be related to the next item...
It's hard to get
syntax supportfor WP functions. WP is written on top of PHP which is a dying language, and it appears not too many developers have added WP-specific syntax support. So when you write a custom theme in VsCode or whichever editor flavor you prefer, you won't get all the helpful syntax highlighting you'd expect and you inevitably rely heavily on printing variables to the browser to debug your code. Ugh! 😡
Deploying changes to a WP site feels very early 2000s. FTPing files to a hosted server, hoping you didn't miss any hidden config files, hitting refresh on your browser to see the changes, getting an error and then quickly trying to undo your previous changes just leads to anger.
At my current job, I was recently made in charge of our marketing website. The site was developed on Wordpress by a contractor who used my Figma designs to create a custom theme. Once the initial design was done, I was the person to take it over and handle all the future changes.
I immediately dug in and soon discovered two new things about Wordpress development I think help solve some, (not all), of the frustrations I had earlier.
A fantastic Wordpress-focused host called WPEngine. What I really like about them is how easy they make it to get up and running with a new Wordpress site. You can basically deploy a brand new site in a couple mouse clicks. The other feature I think is a game-changer is "Copy Environment", which allows you to take your entire production website, copy it to a staging website, make changes to staging, test, then copy everything back to production when you're done. Not to mention this host is fast! They provide ample data plans to handle size-able file downloads, I was really impressed how fast they served our site even with some massive video and 3D files we were serving.
A slick little app called Local. This tool essentially replaces MAMP, (Mac, Apache, MySQL & PHP), which allowed you to serve and run a Wordpress site from your local computer. I know a lot of devs can easily set these services up themselves but honestly I think Local does a better job of getting you up and running quickly. It also integrates seamlessly with WPEngine. So when it's time to push your changes to the live website, Local can do this in just a couple mouse clicks.