Why WordPress Sucks, and what you can do about it

While great as a CMS, wordpress really sucks as your forward facing production environment. After one week in production with our redesigned wordpress site, we had already racked up 8 hours of downtime due to database failures.

Also, we’re paying a hefty $43 bucks per month to host the Apache/PHP/Mysql monstrosity on Amazon EC2.

When I play the word association game with WordPress these are the things that come to mind:

  • Downtime
  • Database failures
  • Hackers, and hack bots from all over the Internet
  • Slowness
  • Scaling issues
  • Expensive

Also, WordPress has made some very bizarre design decisions around absolute URLs that I would describe as “dumb”.  Here are some actual forum topics on the subject.

How I fixed WordPress

The only thing that can fix bad technology is good technology, so I came up with a solution that involved using Amazon S3 and Node.js/Phantom.js to build a rock solid, high performance frontend for super cheap.


By using Phantom.js and Node.js, I was able to crawl the entire site, and pull every single resource from wordpress and the pipe it over to S3 for Static Web Hosting.

If you’re looking for a tutorial on static web hosting, read this excellent post by Chad Thompson.

Life on Amazon S3 is Nice

So now, my production environment on Amazon S3 has these wonderful qualities:

  • 99.99% Uptime
  • $0.01/month Hosting Cost (based on 100MB of data)
  • Fast response times
  • Scales automatically with traffic
  • Built to sustain the loss of two concurrent data centers
  • Hackers now have to hack Amazon (good luck with that)

If you go to the new site, and open up a javascript console, you should see this:

Notice, it’s all the familiar URLs from wordpress, /wp-content and /wp-content/themes, but all coming from Amazon’s rock solid S3 service.

As an added bonus, I have the option of doing additional processing of resources as they are piped, so I could compact and minify JS and CSS resources, or create 2X size images for retina displays or any other kind of processing without ever touching the backend of the wordpress site.  Pretty cool.

Side Note: If you’ve got a WordPress site, and you’re interested in hearing more about this, please feel free to contact me.

About Brad Carleton

Brad is a rockin' fun JavaScript coder who enjoys building cool stuff and long walks on the beach. As the Founder/CTO at TechPines, he has worked with large companies and startups to build cutting-edge applications based on HTML5 and Node.js. He is the creator of Bone.io, a realtime HTML5 framework, and is the author of Embracing Disruption: A Cloud Revolution Manifesto.
This entry was posted in aws, javascript, node.js, phantom.js, wordpress. Bookmark the permalink. Follow any comments here with the RSS feed for this post.
  • Maxime Hardy

    You may want to look at Varnish and NginX as reverse-proxy to achieve these kind of optimisations. There are some WP plugins to handle assets through S3 (I don’t know at which extent they manage CSS and JS minification).
    Your solution sounds a bit of overkill from an operational point of view as there are plenty of existing solutions to scale WP.

    However from a developer and hacker point of view, that looks really fun! ;)

    • techpines

      Cloning the frontend of a web application to a static hosting provider is a good idea in my opinion.

      I think you’re right that a caching layer with Varnish and Nginx would be a good solution towards scaling WordPress. But then you have to worry about keeping your caching servers up and running, as well as WordPress/PHP/Mysql. That is more of an “operational hassle” in my opinion.

      This type of solution can be good for not just WordPress, but other CMS’s. So instead of learning how to scale WordPress, Joomla etc. You just replicate the frontend to an already cheap, high performance, and scalable solution like S3 or a CDN.

      • xeridea

        Lol, I love how peoples answer to work around the slowness of their websites (WP, Magento, etc) is to just cache the heck out of it. I haven’t done a single site that would need a cache unless a client/employer demanded WP. Oh, and all the WP caching plugins are terrible, and will probably end up slowing your site down. You can easily cache pages by caching to redis, and skipping WP entirely from loading (cache needs to be on index before WP loads).

  • iamkoch

    Have you taken a look at WP Super Cache? http://wordpress.org/plugins/wp-super-cache/

  • What a wonderful idea Brand, can’t wait to try it out myself as well. You are right that wordpress does have the issues that you meant and this is definitely a great work around.

    However, what I like the most is the benefits of the solution that you would definitely not get even spending months trying to optimize wordpress.

    • techpines

      Thanks, but my name is Brad :)

  • Thank you for the post.

    I’ve been trying to achieve the same (generating static HTML files from WordPress) and there’s couple WP Plugins which promise to do that, but they all have had some problems. It would be great if you could post your Phantom.js & Node.js solution somewhere.

    • techpines

      Sure, we’re looking into open sourcing a tool around this. Will let you know.

      • heelal2

        I just visited this site now. Any news about this? We have the same problem and want the same solution. Maybe can contribute to the project as well in some way.

  • markotom

    Great idea! I’ve considered to do something like that with Node.js using a WordPress plugin that provide me a REST API to my web app, do you recommend use this kind of alternatives to solve the poorly performance of WordPress?

    • techpines

      I recommend it as far as you’re comfortable working with it. I think that the underlying concept of moving a “basically” static site like a WordPress install to a static hosting provider like S3, makes good sense.

  • Andrew Corkery

    Seeing as you’re using AWS, did you consider CloudFront caching? http://aws.amazon.com/cloudfront/dynamic-content/

    I’ve used this on simple sites such as this and it works pretty well. You’ve a lot of control over what gets cached and for how long using HTTP headers. Very easy to set up too with no custom deployments.

    Interested to know why it’s preferable to build your own crawler, apart from just for fun!

    • techpines

      You could use CloudFront directly, but you might run into some awkward problems with the absolute URLs.

      For instance let’s say your CloudFront website is at example.com, and you’re worpdress server is at wp.example.com. All the pages that get grabbed by CloudFront would reference wp.example.com, because of the absolute URLs.

  • rsanchez1

    I work on several sites using WordPress, where we work on a dev environment and push to production. Never have I had issues with images using absolute URLs. We upload all the images on our site using the Media Library. We change the home urls between dev and production. Doing this, we have no issues with absolute URLs.

    Additionally, we solved all those word association issues you mentioned with WordPress by using Varnish. No need to get Amazon involved, no need to set up node.js to crawl the site. Once you set up Varnish, your site is set. No DB downtime, no slowness, best of all Varnish is free to use.

    • Mike Lewek

      One environment can pull images from the other? I’ve uploaded images to both the media library and in a post, and came into absolute urls.

  • Tim Selaty Jr.

    For the $43/month setup, I think you’re referring to the m1.small instance, which has a low CPU count and is throttled on CPU priority/elasticity. That’s your largest bottleneck in performance. Sadly, even a simple switch over to something like Linode.com’s deluxe $40/month plan would yield likely x3-x4 the immediate speed. You’ll have to worry about less of your CPU being stolen too. AWS will still charge an arm and a leg for outgoing bandwidth from your server if you have a heavy and steady traffic flow (images will be the price gouge).

    You’ve developed a brilliant and affordable plan, which is great. For those not so daft, some optimization on the same server could be done to achieve similar results. As others have mentioned dropping Apache for Nginx would immediately help for server static resources and assets as Nginx’s “sendfile” allows it to bypass a lot of the memory overhead that Apache has. It’s ultra-fast and scaleable. Secondly, Varnish is ideal for serving pretty much everything (setting up invalidation is tough, but worth it). It’ll serve both your pages AND assets through memory, which is blazing fast.

  • Hiron Roy

    Great idea Brad. Any movement on open sourcing the node+phantomjs tool? What benefits has cloning using node+phantomjs provided over using a tools like httrack or comparable site cloners? I’d definitely like to hear more about the details.

    Thanks for posting.

  • Kavan Lyles

    What about using multisite with buddypress?

  • NoBoz0s

    WordPress is nothing but a bloated pile of sh*t, designed to fail so that WordPress “developers” can make money off “support”.

    If you can’t do what you need to do with HTML and Javascript, then stay the hell off the net.

    • rohiiijeee

      you stay off the net, you script kiddie

    • Argument Avenger

      Ah, yes, only people with coding skills should be able to speak their opinions or run a business online. If you can’t code, then you don’t deserve a website.

      ^ My above comments ought to be satire, because they’re so ridiculously stupid, but they’re exactly what you said–save that my version is a bit more polite! New proposal: If you can’t make a comment without being an exclusionary dick, then stay the hell off the net.

    • Jay Jay

      I never realized someone could be this stupid and still be able to type

    • richard

      Ahh yes, because if you’re running a media site, hiring content writers and journalists who also happen to have HTML coding skills is far preferable to using a piece of software designed to streamline the process of publication.

      WordPress isn’t perfect but please, don’t throw around absolutely ridiculous arguments like this.

  • Ripulryu

    I will definitely try this out.

  • Well that explains part of the animosity of the devs on our team when I mention WordPress I guess.

  • YemSalat

    Why bother with WordPress at all?

  • ArcAiN6 .

    lol.. let me just point out a few things wrong with this entire rant.

    1) Database downtime due to failures == poor database administration. wordpress only connects to the database, and adds / edits entries in the database tables. Nothing more. If you have a failure, it’s due to 1 of 3 things:
    a) poor custom code
    b) poor database administration
    c) poor database configuration

    2) Hack attempts happen against almost ALL popular CMS’s. If you are actually being breached, the core wordpress isn’t at fault, one of these are more likely:
    a) unsecured ports to services such as database, ssh, etc..etc..etc..
    b) easily guessed / brute forced passwords
    c) poor custom code that doesn’t sanitize / strip js, html, php, etc from comments or posts
    d) poor custom code that doesn’t check extension against content.. i.e. uploading blah.php.jpg and it being executed as php when directly called
    e) poor file atributes / permissions (chmod 777 to all files is derpy)
    f) poorly secured environment, e.g. not forbidding su_exec, exec from php, etc..

    2) If your wordpress is slow, try removing un-used plugins, scripts, and includes. I have seen way too many sites that load everything on all pages, when the js file is only used one 1 page. This is silly, and will lead to overhead.

    2a) Learn to utelize gzip compression, and caching of non-dynamic content. This will releave some of the loading overhead

    2b) Load your js includes at the BOTTOM of the page, not the top, that way the innitial page loads faster, i.e. images, text, content etc.

    2c) optimize your database table, memory, and indexes.
    2d) optimize your apache by removing unused modules, and tuning memory, workers and threads.

    3) Scaling issues. I’ve not seen any, se previous comments about poor / shoddy custom code, and optimization.

    4) Expense.. WordPress is FREE. You chose to use the expensive hosting solution. you can host it on a machine at home if you have the bandwidth to support the traffic.

    5) Absolute URLs.. The only time absolute URL’s are used is with poorly coded themes, and images that have been uploaded. The only time you would experience any issue with this, is when you change the domain name, a simply 1 line sql statement can fix this ” select *.* from * and update “www.domain2.com” where “www.domain1.com” ” or something similar. Other than that, all other links within the wordpress environment are populated from database settings.

    and finally.
    Adding another layer of hardware and software to ” fix ” something that isn’t broken is silly at best.

    I currently host 38 domains, 114 subdomains, and 86 wordpress installs with out breaking a sweat. If you aren’t sure of how to use Apache/PHP/MySQL , or how to optimize, and secure your environment, perhaps self hosting isn’t for you.

    Before complaining about ” cost ” and ” downtime ” try to get to the root of the issue before blaming the entire project.

    The ” redesigned ” site was obviously redesigned poorly if you’re having that much trouble with it.

    The ” cost ” is due to hosting, wich is not any fault of wordpress. The “Apache/PHP/Mysql monstrosity” (commonly called LAMP – Linux Apache, PHP, MySQL) is the industry standard. Things such as ISS, and ASP are far less common.

    • YemSalat

      Trying to defend wordpress is funny, seriously I’ve seen the code – its crap, say whatever..

      • Mike Smith

        Exactly. It’s really not good.

      • Jay Jay

        I am assuming you’ve done better? Let me guess… you code with chalk?
        1) WP is an open source project. Unless you are really that retarted, you should understand that means the code is open for public scrutiny, addition/retraction/correction. Do us a favour and please help. Oh mighty one!
        2) If you can say “I have seen the code and it’s crapy”, the same code trusted by developers of companies as big as Time.com and mashable.com, many universities and the likes, the chances are, YOU DON’T CODE AT ALL ! You probably change a theme and you think you’ve coded. Prove me wrong and post some of your “not so crappy” code here. Let’s say “Hello world”?
        3) WordPress doesn’t need defending. F*c*tards like you who think by bashing someone’s efforts makes u a man somehow, is what the Internet needs less of !
        4) If you are a good coder, I challenge you to HACK THE CRAPPY WP CODE at wordpress.com… thanks….. NOT!

        • YemSalat

          1) The hell is wrong with you? Yes I don’t think wordpress codebase is any good and I am quite a decent coder. But no, I won’t help just cause its open source. I don’t have the time and I just don’t want to, is this ok with you?
          Hate this 2-dimensional logic. There are tons of open source project that I’m not a fan of – shall I go and help every one of them?

          2) There are other things to consider when building a website apart from code quality.

          3) Oh, I see, you’re just immature, ok I’ll stop now then.

          • Jono

            2 years later and WordPress code still looks like shit.

        • Zaakir Mungrue


    • J Man

      Done. Over.

    • xeridea

      WordPress DB downtime can be caused by any blip in traffic since it is horribly coded. Also their db design makes custom code slow and hard unless you do your own tables.

      Hack attempts easily shut your site down because WP is bloated beyond saving, so your web server will puke easily. It is not easy/possible to move the login url on your site.

      WordPress is designed poorly for security. By default it wants all files to be writable so it can install plugins willy nilly, and stupid themes can do stupid practices. You have to be an expert on locking down WP, and even then sites get hacked all the time. Plugins written by wannabes don’t help.

      Slowness.. there is no way to make WP fast. A fresh install, with 1 page, 0 plugins has a processing time of about 600MS, compared to about 10-20MS for a properly written system. Plugins make slow WP slower. But that is supposed to be the advantage of WP, mountains of crappy slow unsecure plugins. The caching plugins usually do more harm than good, because they still load up all of WP so they have 0 benefit.

      DB tables, indexes and such, WP still runs slow no matter what you do, and if you are saying this is an issue then the WP devs should fix the DB which has been hacks on top of hacks for years and years. Apache has 0 to do with WP molasses. I talked to PHP creator he says the most amazing thing about WP is that the mountain of code actually runs.

      WP always costs you more than other solutions. Hosting costs are astronomical because of crappy code. Custom developments take 10 times longer than they should (I know from experience).

      WP pros:
      Can get a basic site up quick.
      Lots of plugins.
      Basic user and content management.

      WP Cons
      Anything more than a basic site is a nightmare.
      99% of the plugins suck.
      Most themes are bloated piles of garbage.
      Horrible code makes hosting costs 20x more than they need to.
      Anything custom or dynamic takes forever to do.

    • richard

      Yep – most problems with WordPress arise from poor deployment practices and shitty plugin/theme code. That being said, those are still WordPress’s problems, as they plague everyone that tries to use the plugins and themes that are meant to make it such a flexible platform. Oh, and the code/DB are pretty awful too.

  • whitehawke

    The main problem with WordPress is the people that “design” with it tend to be 100% clueless to web technology. They are conning people into converting good performing conventional sites, created by professionals, to ‘blog-tech’ WordPress, and wrecking the client’s hard earned web presence.

    I have documented two cases where some slick talking fool from a “big box” agency talked a client into the switching. They both dropped like a rock.

    “SEO plug-ins” are hilarious. The WordPress people don’t understand how page rank is achieved, so when they take over a site they don’t know to redirect the ranking pages – they literally start the client from scratch.

    There is no shortcut to knowing the business you are in. If you want to be a web professional, take a course in html, it really isn’t that hard. Then use logic and common sense – that’s the part that evades the masses today.

    • Jay Jay

      “If you want to be a web professional, take a course in html, it really isn’t that hard.” I wanna cry… HTML is not even a programming language. It’s a scripting language hahaha
      Wordpress is NOT language. It is a Content Management System. You can use it 100% entirely with “good old” PHP or use its theming system. The fact that you can say so much nonsense about it, tells me you don’t understand it in the first place!

      • idkwpatall

        HTML is a MARKUP language…

        • J Man

          That s what I wanted to say. Mea culpa

      • Andre

        I dont give a poc for what html is. Just agree WP sucks, it is a pain in the ass, its demanding, its unfriendly and hard coded. Bloggers want much more easy going solutions. FUCK WP!

        • J Man

          If you tell a goat to climb a tree, it will spend the entire life thinking it s stupid. If u want to run 100,000 views /day site with 25 plugins and a theme you bought on kijiji, indeed WP would suck I imagine!

          • exceptional_cracker

            wordpress sucks period.

          • J Man

            And we should take that because you are god? Pssst

          • exceptional_cracker

            wordpress is pathetic. its 2010, learn to use prepared statements and transactions you fucktards.

          • J Man

            One more proof that you really have no clue what you are talking about ! http://codex.wordpress.org/Class_Reference/wpdb Just whine for the heck of trying to sound smart and better by trashing someone else’s work. Typical!!!

          • exceptional_cracker

            those are not real prepared statements. those are emulated prepared statements, offering zero protection.

          • J Man

            Here’s my take, if wordpress was that “badly coded and insecure” wordpress.com would be the most haCked site on earth. Right? Is it though?
            the WordPress prepared statement class is based on http://php.net/manual/en/pdo.prepared-statements.php as I just sent you the link above. If you are telling me that you know so much better, then I bow to you oh smart one! Otherwise, get over yourself

          • exceptional_cracker

            PDO doesn’t do nativep repared statements either unless you tell it to explicitly. MySQLi is the only php interface that will force native statements.

            Also, your strawman about wordpress.com not being hacked everyday is ridiculous. WordPress websites are hacked 24/7, sometimes resulting in the identity theft of thousands of people, and sometimes even financial losses. I guess i shouldn’t complain though, as it provides me with plenty of work.

          • richard

            There’s a big difference between WordPress.com and WordPress as a self-hosted blogging platform. WordPress.com probably doesn’t get hacked because it’s one current version, with far less flexibility, on servers they own and they’ve probably hardened it to the nines. The massive number of WordPress installs out there though, some massively out of date, are far easier targets as you can install any plugin you like, regardless of gaping security holes that are frighteningly easy to introduce (TimThumb anyone?), and are often set up in a way that makes them susceptible to misuse (like lax directory permissions that allow badly written plugins to write to locations they shouldn’t, especially when they include file upload functions).

          • Daniel Cederqvist

            OFC… You can “hack” anything. There is not any hardware or software that is impossible to hack per defintion. You can even hack a stock market but the security would be insane so it would be less likely…

          • richard

            Correct. It’s much harder, the attack vectors are far fewer, and the consequences are far, far higher – hacking ASX or NASDAQ will see you thrown in prison for a long time. WordPress installations, however, are numerous, vary greatly in version, are poorly installed/maintained and hacking then carries practically no consequences, in most cases. Hence, it’s hacked a lot, and it’s usually because of poor practice.

          • Daniel Cederqvist

            An intresting question would be if a complete attack would result in a “long time” or “lifetime”, since I assume the later… Or even worse depending on the location. ;)

      • Zaakir Mungrue


        • J Man

          I cqn have negatives about it, but unlike you, I start by giving credit where it’s due. Especialy if Stats are on my side likein this case!

  • Zaakir Mungrue

    oh god i love this! WordPress is a pile of shit. lies to make you feel it free then you have to pay for fonts then image effects, then you MUST pay for SEO then the upgrades are endless and even with 1 million updates wp will still have bugs. They have completely destroyed the true meaning of open source. I used to love webdesign check out http://www.ttslice.com its mines. After my wordpress experience I hate webdesign I even hate computers now. To hell with the technology of man I for god plants and animlas now. I hate webdesign now thnaks to wp.

    • Well i checkout your site, believe me you can make a better living doing something else then designing . lol :)

      • Zaakir Mungrue

        already into app design and making what dont you like about my website you are the first person to criticise my website ever? why? do you have a website? why is it better than mine? It displeasing to know you have a muslim name and you are criticising another muslim. May allah do onto you what you do to others insha allah!

        • Hello Zaakir, Sorry if i had hurt your feelings. I really loved your funny comment, I just said what i felt. Please dont bring racialism in to this. I read your criticisms about wordpress. I know you might be an awesome developer and i appreciate a healthy debate, but saying that wordpress charges you for fonts, Seo, updates etc is totally bullshit. WordPress is an opensource cms, you dont pay them anything instead use their bandwidth for free. All the plugins are actually built by third party developers and you pay them for it. And you dont have to buy these plugins you can build them your self secondly there are millions of free plugins that developers from all around the world have built. Today 80% of the websites on world wide web are using wordpress. And there are developers who live and breath code and still love wordpress.

          I am not saying that the quality of code is brilliant, i totally understand that wordpress doesn’t follow best practices or other standards. But What the hell do you have to do with the core? There is always a way to override the functionality without ever touching the core.

          I have also read that there are security issues in wordpress, bull shit i am a CEH and believe me when i say an up to date wordpress core has never ever been breached. Its the plugins, buggy themes, server configurations and human error that make the whole system vulnerable. Ok here is an open challenge, name 3 bugs that you ever found in wordpress, and i will provide the solution in less than 10 mins.

        • Captain Ice Richards

          Wow. Fuck you, extremist shithead.
          Also your site is crap.

  • Levente Nagy

    What i mostly hate about it is not following any pattern.
    Its just a bag of function collections, it totally reminds me of the early 2000 years coding style, not to mention you cannot do a lot of things without poking the core files a few times, what most of the time break after an update.

    I built lot of sites for clients based on wordpress, and when they needed to upgrade they where terrified, because not always but 85-90% of the time, something broke.

    So i coded my own CMS, an thrown WP in the trash.

    And for you fanboy’s, keep loving it, but dont try to convince us, because we dont want a huge pain in our butts

  • Simon Nicol

    Dear EVERYONE,
    You do all realise that THIS site and that THIS post is WordPress don’t you!? LOLOLOLOLOLOOLLOLOLOL

    • Bill

      That’s because this is a “blog” site and that is what WordPress should be used for… it shouldn’t be used as a commercial website

  • Jay Jay

    With all due respect to Brad, thought you have the right to complain about anything on your web space, I am sorry but you completely missed it and I dare to challenge you that there is so much you have no clue about as far as wordpress is concerned. Here’s why:

    1) WordPress is a content MANAGEMENT SYSTEM. With that, its main role is to “manage the content”, organize it,…Fortunately for some, it comes with the theming system, but you can actually use WordPress FULLY without ever loading a theme. Hence the define(‘WP_USE_THEMES’, …. ); parameter that can set to true or false. In that case, if you set it to false, you can use wordress 100% as a backend system and pull the content with “old PHP” entirely. You can ask more and I would explain. I have a client’s website that runs wordress but you can’t know at all because it’s loaded 100% from another location. You don’t need to move from EC2 to S3 !!!

    2) I managed more than 100 clients on AWS and some have servers as small as 1tier instance to extra large monstrosities. One such instance runs a website with 50,000 daily views and it DOESN’T crash. So, again, it all comes to your level of server administration. If you are used to using shared hosting where everything is taken care of for you and then you move to having to do it manually, package after package, parameter after parameter, then messing things and blaming wordpress is common occurrence. All respect due !!

    3) You said “Notice, it’s all the familiar URLs from wordpress, /wp-content and /wp-content/themes, but all coming from Amazon’s rock solid S3 service.”
    First of all, there is no such a thing as “rock solid” this or that. It’s as rock solid as the admin makes it!!!
    Secondly, /wp-content and /themes can always be altered by defining more parameters.

    define( ‘WP_PLUGIN_DIR’, …. );
    define( ‘WP_PLUGIN_URL’, …. );
    define( ‘PLUGINDIR’, …. );
    You can even move the uploads DIR from /wp-content to wherever you please by defining…
    define( ‘UPLOADS’,…. );

    There is so much more I can show you right here, but but I have created installations that run on WORDPRESS and yet are not perceived as such because it gives you that flexibility. If you don’t know how to take advantage of it is another story, but you shouldn’t complain about someone’s coding based on your sloppy admin abilities.

    In the end, WordPress itself is NOT bad. The admins of the platforms it is hosted on are sometimes another case, and the choice of plugins/themes can also lead to vulnerabilities. You can’t blame the car’s chassis maker for a type that exploded due to more than enough air pressure!! WP is like the chassis and motor. It can run smooth if you put the right tyres, the right pressure,… However, if you wanna put chains on it like a tank, it will blow in your face !!

  • Bill

    I have been developing websites for 18 years now and have come to conclude that WordPress is for people (web designers) who do not know how to develop proper websites. Anything WordPress can do you can do cheaper and more efficiently if you are a good developer. I see too many “developers” charging way to much for work that they actually don’t do and are ripping off their clients.

    • Simon Nicol

      I too have been developing websites for 18 years. I’m also an experienced video games programmer.

      When you say: “Anything WordPress can do you can do cheaper and more efficiently if you are a good developer.”

      How on earth do you get cheaper than free? Eh?

      How do you get more efficient than instant?

      You also say that WordPress is a “blog” site and ” it shouldn’t be used as a commercial website.” Yet again I disagree as you should know WordPress can be customised to look any way the developer / customer wishes – it can have all it’s “blog’ features hidden / removed in a matter of minutes. WordPress also has ‘Pages’ and can look absolutely identical to “a commercial website”. It’s also simple enough for customers / clients to use and update pages for themselves.

      You’re entitled to your opinion and I’m entitled to mine and I absolutely disagree with you in every way.

      • Bill

        Hi Simon thanks for your reply i appreciate the feedback. Here in my office (I have 3 employees) it takes longer to dress up, customize and maintain websites using WP.. plan and simple. I guess it can be quicker and easier to use WP if you want to use a template and have your website bland and looking like 100,000 other sites but we have always prided ourselves developing custom and very personalized sites. I will admit that there are some plugin type features that are easier with WP but most commercial clients do not need features like that. Most of our clients do not manage their own websites however we have developed an easy to use CMS system and can apply it to their websites if they do want to.

        • Simon Nicol

          Fair enough. I also create my own custom themes, but that’s because I’m a programmer and none of them look bland – or at least I hope they don’t :)

          • Enrique Miranda

            Seriously, I’m just laughing at you defending WordPress. to prove how retarded WordPress is, please visit http://www.gtmetrix.com and w3c compliant validator. WordPress, is a piece of shit, and I agree, that anyone who defends it, has no experience in diffirent technology, because if you did, you would never want to use such a shitty CMS. Even Joomla shits on WordPress, but using a CMS system is a bad idea in general, stick to the basics and build your own systems. I recommend moving to Laravel4, a real Framework.

          • Simon Nicol

            I don’t think a website that can load in 0.3 seconds is retarded. If a server is configured correctly ie removing ETags, HTTP keep alives, GZipping and Caching. Once a dynamic page is in the cache, it’s the cached, zipped version that gets sent to the browser – Needless to say this is lightning fast.

            You mention gtmetrix above. This site as well as webpagetest I use all the time. (All professional web designers and programmers do.)

            When a WordPress site’s theme has been properly programmed (I also design and program my own themes and plugins) and the hosting server has been correctly configured then a PageSpeed score of 100% can be achieved.

            To simply say that “WordPress, is a piece of shit” only serves to demonstrate a remarkable lack of knowledge and understanding on your part.

            I challenge you to install the _s starter theme (also knows as ‘underscores’) on WordPress and run it on a correctly configured server and then tell me it’s slow.

        • Simon Nicol

          Bill stop, please. If you and your 3 employees think you can write a full e-commerce shopping basket calculating shipping, stock levels etc faster than you can download and activate the woocommerce plugin then good luck to you.

          WordPress has 100′s if not 1000′s of programmers dedicated to making it better but no, you and your guys can do better than that!

          Hey why use code that’s been already written? GitHub, Google code all a waste of time according to you when you and your 3 guys can write it all faster and more cheaply than instantaneous and free.

          What can I say? We both have very different opinions about the best way to go….

  • Well i have been a wordpress developer from the early days of wordpress. I also have a lot of experience in laravel, codeigniter, ruby on rails, django etc. I do agree that the code might not be brilliant, mostly because of the procedural style it follows. Although its not following good OOp concepts, lack of MVC structure but to be honest it is by far the most feature rich and easy to use CMS for the clients with a perfect plugin repository and codex.

    Like most of comments i have read, i totally agree with them that the issues occur when developers start handling the servers. I have been using AWS for years now, and i get the job done but lets face it, we are developers not Server Administrators. Leave this task to the professional administrators. If you cant hire one, go with a managed cloud environment like rackspace or cloudways or hire support from amazon its not more expensive than the time we spend configuring.

    I also agree that there are plugin developers who dont have much skills or time to tie all loose ends, but they are offering their plugin for free so we should respect that. Also now a days people have started using wordpress in a totally awkward manner that it was not ment to be, from creating vendor marketplaces to crowd funding applications. I totally agree if a client want something like this they should consider writing it from scratch which might cost thousands of dollars. But if they are getting a similar solution for under $50, i dont think users should complain about that. I wouldn’t even if it was shit, its like buying a chinese clone of rolls royce.

  • Zaakir Mungrue


  • dud3

    FUCK WP, sucks as shit, I’ll build my own better.

  • Itzik Ben Hutta

    Today I found out how much WordPress sucks. Apparently when I try to upload photos that were taken vertically by an iPhone they show up side-way on windows, and android devices, and if you rotate it, then ios users will see it side-way.
    So I learned my lesson, no shortcuts, I will need to code the old, and long way with a language, and framework.

  • Lidija

    Wow, loads of harsh words for WP… True, wp is history, node is future. Who worked on wp and then started with node development, it’s kinda hard to go back, because it’s like another century… But on the other hand, life is just not perfect. Wp is 30% of all websites, wp is ecosystem, wp is millions of great designers and all devs who just don’t care about node and stuff. We all need to make things better, and node dev community is doing great stuff, but for the meantime, we will still use wp (like we use stupid cars/trains etc until we get to personal Flying Cars), Anyway, thanks for this article, it’s really smart to combine old with new, that’s wisdom. my 0.2$

  • In my opinion WordPress is a tool and you use it when it makes sense… and many times it doesn’t. Most of the times, a website of 4-5 pages (home, our services, about, contact us, etc..) can be made entirely in HTML (static), but people still use CMSs to do them. In our case, for our web design agency we went completely static and the results are really good ( http://softelos.com ). You can also read a quick article I created about the subject ( http://softelos.com/advice/2015/03/16/fast-and-secure-websites-static-sites )

  • Or…you could just learn how to setup LAMP/your server properly, and block the bots, increase security and weed out any bad plugins with P3 Profiler. Oh and get a decent host – running any medium sized server on shared ‘cheap’ hosting will of course hit problems (see LAMP setup – memory, connection and all the cache settings are really important) but WordPress uses a bit more, but setup correctly it’s fine. It gets the blame for people not being able to do server admin, basically.

    I spent ages with all the cache plugins, arguing with my host about CPU time and before that being told to basically go by the likes of Hostgator (who I say don’t bother doing anything other than HTML on their underpowered shared servers), etc.

    But when I geoblocked China and Russia from constantly hammering my server on the backend and spam, and spent a while researching and tweaking Apache – it flew. Been fine ever since. I’m on a cheap but good VPS as well, much cheaper than Amazon, something like $20 a month but only really for disk space, the $10 one is fine.

    Oh and always use Monit on a VPS, because I found the hard way with a few hosts that a few CPU spikes really annoys them, get your server pulled. But since I fixed the Apache, bot and security issues, no real problems anymore. I suspect a lot of people blame WordPress (been developing on WP since 1.2) because the code used to be pants, and their themes badly coded. Recently the code has been rewritten and it’s a lot better.

    Might not be ‘Node’ but I suspect at some point WP will switch from PHP. And those moaning about it being ‘crap’ then yeah, go code a free CMS that is better, love to have more choice. But out of Joomla, Drupal Movable Type etc there doesn’t seem to be many that don’t need a degree or a lengthy course to start. Joomla and Drupal just remind me too much of the horrors of phpBB for instance.

    And WP has a MASSIVE ecosystem…which devs might want the latest shiny thing, but showing yr Alpha Dev skillz is fine but I personally want mature software that won’t have holes in it. WP 1.2-1.5 had many holes, but not had serious issues for years apart from stupid script kiddies and their silly bots trying to log in with ‘admin’. LOL.

    P.S. I am a designer, but I know my PHP, Python, some JS, Actionscript, CSS etc. Some of us can code too, you know. I’d say WP isn’t as designer friendly as it could be, having been hired to train other designers in how to theme it. But it’s gotten a LOT better, and CSS3 is a godsend.

  • bmarkovic

    Large, large majority of use cases these traditional PHP CMS platforms solve could be solved in much more performant, secure and even more HTTP/REST compliant way by simple server-side rendering of various static assets that could be distributed by nginx itself without running single line of server-side code per user request (only running code to render admin UI and when resources change due to admin/editor user actions). Very few things need to be done per user, and in large number of cases (like when there is need for administratio/editing) those could be offloaded to client-side code that would pull them with XHR. Some enterprise CMS systems for Intranet use are already moving in this direction. The whole concept could be extended with simple, inclusive (Diazo or Concrete5 style) templating, and all the sudden every single HTML5 template is easily a proper template for your CMS. If someone can makes this into a cheap hosting model, that will be the future of content management systems.

  • http://www.techpines.com/ is running on squarespace.. Lazy :(

  • bigbanglasers

    I see morons who are hiring Web Designers and require WordPress experience…no real Web designer would want to use it..it is limited and meant for office assistants to be able to update their crappy web site….

  • I really like your solution that fixed the huge WordPress problem. But if you don’t mind me asking; why go thru all that trouble? I have literally watched WordPress change from being something that was once very amazing into something that is a complete nightmare to work with.

  • Enrique Miranda

    If you’re serious about being a web developer, stay the fuck away from WordPress, Joomla, and Drupal and learn to use Frameworks like Laravel4, and AngularJS instead. Once you learn to use a framework with other front end technologies, you’ll never want to touch a CMS again, that argument about it being good for the client is complete bullshit. Clients hate the backend of such a shitty system, why not spend the time to properly develop a CMS for them? A cms should maybe only be used for prototyping, but not for a live project. Fuck WordPress!

  • tom jordan

    WordPress with Fusion is a terrible product. Slow, unstable. Crap

  • TRexTech

    There are about 100+ reasons that WordPress is one of the worst choices for a web development platform, but I will just touch on a few.

    Completely over-burdensome when it comes to making simple changes that can be achieved with a few lines of HTML or CSS.

    Extremely buggy and consistently failing due to terrible core module implementation between release versions. You upgrade your version of WordPress, most likely you are going to break an existing plugin and something isn’t going to function correctly. This is where the WordPress developers come in and charge a boatload to fix things that should always be working from the start.

    SEO plugins are a joke! SEO algorithms are constantly evolving while the plugins stay the same.

    Since WordPress is a Content Management System (CMS) and CMS was designed for non-technical people to be making updates, they break stuff. Web Development should be left to web developers. Stick to what your good at people. I don’t pretend to be a lawyer because I don’t know jack squat about most laws.

    WordPress creates extremely bloated and slow user experiences. I have seen some WordPress sites over 2GB filled with crap that accumulates over time. I can put 10 extremely large static HTML, CSS, Javascript based sites into under a 500mb file combined!

    WordPress sites get hacked! Yes it happens with WordPress more than any other web platform I have seen. Sure this could be due to the fact that so many sites that exist are running WordPress, therefore they are targeted more frequently, but I have NEVER had a static HTML, CSS, Javascript site get hacked. PHP also has something to do with WordPress vulnerabilities, but that is a whole other discussion in itself.

    Anything that you can build in WordPress a good developer can build using traditional non CMS methods in about 1/4 of the time. I like to leave my customers with something that is platform independent, so that no matter what type of developer ends up working on it after me, they can make changes with little effort as long as they know the basic web development skills of HTML, CSS, and Javascript.

    I could go on with a never ending list of the reasons that I don’t use and highly recommend that my customers don’t use WordPress, but I think it is very clear that there are way better methods of creating websites.

    I have been building websites since the late 90′s and have seen web development evolve over the past 15 years into something incredibly powerful. Great visual, user friendly and mobile responsive sites can be made using core web development languages that have been around since the beginning of the internet, at least as most modern people know it. HTML, CSS, Javascript!

  • Karl Philip Lund

    I have all my blogs on WordPress, but I´m evaluating other alternatives. In my quest to find the negative aspects of WordPress, this Quora post was quite useful: https://www.quora.com/What-are-the-benefits-of-using-Enonic-instead-of-Wordpress

  • Jami Atlanta

    so I’m one of those people that were fooled into paying someone $1500 to re-do my companies webstie. Now, fast forward less that a year and the site says “out of memory ” and won’t even allow me to login at all! the girl that made it only gave me “support” for a week. Now I have this major issue and she won’t even call me back. Any advice on wording to getting my money back or get her to help? Can I take her to small claims for falsely creating a faulty website? I own a bar…I know nothing about computers :( HELP! -Jami

  • WordPress, Drupal, Joomla, Bootstrap, et al. The main problem is the motivation to use these platforms at all. The motivation is the belief that you can make a living in an arena that is totally foreign to you.

    “Be an Auto Mechanic Without knowing Anything About Motors” will never fly – because if the client doesn’t make it off the shop parking lot, he’ll know he’s been had immediately. But converting (ruining) a successful site, under the sales hype of “modernizing”, may take months to discover. If the client has no metrics to measure performance – he will be dead before he knows he’s even sick.

    This total lack of understanding of what makes the web work makes the CMS guy fearless. He has no idea of the havoc he will soon cause – or the client’s particular brand of vengeance. I’ve been building web sites for 20 years and I see a big backlash coming when clients realize what took them down.

  • J Man

    Get over yourself

  • xeridea

    You clearly fail at tech. How can you say database issue can not be the fault of poorly written software? So say to request a page you do 300 DB calls, your answer is buy more servers? I once fixed a site that was extremely slow with product searches due to horrific DB queries, that would take 2-20 seconds… or return 500 error. Guess we should have told the client to buy their own datacenter.

    You see nothing wrong with their DB design because you have never worked with it.

    The terrible WP design, but allure of being “easy” to set up breeds thousands of terrible “developers” writing terrible plugins. Working around terribly designed WP makes the problem a lot worse. The reason hack attempts bring down WP so easy is WP is extremely bloated and slow, so it doesn’t take many requests to kill your server. There isn’t really much you can do to prevent it. Like I said, WP takes at least 20x more CPU cycles than should be needed for what little it does.

    I have worked on several projects, with and without WP, sometimes it is hardware, but in my experience, 95% of the time its software. You clearly didn’t read my post, I said WP takes ~400ms CPU time for FRESH installation with ZERO plugins and ONE generic landing page. You can’t seriously tell me that that is acceptable. Websites and app I have done typically have ~20ms processing time, and they are doing a lot more than WP could even dream of.

  • xeridea

    Your 38ms CPU time is BS. I have a site with a blog, and a separate custom main site. The main site is ~50ms TTFB (according to Chrome dev tools), the WP is 446ms. Plugins are very minimal, and this is inline with the other WP sites I have worked on. The only way to get close to 38ms would be a cache that 100% avoided WP. 300 DB calls is exaggerated, but WP is horribly inefficient no matter how you look at it.

    If you manage 3800 WP sites, you probably clean up hacks daily. You keep blaming plugins, but WP is still terribly slow. The reason people get plugins is because WP by itself is near useless, so people are forced to be at the mercy of programmer wannabees. I have not met a single real programmer who likes WP. The ones who talk it up are the ones who have never written a line of code in their life.