Blog from Strategic Asset

Technology to help fuel innovation and drive business growth

4 Steps to Migrate your WordPress Website to Microsoft Azure (and why you should).

Is your choice of website hosting provider costing you much more than you realise?

When creating a new website for a business, all too often the web designer or agency tasked with creating the website will prefer a very cost effective hosting company such as GoDaddy, InMotion, etc. who provide excellent and free technical support. This is because it is not uncommon for web designers to be creatives and although many possess strong technical skills with applications such as Adobe Photoshop, they might not necessarily possess the technical skills required to configure an Infrastructure-as-a-Service (IaaS) platform such as Microsoft Azure, Amazon Web Services or Google Compute.


Naturally, this leads to many websites being hosted with poorly configured or underperforming hosting platforms, which has a negative effect on many essential Search Engines Result Page (SERP) rankings. A good way to check your own company website performance is to run the excellent and free Website Grader tool from HubSpot. Website Grader will benchmark the many important factors contributing to higher search engine rankings in Google, and perhaps the most important area checked is performance. Optimising your website's performance is crucial to increasing traffic, improving conversion rates, generating more leads, and increasing revenue.


Some of the key technical areas to check are page size, the number of page requests, page speed, browser caching, page redirects, compression, and render blocking. When a search engine such as Bing or Google crawls your website, they consider these factors in their algorithms to calculate where your business site will rank against the competition.


Missing out on valuable traffic, leads and revenue?


Traffic from mobile devices is growing fast meaning you need to optimise your website for mobile or you will miss out on valuable traffic, leads, and revenue. This is called ‘Responsiveness’ and is a key factor in Search Engine Optimisation. Responsive design gives you a bump in search rankings for searches on mobile device and viewport lets you control your page width and scale on different device types. Both are key elements when designing and hosting a website.


Make sure your website is easy for users to discover, and easy for search engines to understand, with better page titles, headings, and meta descriptions. Another incredibly important factor in SEO is to include an SSL certificate. SSL certificates protect websites from attacks and give visitors confidence that your site is authentic and trustworthy and this is worth approximately 10% of your SEO score to a search engine results page. That could be the difference between ranking on the first page of Google or the second.


Why the Microsoft Azure platform?


Being an ex-Microsoft employee, I have had the rare privilege of walking the Microsoft Azure data centre in Dublin which is a glimpse into how the future of industrialization looks. Whilst touring the Dublin data centre with its architect and a client, we learned in detail just how much thought and resources (six billion Euros!) had gone into creating the Dublin data centre zone pair.


Quite simply I haven’t seen any other data centre which comes close to the sheer perfection of a Microsoft Azure data centre and as a twenty year IT veteran I  have visited and worked in more data centres than I can possibly remember including Formula One designed masterpieces such as the McLaren data centre in Woking, the Red Bull data centre in Milton Keynes, the Renault data centre in Enstone and the (only accessible by submarine) Green Mountain data centre in Norway which is an ex-NATO nuclear missile storage facility powered by the tide.


All Microsoft Azure data centres are wind cooled, located next to secret and secure facilities to provide protected air-space, including Camp Bastion style physical security and filled with proprietary Microsoft designed hardware and software that outperforms the outstanding Vblock and FlexPod modular data centre architectures ran in many of the highest performing data centres around the world. To say that the facilities are secure, well resourced, connected by private fibre networks that are faster than the Internet and spanning the globe is an understatement as to just how incredible these facilities are. Most importantly however, is the fact that the smallest instance of an Azure server, which includes power, cooling, hardware and Microsoft Windows Server Datacentre Edition, costs just £0.04 per hour. In the UK, a single unit of domestic electricity from British Gas costs £0.12 per hour! I find this staggering. Therefore in my humble opinion, that’s why the Microsoft Azure platform. The sheer cost effectiveness, elasticity, scale and ease of use are mind blowing. Best of all, to access these resources you simply need a browser and a credit card. Alternatively, if your business is a Microsoft Partner and has access to a Microsoft Action Pack subscription (£150 per year with a discount coupon) your business will enjoy £75 per month in Azure Credits. That’s £900 per year of Azure resources such as a WordPress web app and database that will provide more than enough performance for even the most demanding of websites and will scale exponentially if you require it to do so.


How do I migrate my WordPress website to Azure?


After much trial and error, I’ve found the easiest way by far to migrate a website to Azure is as follows:


1. Copy the ‘wp-content’ folder. Log into your existing hosting provider with an FTP client and locate the ‘wp-content’ folder which is held in your site’s root directory (wwwroot in IIS or var/www in Linux). Then, download the ‘wp-content’ folder to your desktop. Alternatively, use the browser based cPanel for your web server which enables you to compress the folder before downloading it which will speed things up. This is typically found by browsing to your website and entering the /cpanel suffix, i.e. ‘www.yourdomain.com/cpanel’. Once logged into the cPanel, click on ‘File Manager’, browse to the site root directory and locate the ‘wp-content’ folder. Right click on the ‘wp-content’ folder, and choose compress. Select a compression type (I always use zip) and then note the location where the zip archive will be stored before creating the archive. Once compressed, download the ‘wp-content.zip’ file to your desktop.


2. Copy the WordPress database. Whilst still logged into your existing hosting provider cPanel, identify and download the SQL database containing the configuration for your WordPress instance. To do this, access the ‘phpMyAdmin’ from within the cPanel utility and select the database to export the database from the left hand side explorer window. Once selected, click on the ‘Export’ tab from the right hand side explorer window and accept the default options of ‘Quick’ export method and ‘SQL’ format before clicking the ‘Go’ button. Using your browser, save the database file to your desktop.


3. Create a WordPress app in Azure. This is where the power and ease of the Microsoft Azure platform really comes into it’s own. Browse to the Microsoft Azure portal (portal.azure.com) and log in. From the Azure dashboard, click on the ‘New’ button on the top left hand side…

From the Azure Marketplace, search for WordPress, then choose the top entry named 'WordPress' under the category 'Web + Mobile'…

Click on the ‘Create’ button which will create an Azure blade for the WordPress web app and configure the options you desire. Include an App name, an Azure subscription, a Resource Group, and most importantly choose the ‘MySQL In App’ database provider. Select an S1 Azure Service Plan (I also chose the UK South Data Centre) and toggle on the ‘Pin to dashboard’ check box before clicking create.

4. Import your existing WordPress database and content. Once the web app has been created it will appear on your dashboard. Launch the web app from your dashboard and click on ‘Deployment Credentials’ to create an FTP user.

Save the credentials and navigate to the web app ‘Properties’ and note the FTP access details (please note that for security purposes I have obscured the details in the image below). Specifically, you’ll need the URL, virtual IP address, FTP deployment user and password created in the previous step.

Next, we’ll need to browse to the WordPress URL and configure the basic WordPress properties for your business. To do this simply browse to ‘yourdomain.azurewebsites.net’ using the URL created in the previous step and complete the wizard to configure the default WordPress installation. Once complete, you will see a basic installation of WordPress. Next, we need to import the database and ‘wp-content’ folder into the root directory of the new WordPress web app. To do this, you will need to access the KuDu console for your new web app. This can be done by appending the letters ‘scm’ to your web app name in a browser. Open a browser tab and enter the URL created above (i.e. https://www.yourdomain.azurewebsites.net). At this stage a default WordPress web page will appear. Then, insert the letters ‘scm’ after your domain (i.e. https://www.yourdomain.scm.azurewebsites.net). At this stage the KuDu console will appear in your browser. Click on ‘debug console’ and ‘cmd’ from the top menu and the following page will appear…

Then, click on ‘site’ followed by ‘wwwroot’ to browse to the root directory of your Azure web app. Now, we simply drag and drop the ‘wp-content’ folder from your desktop which we created earlier into the top browser panel which will upload the ‘wp-content.zip’ archive into the Azure web app. Once completely uploaded, enter the ‘unzip wp-content.zip’ command into the command prompt and type ‘All’ when prompted to overwrite the default ‘wp-content’ folder with the content from your existing website. Once complete, the next step is to import your existing WordPress SQL database we exported earlier from your existing website. To do this, go back to the web app properties and select MySQL In App from the web app blade which will launch the MySQL configuration utility…

In the MySQL In App utility, click ‘Manage’ at the very top…

This launches the ‘phpMyAdmin’ utility in Azure.

Next, we need to select the ‘localdb’ instance from the directory listing in the left panel before scrolling to the bottom of the explorer pane in the right-hand side. Then, click on ‘Check all’ to highlight all tables in the default WordPress installation database and choose ‘Drop’ under ‘Delete data or table’.

This command will then ask you to confirm before proceeding, we then wait for the database tables to be wiped before selecting the ‘Import’ tab in the ‘phpMyAdmin’ console.

At this point, simply browse to the exported database file on your desktop before selecting it and clicking on the ‘Go’ button. Once completed, you will have successfully imported your WordPress website into the Azure platform. It may take a little time for the database import to succeed but once imported, browse to the Azure web app (https://yourdomain.azurewebsites.net) and you should see your existing WordPress website.


Deliver improved performance with Growth Driven Design


Now that your website is hosted on the Azure platform, we can begin to hugely improve performance. For example, to speed up web pages we can simply scale up our Web App with SSD's, more cores, more RAM, more granular backups, etc. A good approach is to run the Website Grader tool again from HubSpot and focus in on any performance issues identified and take action. Also, Azure has the capability to scale out which essentially automatically adds new instances of the existing Web App via a load balancer to handle exceptional demand. Other benefits of the Azure platform to can consider include a whole raft of possibilities such as implementing a pricing calculator in the form of a Chat Bot powered by Artificial Intelligence with more innovation constantly being delivered. In summary, Azure is so much more than a web hosting platform and contains all the resources necessary to outperform any other platform in the world. When combined with the Microsoft Action Pack discount, it delivers extraordinary capabilities at an extraordinary price. Finally, when updating and developing websites, ensure that your designer or developer adhere to the principals of Growth Driven Design.