I was contracted as a WordPress Consultant (Lead Developer) for RBI who are one of the few enterprise-scale users of WordPress. I was responsible for technically owning the WordPress-side of Estates Gazette, the leading UK Property Data and Intelligence Publishers. The site consisted of a heavily customised WordPress backend that allowed their large editorial team to create and manage content and its associated workflow over print, web and mobile. The front end was a responsive, gated portal for paid subscribers (100,000+ property developers, lawyers, architects etc) with a wealth of useful content, tools and data. Free to air articles were also possible to entice interested parties to sign up. The site was hosted on amazon’s beanstalk, with daily auto scaling too. It has a very heavy caching requirement due to the high traffic / interaction nature of the site (100,000+ heavy users a month, 200,000+ news articles in database etc.) We used a heavily customised version of wp super cache that allowed for the wider organisations content gating requirements etc. The site I inherited was managed by a team of in-house (offshore) developers with a varied level of WordPress knowledge. The core theme (canvas), the WordPress version and the plugins were all very outdated and thus insecure too. Firstly I updated the stack, rigorously regression test it before release. I then undertook a full code audit (50+ plugins) and refactored the code using WordPress’s latest hooks. I was then able to start designing, prototyping, and developing new functionality (with iterative feedback from the product owner). This included:
ElasticSearchSetting up and utilising Elastic Search within WordPress for all searches (ElasticSearch is a enterprise level search used by the likes of Tesco and Wikipedia). It improved search speed by 1100% and terms returned were up to x7 times more accurate. I also started investigations into the utilisation of ElasticSearch as a data source for high traffic mobile apps enabling WordPress to act as a Mobile Apps CMS.
Live PollingCreating the ability for the editorial team to create live real-time, cache sensitive blogs for key events like Brexit, Budgets etc. Features included aggregation and subsequent real-time filtering of both internal and external data sources (including the BBC, Sky, Twitter, YouTube, Instagram, Linked In, Facebook etc). In addition I customised Word Presses ‘PressThis’ feature to allow both internal and external journalists to submit articles of interest straight to the editor by simply tapping a button on their browser or via their mobile. Other functionality I developed was wide ranging from new features like the automated the creation of a Digital archive for the Estates Gazette Print Edition (weekly glossy property magazine) to a wealth of technical debt and bug fixes. I also implemented a series of custom API endpoints utilising Word Presses new Rest API for use by WoodWing their magazine publishing tool.
I introduced a better, leaner git process that was based on feature branching and minimised contamination of old code from offshore development teams and worked alongside their Senior DevOps Engineer perfecting the local, dev, systest and uat environments and maximising their similarities with the live environment to minimise surprises (legacy) when code went live! I also managed to find time to educate and train both the editorial team, journalists and the testing team about key WordPress functionality and features. Tools used whilst there included: Vagrant, VVV, Git, BitBucket, Jira, Confluence, HipChat + Slack, Amazon’s BeanStalk and EC2, ElasticSearch, TeamCity, Command Line, WP-CLI. WEBSITES: www.egi.co.uk , www.estatesgazette.com , www.reedbusiness.com