Angloinfo is the largest online community of global citizens, with over ninety local sites across the globe . I was contracted both to advise, spec and deliver a massive overhaul of their multisite WordPress platform that’s used both as a CMS to manage their sites content and over five hundred customised blogs with tens of millions of monthly page views. As the sole developer my work was 40% front end and 60% backend. My first task was to undergo an audit of the site and its structure and then to make recommendations to the necessary stakeholders about the options available and the time, cost, risks associated. Once the plan and process had been agreed and signed off my first task was to update WordPress from version 3.0 to the current version 4.7. This was considerably challenging as no downtime was allowed and the legacy system had been highly customised 5 years previously to allow functionality that wasn’t available within WordPress at that time. All functionality had to be mapped across into the new WordPress environment and workarounds were created to implement the bespoke existing customisations. The data involved was colossal (terabytes of images, hundreds of gigabytes of data, millions of posts and comments, thousands of users) and it all needed seamlessly porting to the new environments. Numerous Automation scripts were written, tested and then deployed to assist with this task (legacy data was ported first and new ‘current’ data was continuously mapped during the pre-live phase). The responsive sites frontend had to follow strict design / brand guidelines and utilized a laravel-powered Rest API to manage the navigation and other custom elements of the site including managing cookies, analytics, user states and advertising. The backend was highly customized too allowing the different user types to access and control a variety of areas of their sites ranging from Network & Site Admins, Franchisees and individual blog users. Documentation was written to assist in the transition for both internal AngloInfo users and the end users (bloggers). The site was hosted via Amazon EC2 and had to continuously scale to cope with the significant traffic loads. All media was served via a CDN and the utilized Cloudflare for caching. Other areas that were investigated and proposed included the use of AMP pages, leveraging ElasticSearch for heavy queries, Domain mapping and personalised websites and native Mobile blogging apps for AngloInfo bloggers. WEBSITE: www.angloinfo.com
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