I used WordPress and Developed Crucial Web Skills
May 2016 · 5 minute read
Anyone who has kept up or even occasionally chimed in, with my blog may have noticed a few changes over the short time that it’s been around. I have always used the blog itself as a tool to test out new and interesting areas of web development and the changes that some of you might observe are a direct result of that testing. I have gained a number of skills over the last 6 months which are now beginning to reflect in my designs and development process. Here is an overview of the process thus far, the key focus for each build, an insight into my thought process and what I have learned as a result of my decisions and developing the way that I did.
Version 1 - Launched 05 August 2015
WordPress hosted blog at wordpress.selenasmall.com with limited customizability. This was way back when I just needed a blog and I didn’t really have a clue about how to go about getting one so it made sense just to use an available well-known platform. The writing went well and I got a few followers but I did not like the way my blog sat and I really struggled to make it flow the way I wanted. I also had to give wordpress control of my domain. This version was soley focussed on getting a blog together to start writing.
Version 2 - Launched 12 December 2015
WordPress generic theme hosted on AWS allowing more control with ssh access to a private server. This was when I didn’t really care so much about building a site so much as when I was trying to learn about servers, network routing and domain management. This was really just me taking an existing blog from the wordpress platform and recreating it on an EC2 server hosted with AWS. At this point, I learned a great deal about DNS management and routed my domain with Amazon’s Route 53 to blog.selenasmall.com
Version 2.1 - Launched 30 December 2015
With my new site up and running, this is when I started to play around with CSS, layouts and try to understand how a wordpress site works. I successfully modified the generic theme in some small ways and learnt a great deal about plugins and APIs such as how to set up and use the Twitter API and embedded posts.
Version 3 - Launched 12 January 2016
Customising an existing wordpress theme allows greater flexibility to make changes from source but still messy as fuck to try and figure out what goes where. Having learned about DNS and understanding a little bit more about things work on the server side I decided it was time to update the blog itself since it was looking quite ugly. Unfortunately, I didn’t have the context here to be able to build from scratch so I made my best attempt at modifying a theme and spent a great deal of time practicing my CSS skills with a particular focus on media queries for responsive design.
The fuck up
This attempt ultimately resulted in cramming the site with plugins to get the things I wanted to try out working. In doing so, web performance was not looking so good. More than that, the page did not load correctly as I’d tried a foetal attempt to improve that web performance by using yet another plugin which did not cache the CSS and forced it load after the rest of the page from the footer. You live and you learn…
Version 4 - Launched 22 April 2016
Today’s version still uses the wordpress framework but this time around a completely custom theme built from scratch which means fewer plugins are required. By far the best build to date. This time around I took responsive design into account significantly more and focussed largely on all round efficient code. I took the build as an opportunity to also practice semantic HTML and show off my abilities with skills that I’ve picked up there. The theme itself is clean, no code is written twice and each small file is filled with annotations. There would be no confusion when it comes to future modifications for anyone that was to look at it. There are fewer plugins requires for this theme to work the way I want and I’ve tried to stay away from the user interface as much as possible. The plugins that have been used include Posts in Page which is an awesome easy to use plugin (once you work out where to put the code to trim trailing white space and characters in the plugin’s source file) for embedding specific post categories in specific locations throughout your site and provides short codes that can be written directly into the source.
With a better understanding of the framework itself, I was able this time round to even build and use custom template pages throughout the design with specified post categories featuring on individual pages or templates.
By using this theme, the entire site has improved in terms of speed performance scoring 70⁄100 for mobile above 80⁄100 points for desktop as well as a score of 100⁄100 for User Experience. There are always a few remaining performance improvements that can be made as, just like design and development evolves, so does the web.
The most helpful resource I found for getting a custom theme up and running is https://www.taniarascia.com/developing-a-wordpress-theme-from-scratch/ This tutorial actually explains in plain English with examples, which files are required and why as well as how wordpress overrides theme files. So if you’re interested in building better, cleaner themes, check it out!
WordPress was only ever meant to be a playground enabling me to focus my attention on refining other skills and it has served it’s purpose well. I am now more competent than ever with CSS, HTML, DNS Management and Web Hosting.
As I have also been learning the Symfony framework over the recent months, WordPress managed to serve it’s learning purpose yet again, exposing me to a better understanding of php too. The learning never stops, so look out in the near future for a completely custom user interface application and a brand new site to go with it.
If you look for the right opportunities WordPress can make for a great start point but it should absolutely NEVER be an end point.