In this blog post we'll run through the process we undertook for one website, Exclusive Residential.

The Website

Exclusive Residential is an Ashford based property website providing a one stop shop for property services from Estate Agents to Plumbers. The website is rapidly expanding, with listings in all major Kentish towns and now extending into London.

The Need

The website is more than just an Estate Agent in Ashford, because of the sheer number of experts listed on the website across many towns and areas it is difficult to manage the content for. The website was not content managed, but used some PHP to help ease the maintenance of the website. With multiple new listings being added every day, it became difficult to add each of them quickly. The solution was simple: move the website to a content managed system.

After thorough investigative work and evaluation, ExpressionEngine came out on top as the choice of CMS - beating WordPress and Drupal in terms of functionality, ease of use and security.

The Process

Before we even began with code, we sat down and mapped out all of the content on the website. This allowed us to identify the most elegant and efficient way to process the large quantities of data. We identified the trends and consistencies between various pages, eventually breaking the site down into one of two areas:-

Channels are ExpressionEngine’s way of handling groups of data - for Exclusive Residential the channels were identified as Blog, Service and Property (among others).

We realised that most, in some cases all, entries within a channel followed the exact same format. We developed a template for each channel using the HTML code from the existing non-cms website.

With the channels and templates identified and working, it was time to add the data. For best results we opted to do this manually, but if we were porting from an existing CMS such as WordPress we would likely have automated this process.

The Finishing Touches

With hundreds of pages on the old website, we wrote a script which found every page on the non-CMS website and found it’s equivalent on the CMS website. It generated an Apache Log File for us, with the appropriate 301’s redirecting Google and user’s alike to the new page. Because of our careful planning, no downtime or error pages were experienced during the switch over.

We developed the website on a secure development server. When we had completed the website, it was time to move it onto the server. Again: our meticulous planning paid off again, we created the website with a domain ALIAS, but with the real domain as it’s primary domain. Once we were ready, we could simply tell the website to move to the actual domain. However, there were references to our test domain throughout the page. We found a great free tool named reelocate that allowed us to painlessly change all of these at once - we strongly recommend it when moving an ExpresisonEngine website.


Harnessing the existing website design and the power of ExpressionEngine we were able to create a fantastically powerful and dynamic website that is agile enough to allow us to iterate upon it while still being stable enough to handle masses of traffic. We did this more in thought than code - our expertise in ExpressionEngine and the web in general allowed us to identify flaws before they become a problem and likewise found opportunities that would have not otherwise be possible.