WordPress is an amazing platform, modular, well-designed, and easy to set up even for the average internet user. And it has a lot of super nice and free plugins. Also if you want to invest a few bucks for some “premium” or “pro” versions of them, probably you won’t go broke and obtain a professional result. So as a coder or web developer, everyone can set up a decent website with a little money and just some effort.
This is the classic google made “web-expert” workflow:
- Get a cheap hosting
- Buy a theme on Envato Themeforest
- Add plugins, plugins, plugins……and more plugins till you have become as you always dreamed
To the left you see how the site could be and….but to the right, you see what’s in reality!!
“Hey Fab, the site is super nice, see the effects when you mouse hover, how cool is that? And the animation here? And the Parallax? What about the particles that follow the mouse’s movement? And the 5 popups? Crazy great!”
Then the site, for mixed reasons (yeah….. let’s say so…..), start to become slow, and there you start looking on the internet for some Speed optimization tips, tricks, courses, and miracle recipes. And you install more “promising plugins” that instead of helping, bloat the site even more and cause more problems.
Then You start to post in Facebook groups, complaining that the fact that the website is slow cause elementor is slow, another builder is fast, or a “vanilla” script is better than a jquery based one (i vouch for this tho)……that this builder is better than this other, etc., etc. and looking for free help with a post on every single thing you have in mind.
Then magically someone posts a 97/98/100% Gtmetrix score and you think…i want that too!
And there you finally decide to book a specialist in WP speed optimization and invest some money.
While this is an area that I cover as a specialist, I don’t recall myself as a WPO dedicated speed master or Jedi or Guru or…..whatever you want to say. Let’s be clear: I can probably help you to speed up your WP site, and not only that, but i won’t write a dedicated article on that nor try to sell you a course on how to achieve that in 5 steps. There are far better and more experienced developers on such matters out there and i still think that it’s not as simple as many try to sell you the work. It requires a bit of time, knowledge passion, and experience. Also as with everything, it’s a bit of hit-and-miss finding the right balance between usability and performance.
So i will tell you this story, a real one that has happened (sigh) to me.
I wanted to help a friend of mine, which is not very wealthy and had a slow site, but as he’s a good lad, and I wanted to do a positive act for the day i offered to help him optimize his website for free.
He deserved a faster site.
But he’s truly a positive person and a good-hearted, genuine one, hence i was super happy to do it.
This is where it all started. I worked overnight to deliver in the morning to make him happy and impressed. And this was the result :
Impressed uh! I was quite happy about the results, coming back from his old 65%!
Well, I went to sleep as I was quite tired and in the morning he was like “Fab, it’s amazing…BUT…”
Some functions were broken in the site, but nothing big at the start, so I re-checked the optimization and I saw that something was not right there.
The site was having some redirection problems and some other missing things. I tried to fix it, but then the site started to go crazy, and out of control.
- Error 502
- Some “exhausted” resources errors
And every time I tried something the site seemed to work and then randomly triggered that error. When the server seemed to stabilize then it fell again and again and again. It was super frustrating. Also, the CPU and RAM were overworking exhausting the available resources.
I did not have server access hence i could not restart or control the machine from that point of view, and probably opening a ticket won’t lead to a “real-time” intervention. I checked also with another specialist and he agreed that it was strange as behavior but also would require an in-depth look.
It was one of the worst moments of my programmer’s life. I take my job very seriously and i always want to deliver and commit to my customer, since they gave me their trust. Plus this time it was my “fault”. I could moan telling “Server is bad, blah blah blah” but in reality i made a BIG ERROR: I did not check that there was already a caching plugin in place and i did not disable and made sure that the system worked after, hence it conflicted with the new one and started to create problems and instability. Plus there were a lot of old un-updated plugins and i did not update first, which would have indeed helped as I worked on “old” versions which is not ideal at all unless you’re aware of a conflict between them. I should have an updated theme and plugins and then check better the caching situation in place. When i saw the ftp i noticed also there were a lot of old leftovers from the old plugins he used which were not good at all, but in reality, it happens quite frequently.
Another thing i noticed when i was setting up the cache, was that for some reason the results with an Enanched disk write set up were much slower than basic ones….and while this triggered some doubts, i ignored it at first.
At this stage, while my friend was very patient with me, but in my mind imagined him like this (told you he’s very ugly!) :
What did we do? Having a server backup he could easily reset back. Simple. Fast. Immediate. Effective.
Then, without changing the settings, he updated the plugins (they were quite old and not updated) and the theme to the latest versions, and he had the below score :
It’s a very good score in my opinion, the machine is on a very basic shared hosting plan and low resources and the site is done with ELEMENTOR and ASTRA theme. I like Astra, i think it’s a solid theme and can get you to obtain a very nice and speedy site, plus it offers a lot of included customization without bloating the site too much at all.
These are the questions you want to ask to your clients BEFORE you jump on their server or site. Simple and easy ones, but fundamentals:
- Do you have a backup system in place?
If not, you’re walking on a thin line, and someday something will happen, it’s just a matter of time. Get it done, get it done right. That’s as simple as that.
- Do you keep your site on decent hosting/VPS?
I know you have your budget, but building your site on low-quality cheap hosting and making it perform well it’s still possible but remember that RAM is RAM and CPU is CPU. Simple rule? The more the better. Still with a proper server setup, cause you can have a blasting great server and perform badly as the sysadmin is not getting things right in place or optimizing the machine as it should. This is a great investment in the mid-long term. Get a quality host with a scalable system so you can get a better machine when you will need it will be a matter of a few clicks!
I would recommend these for VPS : Vultr, especially the High Frequencies servers, are very good and DigitalOcean
In my experience regarding hosted wp sites in Italy, i vouch for Serverplan along with Vhosting. My personal experience with these when i contacted them was positive in terms of support and i was able to resolve the problems i had or the doubt i shared in a professional and rapid way.
I would stay away for LIFETIME DEAL HOSTING. Why? Cause hosting is a recurring cost even for them, and infrastructure to be maintained at a level must be updated constantly. What you pay now, will cost more (or less) in the future, and it’s a total gamble to base your site or your company on such risk, don’t do it, you’ll thank me later.
That may be caused by a lot of different reasons, some of them may be :
- You’re not correctly using the plugin, even if it’s a simple one i swear i never saw a foolproof plugin
- The server is not “good enough” to handle the processes and it crashes (low possibility, even most basic hosting nowadays can handle a simple WP site)
- You have a very bloated wp installation and using old/outdated plugins (80% of the time)
- Database…..check the database…something maybe not be right there!! (bloated tabs)
- Virus or malware which drains the server resources
As a developer I always encourage you to follow these steps :
- Get a copy of the site you’re willing to work on and stage it locally or online, possibly using the same server PHP and MYSQL versions
- Test all the optimization setups there, if all is good then move to a staging area on the customer hosting server for extra security. Question: “why? if i already tested with the same versions and it worked, it’s a waste of time!”……well we need to see how the customer machine will handle it, even if we assigned in our test the same resources, we don’t have the same server setup hence….being more careful is the better option.
- If these 2 last steps are positive then you can apply the modification to the final site and still, there will be a 5% possibility that something will not work as expected.
Why? Well, that’s life. Deal with it, and as my friend said: you can’t solve all the problems always!
He was half right, i knew i could probably solve it, but it would have been massive work and take time, and time is money plus this would have also created other problems and delay so the best option was the most basic as i highlighted: server backup restore. I was destroyed to agree with this, but it was the right decision.
When i have to work on a site i always check the site conditions and since a lot of WP sites that have slow results are full of plugins, having a proper B(ackup) plan in place to restore the site is the best life-saver you can get. This way you’ll be sure that, even if something breaks up, you can safely restore back.
Why i wrote this story? Simply cause this is something that may happen or may have happened to you as well, hence i hope you can benefit from my experience and take the good side of the story. Plus my friend is a great lad and he deserved some credits 🙂
So it’s a bad end…….NO, NOT AT ALL!
I decided to understand what was going wrong, and what was the issue behind the errors and i asked a backup to be installed in a separate machine where i could test even further the site. Long story short? The original server is shared hosting and couldn’t handle the workload peaks, which was causing the site to randomly crash when these peaks happened in terms of CPU and RAM usage. The tricky part is that these loads were super “low”, but still maybe the server configuration or the resources allocated were not working as they should. Also, the server was running NGINX and the cache directives i used were super aggressive on the shared hosting we couldn’t set them up as i could, instead, in my VPS (still a very very basic plan in my environment). I was then able to re-install the site and optimize it. And these were the final results achieved:
You’ll be asking yourself now, which is this site? Well, I’m happy to share it, as it’s a “decent” one (joke, it’s very very good!) and its blog also features some cool articles about learning English during Covid Times, and for all my Spanish friends could be a very economic and entertaining option to improve your English!
Still, if you have a slow website and you want to give me trust, I’ll do my best to optimize it but remember….a site backup is always a wise and safe Plan!