2016 Start-of-Year Enhancements

info-architectureAt the start of this new year, a number of minor tweaks are being undertaken to improve the overall experience of XBOP as a website.

Update version 3.1 half a year ago saw a noticeable degradation in website speed. Fortunately, no noticeable impact was seen on the website traffic, although that factor may have been masked by the other factors that saw the recent month traffic statistics dip overall. In this latest update (version 3.2), a number of steps were taken as an attempt to address the performance issues.

Use of the Google Developer tool PageSpeed Insights revealed a poor score. Recommendations included use of compression, reducing the server response time, scripting (JavaScript and CSS) optimisations and leveraging browser caching. Use of an independent tool Pingdom Website Speed Test throughout the update/tweaking process has helped to monitor the progress, with four sets of test results collected:

Test Grade Requests Load time Page Size
#1 Before 67/100 226 13.76 sec 2.6 MB
#2 Images resized 65/100 191 9.96 sec 2.4 MB
#3 Featured Post simplification 65/100 202 6.50 sec 2.6 MB
#4 Code optimisation 64/100 200 4.63 sec 2.6 MB

The statistics above show minor improvement to the load time and reduction in overall page size. It should be noted that only the home page was subjected to the website speed test tool.- Pingdom Website Speed Test. The starting point was to download and optimise the images, since the home page, unlike normal article/posts contained a number of graphics to support the featured article slider. A number of these images were close to 1 MB in size and also utilised the PNG image format. While there is nothing wrong with use of the PNG file format, there is a general view that website images can be more efficiently optimised using the JPEG format/standard although there will be some loss of quality (lossy compression). The background image remains the largest asset and other than a very small tweak where the domain reference of the image file lacked the preceding “www”, there seems to be limited opportunities to reduce and extract more efficiencies from it.

Among all the 100s of scripting requests, there were a small number of broken or problematic links, where the CSS stylesheet references to plugin files with invalid locations. In order to repair these issues required a deeper analysis and HTML code reverse engineering. Reverse engineering the HTML of XBOP also meant getting under the hood of the WordPress content management system. A review of WordPress plugins also led to a change in the way the Featured Posts slider appears, such that I have simplified and reduced the number of plugins installed for XBOP. This has contributed, in a small way, to the number of resources required and requested when the homepage is viewed. The default theme presentation of the Featured Posts required a little bit of CSS modification to replicate the desired look and feel, but the end result now is a better outcome overall. Enabling the WP Super Cache plugin resulted in the refreshing of 400 posts of content, which technically did not include the dynamic home page.

A deeper inspection of the loaded elements and external source/domains of various content/images suggested that the available channels for sharing posts could also be reduced to help improve load times. The key recommendations from Pingdom for improving the Page Speed Performance include:

  • Combine external JavaScript (0/100): 35 internal files and 28 external files from 7 domains are all utilised to create the XBOP home page.
  • Minimise request size (7/100): 2 data requests for a font exceed the size of a single data packet.
  • Combine external CSS (21/100): 22 internal and 4 external CSS files are suggested for combining to reduce the total number of files. Unfortunately, this may be the consequence of some of the WordPress plugins installed.
  • Leverage browser caching (46/100): a total of 27 files (images and JavaScripts) were identified as prime candidates for caching with an expiration period of at least one week.
  • Remove query strings from static resources (58/100): 22 resources included a “?” in the URL addressed. In most cases the ? suffix was used to reference a specific date/version of the resource…

All remaining seven suggestions were rated as 80+ with the last two given a 100/100 perfect performance grade:

  • Minimise redirects
  • Parallelise downloads across host-names

The bad requests metric has slowly been actioned as part of this website update although the last remaining bad request is a 404 Not Found response to the JetPack Widget language support for English – Australia. A thorough search would suggest that this problem lies beyond the control of XBOP since other users have also reported this issue from late 2015.

Generally, all updates contained with Version 3.2 are minor and behind-the-scenes, with a strong focus on the non-functional performance aspects of the XBOP website.