I’ve been working as a webmaster for one of my non-technically inclined clients since the start of 2011.
It’s not a straightforward effort. I didn’t design the site but inherited it. What I got was a mess.
From what I could tell, the original design crew created the site in standard sophisticated HTML. At some point, they started to migrate the site into WordPress.
There are two problems there. Firstly, they did not complete the site’s migration. I took charge of a mess that is half in the WordPress CMS and half in the original HTML format. My clients have been loath to pay for a new site design so my job is to keep what’s there running smoothly.
A second issue lies in the WordPress design. They produced what I have to work with in WordPress 3.0.1 and created a custom theme based on the Twenty Ten theme.
I’m not sure how or why, but any attempt to upgrade WordPress beyond version 3.0.1 irretrievably breaks the site. The custom theme stops working. To restore it, I have to upload a copy of the WordPress installation that I keep on my hard drive for just such emergencies.
The current version of WordPress is 3.9.1.
As I recently wrote to my client, it is and isn’t a problem to keep the site on 3.0.1.
It is a problem because site security is not as strong as it could be – on the other hand, that does not really affect much. There’s no crucial info to lose. A bigger problem is that the versions of plugins that do things like slideshows and animations and archiving are also outdated and often are no longer supported. Any changes to the site moving forward will have to rely on technology that’s a few years old and there’s no guarantee that I will be able to find something that works.
It isn’t a problem because it’s working fine now, although I can’t apply updates that might automatically take care of issues that I have to figure out manually. And a redesign will consume time and money to essentially rebuild the Web site from scratch on modern technology.
So that’s the background. I don’t have to actively do much work. My clients only update the site every few months. Between updates, I don’t really do anything. My biggest project to date was to install an online store/shopping cart plugin but mostly I add posts, remove old info, etc.
That what I was doing last weekend. My job was to remove an old post and refine a more recent one with updated info and a slideshow. Easy enough. But the slideshow wasn’t working. (The site used the ILC Slider plugin, which is no longer available. It’s the precursor to AllSlider by the same author.)
Now, when I say the slideshows weren’t working, it’s not as straightforward as it sounds, and here I need to explain more background. When I use the Preview function on an edited post, the preview that shows up uses the unadulterated Twenty Ten theme. I never get to see what it will actually look like in production on the custom theme until I push the update into production. (Feel free to cringe, coders.)
So, the slideshows would work, sort of, on the preview page but not in production. Once pushed live, the slideshow would sit there, holding one image like a picture frame. The interactive controls would detect a hovering cursor and change colour but would not do anything when clicked.
There was another problem to deal with in the preview. The slideshow worked, but would not properly frame two of the 12 images. I decided to deal with this first. I resized the original JPEGs to slideshow size (500 pixels across) but that didn’t help. I tried changing the names of the files – no dice. And then I noticed something. The two images that were misbehaving used the .jpg suffix. The ten that worked used the .jpeg suffix. Once I changed the .jpg to .jpeg, the slideshow worked perfectly – on the preview page. It still shouldn’t play in production.
I checked the rest of the site’s slideshows. They weren’t working either. That meant there was some sort of systemic error. Something had changed since I had installed the previous slideshows. It wasn’t the site’s PHP code, but what was it? Had someone remotely deprecated ILC Slider? Were other people having this problem? This called for a Google search.
There was no support for ILC Slider, since it no longer exists. Offical support for AllSlider requires a paid licence to access. I was left skirting the edges, looking for clues.
And I found one, written by the plugin author: “It’s not caused by the plugin, but when a JavaScript fails in a page, all the remaining scripts are stopped….”
I checked the calls the site’s pages were making for JavaScript. I found two: https://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js and https://cloud.github.com/downloads/malsup/cycle/jquery.cycle.all.2.74.js
That second one leads to nothing. I changed it to link to https://malsup.github.io/jquery.cycle.all.js and all slideshows worked again.
I don’t know if a WordPress update would have fixed that. I don’t think so. I suspect that ILC Slider is at fault. Either way, I’m sure that some update would have prevented this from popping up.
Bonus tech frustration:
I also added an embedded Twitter feed to the site. No matter what I tried, I could never get the feed to show up as more than a simple text link in the two browsers I use, Safari and Chrome. No amount of research or plugins could fix my problem, but I did find many complaints about the same thing.
My client asked me to modify the size of the feed, though, which threw me. He was seeing it? I fired up Firefox, and there it was. But I only use Firefox for troubleshooting. I don’t surf with it or modify… – oh, crap.
I use Ghostery in Safari and Chrome to cut down on cookies and ads. Embedded Twitter feeds will not work without cookies or tracking or something. Once I set Ghostery to allow the Twitter Button tracker, I saw the tweet feed. Oy.