As a builder of WordPress websites, I need to speak my truth

This is why WordPress sucks and you should probably stop using it

Let me preface this article with a disclaimer: If you need a solid blogging-website-combo solution, need plugins, need a CMS to do the heavy-lifting, like Yoast (yup), and do not need super complex Web App stuff, do use WordPress.
With a WordPress website, small businesses don’t have to worry about editing static pages, or messing with Laravel or something else that has a steeper learning curve.

WordPress is also free and comes standard with most hosting plans.

WordPress is a nightmare for people who know how to code the same solutions, faster.

I have created many, many, many WordPress websites and regularly make aesthetic updates to several others. This works for some clients, definitely.

However, as someone who’s been building websites since the early 2000s, I need to come clean here:

WordPress sucks for front-end developers. It just sucks. 

And I’m about to tell you why.

For people who know how to code from scratch, the roadblocks WordPress hands you can be summarized in one question:

Why did this update thingy break the thingy?

If you’re building a WordPress website, it’s probably because you need the accessibility, the blogging, the plugins, and the WYSIWYG editors.

Because if you don’t, I don’t know why you’re using it.

Plugin conflict happens, and it wastes time disabling plugins to figure out which one is bleeding like a stuck pig. 

Sure, yes, okay, we can go in and mass-nuke them.

But why should we have to do that

If you’re already on a deadline, chances are you are not going to want to build your own WordPress theme. And I don’t blame you.

Even WordPress theme development is a royal pain in the butt compared to using Laravel, which acts more like a ‘wrapper’ for your layouts with modular blocks involved. 

TextPattern is even easier to develop themes for than WordPress, and it has the crappiest documentation in the world.
Grav theme development is even easier than both, and I literally just installed it a while back to poke around (A++ Grav Team).

Also, if you disable many WYSIWYG page builders for WordPress, you often lose your efforts, and have to start from scratch. 

That is not only annoying, but rude.

Something like creating a full-width carousel, that can be spun up in Bootstrap in less than 5 minutes, can take 30+ minutes of fiddling in your Slider Plugin (from hell) of choice.

Don’t act like you haven’t spent countless minutes sitting there clicking and clicking, then giving up and going into the Custom CSS editor to paste the small line of code that will fix the problem.

We shouldn’t have to be doing this. It should work as intended.

Designing in WordPress can feel like Frankensteining a web design project, and honestly, it is.

I am not inexperienced with WordPress. I’ve been using it since I was a tween, and it’s only gotten more problematic over the years. 

WordPress is excellent for blogging, which I’m currently using on my own to write up some goofy op-eds that don’t fit elsewhere (mostly honest anime reviews).

But as a blogging platform, it was not initially made to handle all of the stuff is offers.

You can make child themes in WordPress so when the Theme updates, it doesn’t erase your custom Frankenstein work altogether. 

Okay, great, sure, why not.

But even that is a royal pain in the ass, when simply cloning your files in your development environment to edit is 4594% easier.

If you eventually end up smacking custom CSS / PHP into WordPress to fix design and code flaws anyways, there’s really no point in using Premium Themes that say perfection customization is included.

It is not. It is mostly broken.

Another huge problem, outside of the design aspect is WordPress Security.

I’ve had my WordPress website hacked before, despite using all available resources to prevent it. 

There were boobs everywhere.

WordPress has gaping security flaws that make designers like me paranoid as heck.

Once I’ve set up the Firewall plugins, throttled out the spammers with login-limiters, and installed Updraft, etc, I hand it off. I give the option for WordPress maintenance help, but I’d be lying if I said it was taken very often.

You already built the thing, it should be gucci, right?

Because each time core WordPress, plugins, or themes update, there’s a potential for back-door exploits to crap all over your website.

I’ve gone in to do damage control on my own dime and time.

But there’s only so much a designer can do when it’s out of scope, and nobody seems that worried until something gets hijacked.

It’s important to note that WordPress security vulnerabilities extend beyond WordPress core into the themes or plugins you install on your site. Of the 3,972 known WordPress security vulnerabilities:

52% are from WordPress plugins

37% are from core WordPress

11% are from WordPress themes

After my website got hacked, I lost my entire design portfolio, and over 8 years of hi-res scans of my artwork (many of which I can’t get back).

Because of this, I bailed on WordPress for anything but blogging. It just wasn’t worth the heartbreak.

The artwork loss alone had me sobbing after the initial hysterical laughter at my site becoming filled with boobs.

That is literally me, above. Running from the disaster that is WordPress.

So please, if you don’t have an admin or IT department, and you’re working with a front-end designer who has the skillz to keep your site as safe as possible, just put them on a maintenance retainer.

Please take the retainer hit so you don’t come back to us upset. 

Because freelancers doing free work is not going to happen.

Want another reason why WordPress sucks for developers? 

The API is a crapshoot potato bucket and the documentation is arse.

WordPress at some point decided it’d allow functions that made it into a website builder. 

Just like ClickFunnels expanded past its initial intent.

Don’t just take my word for it, I’m going to copy this right out of a Reddit thread because I’m super not into digging into the documentation.
I’ve done dozens of WP sites and the single biggest problem I have with it isthe API and its associated terrible documentation. There’s the ones that are totally unhelpful in their names: get_children (get what children?)
There’s the ones that are deprecated maybe: is_post (on the function ref page it says deprecated — that word is not on the page for the function)
Conversely, the popuplinks function is not deprecated in the list, but is on the page.

There’s the verbose: see the sanitize_* functions. Surely that could have been one function with different flags, like I dunno, the ones in the stdlib. See also the esc_* functions.

There’s the ones that seem wholly unnecessary: absint. Then there’s ones that I just don’t trust: wp_hash (who would use this?)

And I’ve barely scratched the surface of my hatred. As far as application architecture goes, it’s a steaming mass of worst-practices and global variables. The codebase is stuck in 2003 and probably will be forever.

Read that. Then read it again. 

The WordPress codebase is stuck in 2003 and probably will be forever. 

But don’t just take Sloat’s word for it either, here’s some more WordPress hatred from the same thread:

When you need a list of things to do and avoid which live outside of the capabilities of the application itself then you know the fault lies with the application. 

It doesn’t matter how many established practices an experienced development environment has to mitigate the built in problems since the fact the problems are always there is the bigger problem.

The fact the problems with WordPress are always there is a bigger problem. 

WordPress just was not built with contemporary standards involved. WordPress’s Gutenberg is trying to make some things easier, but it’s still a long way off (no built-in way to make popups or Flexbox fun? Barf). 

Believe me now. 

Believe me now. Now, believe me.

So what can be done about WordPress being mashed potatoes most of the time?

It’s fairly simple, and I absolutely need you to just pay attention: Decide first if you really need WordPress.

  • If you’re building a standard landing page, there’s Instapage, Unbounce, and the amazing Assembly builder to save the day.
  • If you can live with literally any other CMS, do that.
  • If you must use a WYSIWYG editor, but don’t really need a blog, Mobirise is free to start and has premium options as well.
  • If you’re 100% sold on WordPress be aware of its limitations.
  • Make sure the host you’re installing your WordPress installation on is fast.
  • Make sure your host on has regular root backups.
  • Make sure you disable user sign-up if you don’t need it.
  • Install Updraft and get Updraft Premium so you have a way to remotely fix problems.
  • Have whoever is making your WordPress website provide a monthly maintenance and security retainer. Take that money-hit. It’s worth it.
  • Monitor everything. Install Wordfence and enable Security Email Updates.

And ultimately, if you must use WordPress, know this:

Your designers-slash-developers care about you and the success of your project. 

But at the end of the day, WordPress has an awful lot of flaws, and we all need you to understand that at an atomic level. I don’t aim to scare you away from it or throw garbage all over the work I’ve done and will be doing.

Even when I don’t think WordPress is the best option for website building, I will make one for you, the best way I can.

Fundamentally, myself and people like me, want you to be happy. 

If WordPress makes you happy, that’s what we aim to provide for you.

I only aim to show you there are other options available to you, that might be better than WordPress.

If you’re still convinced you need WordPress, please hit me up, and keep a maintenance retainer in mind if you don’t have an admin or IT department.

But if you think you want something else, something fluid, fast, and chill to develop, actually hit me up

I’ll even teach you to use something you’re unfamiliar with, like Bootstrap, as long as it truly, truly makes you happy.

I am not affiliated with any of the products I linked to above and make no money promoting them 🙂

read original article here