Version 3.3 of my websites: the technical side of things
If you have read any of the earlier blog entries about my site (Version 2.0 of my website…, Version 2.1 of my website…, Version 2.2 (alpha) of my website…, Version 2.3 of my website…), you’ll know that I struggle with some of the features on the sites from time to time. Tweaking this, tweaking that.
Often it is because one feature of the site works REALLY well, and draws me in a certain direction, only to later have that feature either be less important relative to other features, or just stop working well. Sometimes it is an issue with the hosting company.
I didn’t do separate blog entries for version 3.0 where I basically had WordPress all up and running, or version 3.1 where it was a combination of two WordPress sites, one Piwigo subsite for photos and videos, or even version 3.2 where I merged it into 1 WP site and one photo subsite. Things were working pretty well, and I had transitioned over time from Spelunking Web Design (too little bandwidth and storage) to Netfirms (solid for a while until I ran into some config issues with storage) to Greengeeks (which let me host all my pix and integrated well with Google Storage for video). Usually when I have transitioned from one site to another, it has been either my needs outgrowing the basic offerings or the costs associated with my needs being much cheaper elsewhere. Each hoster has slightly different rules and offerings, and as my needs changed, I switched to keep costs down on what are basically personal sites with no commercial value.
This past year though, going back to February, I’ve had a small battle with Greengeeks. Things were going along mostly fine, after I had switched to them last fall (Cutting the cord – Part 5 – Internet hosting). Then, suddenly, things weren’t fine.
The beginning of the end of a relationship
I had consolidated my previous two WordPress sites — polywogg.ca and thepolyblog.ca — into a single site (polywogg.ca and redirected thepolyblog there too), and with the previous focus of what the two sites were about, I was able to more cleanly integrate them. It just made sense at the time for me to have everything together, no need to separate out “personal” from more “professional” musings, and separate menu options to help keep things sorted.
But then I noticed a problem in February with something rather small initially. I was running a “to do” list app on the site…well, actually three of them. One for work, one for personal, one for “other”. Plus a calendar that my wife and I could share. Like with hosting my photos on the site, it seemed to me that if I had a whole site to myself, why would I use other sites, commercial or otherwise, to host my info?
One day I went to do something on the to-do list and the subsite wouldn’t load. Dead. Fatal errors out the wazoo. This was odd, it had been working the week before just fine. Two other lists were also “dead”. And the calendar. WordPress loaded fine, but the look was a bit off. I checked the photo site and it too was acting weird for layout. Connected to the help desk, asked a few questions, and they located the problem almost immediately. They had auto-upgraded my site from PHP 5.6 to PHP 7.0.
If you’re a layperson, you might think, “Sweet! Free upgrade!”. If you’re a little more knowledgeable about sites, you might think, “They upgraded you automatically?”. And if you’re way more hardcore than me, you likely are thinking, “WTF??? Why would they upgrade you automatically? Did they tell you so you could test your config? What kind of hoster would change your site without warning, notice or testing?”. Guess which camp I fell into.
The upgrade broke my todo list installs and the calendar as they weren’t 7.0 compatible. WP’s core is 7.0 compatible, but all the plugins apparently were not. Hard to tell, precisely, but WP was a bit off. PiwigoPress, that I was using for my photos, also didn’t completely like the upgrade tweak in the background, but I’ll come back to that.
They switched me back to 5.6, lists seemed fine, calendar loaded, everything else worked, it seemed like “no harm, no foul”. At first. Then about a week later, I started noticing my photos didn’t seem to load properly. The layout screen for a gallery, for example, would load, but not all the photos. Some were just placeholder symbols in Firefox, Chrome and Internet Explorer/Edge. Definitely a server issue if all three were treating it the same. But it wasn’t consistent. Sometimes everything would load fine. Home seemed fine, work seemed more intermittent. Then I tried it on my tablet, worked great. Decided it was a temporary bandwidth issue, moved on.
Then I uploaded a batch of new photos, and all hell broke loose on my site. Pics wouldn’t render at all, any format, any location, any connection. It just did NOT want to load right at all. Then some would, others never. I tweaked, I checked, I tweaked, I checked. No idea what was wrong. I hadn’t changed anything in almost two months, but now, suddenly nothing worked? I went back to Greengeeks support to see if anything else had happened? Nope.
The larger investigation begins
I thought it might be the PHP version, as they were going to phase out lower support. So I transitioned all my lists to a new app/site temporarily and then from there more recently to one called TickTick. Accessible from work, comes with app, updates in real-time reliably between Andrea’s phone and mine (we share shopping lists for groceries, for example, so she can make the list and I can buy the stuff), good toggle options to switch things on and off. I moved our calendar to Sunrise, which then was closing shop, and now to Google, since we can both run reliable apps to synch. So I was down to just WP and Piwigo, and they seem to like 7.0 reasonably fine.
Yet wonkiness remained. Over time, I narrowed a feature down that wasn’t working in Piwigo. Photo conversion wasn’t working right. It didn’t seem to be adjusting the size, and the rendering was taking forever.
Apparently, unbeknownst to me, the switching from 5.6 to 7.0, and then back, was not a simple switch. The switchback was actually a complete reset of some sort. Features in PHP setup that had been “on”, like one called GDIMAGE and another like IMAGEMAGICK, were now switched off by default. Now that is not something I would ever play with — once I get the initial setup right, there would be no reason for me to go into that extremely technical side of the configuration. It’s almost like going in and editing the Registry in Windows. You *might* have to do it for something specific, but rarely manually. And I found the default change by accident.
Why would they matter? GDIMAGE and IMAGEMAGICK are library functions for PHP (not quite the right term, but close enough) that add image conversion to the list of things PHP can do. Such as enabling Piwigo — I uploaded photos in one size, and it would convert them to other sizes so you have the thumbnail for small viewing on one type of layout, medium for another, large for a third, and then the full image (if you tell it to keep it, which I did). I had unlimited storage, and having those different sizes is supposed to make everything load better/quicker without having to do resizing on the fly.
But with them off, Piwigo wasn’t working right. It was trying, but I configured and reconfigured things out the wazoo before I found the missing libraries problem. Then I tried to put everything back to the way it had been, but things still weren’t quite right.
I started getting warnings that the server load was too high. Too high? How could that be? I had a WP site that had double-digit visitors on a good day, another that had visitors once or twice a year that I host for someone else, and a photo site that might have visitors once a month. No way could I be overloading the server. Yet the logs didn’t lie. 10K hits in a single day, most asking for pages that didn’t exist, lots of redirects, some attempts to log in. Spam attack in some ways, access attacks in others, and just a lot of pic loading. Sort of. Some of it was just Piwigo still struggling with the load to convert graphics sizes.
Greengeeks and I started a series of exchanges as we tried to nail down the problem. They, like any bad hoster, start with the premise that it’s all the user’s fault and that they didn’t do nuttin. Except they had. The original PHP switcheroo. Then, on a regular basis, they would try to help, and they would tweak a setting they thought would help. Except they would do it without telling me. I would be in the middle of testing multiple configs, resetting things, and suddenly one of my changes looked WRONG. Something that shouldn’t have caused that change. I’d undo it but the change would remain.
And I would go down a rabbit hole for a couple of hours or even days trying to figure out WHY that changed with my changes, only to find out it wasn’t my change. It was them changing background settings in the middle of my testing and not telling me. Meaning I would have to go back to the beginning and start the testing all over.
I was getting increasingly hostile about their support. Particularly after they swore it was PiwigoPress causing the problems. I finally gave access to one of the actual developers to check the config directly, something I was floored he was willing to do. I had been all over the Piwigo forums trying to find a possible cause, and then he offered to check since none of the things I was looking for should have been the problem. Everything was set properly. No issues. And Piwigo is being run on literally hundreds of thousands of installs without issue. The problem was NOT Piwigo.
I finally started to figure out what had happened. This is a bit simplistic and misleading description, but basically it was a combination of several features. WordPress liked PHP 7.0 but a security plugin within WordPress did not. Sort of. It basically changed the way it handled sub-directories — since my WP install was at the equivalent of WWW.SITE.CA, and my Piwigo was in WWW.SITE.CA/PHOTOS, the WP security plugin was trying to control the photos site too. It wasn’t designed to do that, but it wasn’t expecting virtual subdomains to be located below the main root. At least as far as I can tell. Equally, the PHP 5.6 to 7.0 to 5.6 switcheroos turned off my image processors, which sent Piwigo into a tizzy. Between the two, i.e. the image processing and the overly active security plugin, I was really struggling to find the source of the reconfiguration issue.
Adding in multiple changes without Greengeeks telling me they changed something, the problem was impossible. I couldn’t be sure my “testing” was working, and frequently it wasn’t — cuz they changed something in the middle of my efforts.
Ratcheting up to a governance issue
This seems like an odd way to describe it, but I was now dealing with a governance issue. I explicitly told them they could do diagnostics if they were helping, and identify things I might look at, but UNDER NO CIRCUMSTANCES were they to make any further changes to my actual setup. They did anyway.
So I opened a ticket of complaint. Someone deleted it. Literally, it disappeared out of the tracking system. I opened two new ones — one with the same info and one to find out what happened to my original ticket. Both were deleted.
At this point, the relationship was basically toast, but I’ve paid for three years worth of hosting to get the lowest price, and while I’m willing to eat that cost (decided that upfront when I paid it), I wasn’t willing to go gently into the night. I tweeted a couple of their major customers who provided testimonials on the “greatness” that was Greengeeks, I tweeted their CEO, I tweeted their IT specialist. Suddenly people started paying attention to my tickets.
I didn’t get any better service, but they were at least paying attention. Now, separate from the pain and frustration, many of you might jump to the obvious two solutions:
- Kill the account, move on;
- Delete everything, reinstall from scratch.
I was hoping for (2) still, but there’s a small problem with that plan. I had no way of knowing that if I got it all working and installed right, another change from GG wouldn’t come along and swamp my setup. So I wanted to know how to mitigate that risk. I started asking a series of Qs of the tech group that I wanted answered sequentially so I could get to the point where I would say, “Okay, if I blow off WordPress, and reinstall, AND I blow off Piwigo and reinstall, how do we do this in the least painful way possible?”.
Backups were fine for WP as I could “reload” the database options i.e. import all the content again. However, Piwigo was now so corrupted in the install that I had no confidence the backups wouldn’t produce the same result — I needed a brand-new fresh install. And reuploading of 7000 photos! With descriptions re-added for albums, etc. Now, I have a good setup for sorting pics at home, it was easy to reupload, and I could have done a DL and new UL of the existing structure, but I figured going nuclear on my install would be easier.
About this time though I realized that I no longer trusted the host. I had transcripts from the same guy, the one I complained about, where it said “A”, then “not A”, then “A”, then “not A”, then “A” and finally “A because you told me it was A”. The guy was a lying sack of excrement. And I still had no accountability response from GG to say how the guy was allowed to delete my complaints in the system, nor were my outstanding issues addressed.
It was time to break up
I started shopping for a new host. I talked to a few, explained some of my problems / frustrations, told them what I needed, and what I was willing to spend. I zeroed in on WebHostingCanada, partly as when I asked some technical questions, they jumped immediately to the problems it took me 3 months to solve on my own. The guy told me up front that one of their cheaper options wouldn’t be enough as the hosting industry didn’t always truly tell the right stats on certain things, essentially telling me that while it says “x”, it’s partly throttled (which isn’t advertised). The exact problem I seemed to be having with GG and which 3 months of testing had revealed but they wouldn’t admit. He even made me laugh at one point…I told him the specs for something technical in my current setup and he said, “Oh, that’s so sad” i.e. that the setup was so limited.
The transition didn’t go completely smoothly, but it did “go”. But that’s the basis for another post.
In terms of Greengeeks, I left my hosting account active for the remaining 2 years — I’m hosting another site through there, bare minimal load, and if their server has problems, it won’t affect me. At the end of the two years, I’ll transition to a site I already have.
While I’m now on my fourth hoster in 18 years, and my third one in 3, I’ve made some other config issues which should help. And I’m still paying less than I was previously, and getting more power. I can (hopefully) live with that.