WordPress

I initially experimented with WordPress back in mid-2009, that would be the first year I started to transition from Graphic/Web Design to Web Development. I had wanted to build websites for years and I was attracted to it by what was being created with Adobe Flash (Yea, I know). But times were different back then, I didn’t know what to search for and even when I did find something I had trouble comprehending a lot because my background was not in Computer Science, but Design and Illustration.

I remember stumbling across many Craigslist ads where they were looking for Ruby on Rails developers to build apps and websites. I looked it up, and I could even begin to understand what I was looking at when it came to Ruby, granted I felt the same with PHP, but PHP was ugly and Ruby was not. Anyway, point being that WordPress was pre-3.0 back then and it was really shitty so I dropped it for a few years. I just built static sites with HTML, CSS, and some JavaScript before returning to it in 2012.

It was easier to get client sites up and running in 2012 and I started making WordPress sites for many small businesses and clients. Still, as years went on I started to notice bottlenecks in my dev workflow. Things felt like they should be easier or smoother. It wasn’t until a customer needed something really custom that I started looking elsewhere. That’s when I came across Django and Ruby on Rails again. I started learning and reading everything I could get my hands on. tutorials, screencasts, books, and more. I started learning Python and Ruby and for almost a year I studied and tried both simultaneously.

Things that bugged me about WordPress was how hacked together it felt. Sure it was easy to install and good for publishing. I understand that it was designed with blogging in mind but it feels like it was only designed for that and made it difficult for developers to build upon it in a sane, stress-free way. Maybe the WordPress core team have a smooth process in developing the software, but I can see how that is different from creating software that other developers take upon and have them create a dev workflow from that.

Things I hate about WordPress:

  • PHP
  • Domain URL stored in database (wtf)
  • Full site migrations from one server to another suck.
  • How bloated it feels (Ghost is soo nice with how light-weight it is)
  • Setting up MAMP is annoying
  • DesktopServer is cool but I came across it at a point where I was starting to feel to dependent on third-party software to develop (Codekit, Genesis Framework, Types and Views, Beaver Builder)
  • I dislike how WordPress gave the client too much power
    • I designed a full theme for a client and they went and installed some theme from the theme store.
    • Clients mess with settings and get the white page of death.
    • Plugins that aren’t compatible are installed and break the site.
  • And all those update e-mails. I had to update WordPress for over two dozen of my client’s sites, not to mention nearly 30 plugins for each sometimes, then I had to make sure it didn’t break when I updated WooCommerce and Genesis. Too many moving parts where dependent on each other to work smoothly in order to have a running site, yet it was still slow.

God just thinking about this gives me a headache.

Nevertheless, if a client really wanted me to use WordPress or a project I inherited was already using it, of course I would develop in it. I feel comfortable enough to get stuff done it but if I could avoid it I would.

Ghost is nice…