A Few Thoughts on WordPress versus Hand-Coding

In the last several months, I’ve had the opportunity to go in-depth with WordPress as a web development platform. 

This represented a departure for me. Ever since I first learned HTML, back in the days of Geocities and table-based layouts, I’ve been most at ease hand-coding my pages. While I’ve used web development software before, I appreciate the control and depth of understanding hand-coding permits.

Which is not to say that it is without drawbacks. Designing and modifying a website in a text processor is time-consuming, even with a modular design and PHP to stitch it all together. It’s easy to introduce errors; all it takes is one mis-spelled semantic element, or misremembering one piece of CSS syntax. I’ve spent many hours tweaking box element positions on a stylesheet even when all is going well.

Yet, it’s easy, too easy, for me to get caught up with layouts and structure at the expense of the site as a whole. Spelling and grammar are harder to proof, for one. More critically, it’s harder to step back to see the overall effectiveness of a site when I’ve spent hours working with lines of code for just one part of one page. To be fair, some of that may be an artifact of being just one person, and never mind one who is still learning in many respects.

By contrast, working with WordPress emphasizes content. Instead of creating a layout from scratch, users choose a preset. Instead of writing a new file for each page, users choose from a short list of templates, then proceed immediately to formatting their text and adding media. 

It is simultaneously restrictive and strangely freeing.

When I started working with the Contemporary Ukraine Research Forum project, they had no website to speak of, just a space on the University of Alberta’s ARC servers and a WordPress install. All it took for me to get the site roughed in and ready for project content was a Skype call with the coordinating committee and a few afternoons of creating pages, setting up menus and roughing in the sidebars with example content. By contrast, it took me weeks of dedicated work to get the case study website I designed for my thesis structured and styled.

Despite the time it took to get the formatting just so in WordPress’ page editor (amazing disappearing non-breaking spaces! Header tags mysteriously applied to whole paragraphs!), it was almost absurdly fast to get each new page populated and ready to go. No messing with positioning, no time spent searching out where I missed a close tag in an unordered list, no playing around with formatting individual CSS classes, just a polished page. 

I’m of two minds on this. It’s great to have it done in relatively short order, ready for the world to see. However, I feel like I’ve invested very little of myself in the pages, beyond the images and text. With WordPress, and especially with the free version I’m currently using, there is a limited capacity to alter layouts, change fonts, experiment with colour schemes, or refine how the pages behave under various devices or browsers. 

It’s great to have a portfolio up and running so quickly, but at the same time, I built my first one from scratch for good reason. It was a chance to not only demonstrate that I can build a competent, if basic, website from scratch, but also a place to refine and practice my HTML and CSS. That said, I also learned a great deal from running the Contemporary Ukraine Research Forum site as an admin; it gave me the broader view of good site design by distancing me from the level of code.

I’m still deciding how I want to go forward from here. I like WordPress, despite its limitations, even though I miss getting deep into the code level. Yet, I still value my old portfolio, and I regret the loss of both it and my thesis case study website with the end of my university hosting.

Perhaps it’s simply time to invest in a domain and hosting. Transfer over my older work, and give myself the ability to effect greater control over my WordPress work. Worst case scenario? I develop a passion for WordPress theme development.