A tale of a butchered Wordpress theme


Over the last few weeks I was asked to fix a part of a Wordpress-based website. It seemed like a fairly straight forward task. All I had to do was change how blog posts are displayed, add a search bar and a menu with Categories. I wasn't able to see the code before assessing the scope of my project. What I found under the hood was worse than I ever could have expected. Below is a screenshot of the file-tree and some code I found within the template. More technical people with html and css knowledge will notice a few mistakes right away.

the_worst_code_everI will go over some bigger issues since not all of you will know whats going on. First of all, the file-tree consists of too many templates. Each subpage has its own template. In some circumstances thats how it suppose to be. However, there are too many extraneous, unused files. stockists2, stockist3, wordslide2, and a few more that a person's name as part of the filename. I didn't go through all of them. Fortunately I didn't have to for this particular project.

The one file I focused on was a list of blogs. After opening it I was struck by a hardcoded menu! No kidding. At this point, I was intrigued by the project and checked some other template files. And each page had a hardcoded menu.

Second look. A closer one. And I see lots of in-line css styling. And I get nostalgic remembering the SpaceJam website from the 90s. I could go on and on listing all the problems I found with the theme. Essential files like single.php or search.php were deleted. Sidebars were hardcoded, categories were disabled.... and so on.

So why do I mention this? After all, a customer who will be visiting this website won't know or care how bad the coding is. Here's why: the website works now, but it won't in the future. A good website should be easily updatable. But with this one, any change to the menu would mean affecting dozens of files. As a result, this change will probably never happen. Adding a gallery or a Twitter plugin will cause major headaches. Search engines won't know what to do with this site. It's not a living website.

Let me explain what I mean by a living website. Each website we build here at Strange Flock is a project that will evolve with the owner and its readers. New posts, new comments, updated slideshows, new transitions or some new social media network will arise. Quality standards are raised every day. Search engines get smarter. Devices get bigger...and smaller. Life evolves, and your website should too. The example I described above is a dead end for that website.

I didn't bring up this example to laugh at someone's coding. Quite the opposite. This site was a reminder about code quality and its implications. At some point, you will need to change your website. Make sure that the person who is building it for you knows how to make a living website that can grow with your business.