Just a recap of the major changes of lesterchan.net after v4.3:

Now for the changes in v4.4.

WordPress 4.4
WordPress 4.4 was released today and it will be the last major release for the year. For the year 2015, we saw the release of WordPress 4.2, WordPress 4.3 and WordPress 4.4.

The changes in WordPress 4.4 are huge. WordPress 4.4 is no doubt the biggest release I have seen in recent years.

I have been waiting for WP-API to be in the WordPress core for years and with WordPress 4.4, the first portion (infrastructure) of WP-API was already merged in. The second and last portion (endpoints) of WP-API will be in WordPress 4.5.

WordPress 4.4 also saw the introduction of term meta which allows you to store metadata for a term without the need of an additional plugin.

I have switched to nginx mainline’s branch and hence updated nginx to 1.9.7 which includes support for HTTP/2 (since nginx 1.9.5).

HTTP/2 Logo
HTTP/2 Logo

I am using the Chrome’s plugin called HTTP/2 and SPDY indicator which indicates whether a site is on HTTP/2 or SPDY. The extension will show a blue lightning icon in the address bar if the page is HTTP/2 enabled, green if the page is SPDY enabled, and grey if neither is available.

lesterchan.net HTTP/2 Indicator
lesterchan.net HTTP/2 Indicator

This is a TIL (Today I Learned) for me. Despite HTTP/2 standard itself does not require the usage of encryption, most client implementations (Firefox, Chrome, Safari, Opera, IE, Edge) have stated that they will only support HTTP/2 over TLS, which makes encryption mandatory. That means you will need an SSL cert for your domain to use HTTP/2.

Font Awesome 4.5.0
Font Awesome 4.5.0 was released last week with the new Google’s logo as well as the addition of several popular icons such as Bluetooth, USB, Product Hunt, Microsoft Edge and hashtag.

Font Awesome - Google
Font Awesome – Google

Lazy Loading of Images
I have started implementing lazy loading of images using bLazy.JS.

bLazy is a lightweight script for lazy loading and multi-serving images (less than 1.2KB minified and gzipped). It’s written in pure JavaScript why it doesn’t depend on 3rd-party libraries such as jQuery. It lets you lazy load and multi-serve your images so you can save bandwidth and server requests. The user will have faster load times and save data usage if he/she doesn’t browse the whole page.

Removed WP-UserOnline
I have removed the usage of my WordPress Plugin, WP-UserOnline, on this site. I am now relying on a custom API endpoint with Google Analytics Real-time to keep track the number of users online.

Redis over Memcached
I have switched over to Redis from Memcached for all caching purposes because it has more advanced options like lists and sets. I am using the WordPress plugin called Redis Object Cache.

I have implemented caching for all WP_Query calls, so the site should load much faster. The index page only uses two database queries while the single post page uses five.

General Improvements
As lesterchan.net v4 is coming to almost three years, the code is very dated. I rewrote most of it to be OOP based on my WordPress Plugin Skeleton template.

The site now loads ten posts per page, up from five. This is possible without sacrificing speed due to extensive caching and the lazy loading of images.

You will also notice that the index page now shows only two paragraphs followed by one image rather than all the content before the Read More tag in WordPress.

I stopped using the Read More tag and rely on DOMDocument in PHP to parse the content and always extract two paragraphs and one image.