Present your WordPress site as a Static Site

WordPress is a great tool for creating visually impressive websites and Content Management systems, however dynamic sites have a number of shortcomings, the most notable issue being performance. It doesn’t matter how good your site looks, if the customers click away before the site is rendered and they don’t get to see it – looks are irrelevant.

It is possible to spend large amounts of time (and money) trying to improve performance, but it’s always going to be an issue if your site is busy. Moreover it’s relatively easy for a bad-actor to abuse dynamic sites render effectively rendering them inoperable via DDOS type attacks.

One solution is to implement your site as a static site and host it on cheap or free static platforms with hundreds (or thousands) of times the performance. Unfortunately you then lose all the creative benefits of WordPress together with the update and publishing tools that WordPress brings to the table.

The Solution? A tool that will take your WordPress site and convert it into a Static site. Then from a maintenance perspective, a tool that will compare your site to the published version and regenerate any pages that have been changed since the last publication.

This is “Make Me Static”.

What does it do?

Static Mirror
The Plugin can initiate a Crawl of your website that will result in a static copy being generated that reflects your site at a given point in time
Git based Storage
The static copy of your site is stored in a Git Repository which adds a number of features including versioning and point-in-time restores
Serve from Git
Present your static site directly from it's Git repository. This can be done transparently using one of a number of free static page providers
URL Rewrites
Each static page is adjusted as it is created so where possible your WordPress links are re-written to point to your new static URL
AJAX Support
AJAX Links are protected so Javascript based services can still directly reference your WordPress site when published as static
Publication Notification
Support is available for third party services to notify subscribed site users automatically when new versions of the site are published

What will change?

This will depend on your site. If you have a relatively small site that you use as a company brochure (so essentially you are using WordPress as a design tool for what is effectively just a static website) then MMS should “just work” right out of the box.

The more third party plugins you install, the more chance there is that some things may need to be tweaked. If you find issues we will be happy to try to enhance MMS to cope, however it does depend on exactly what the Plugin in question is doing.

AJAX based Forms should work, comments and site search will still work so long as your WordPress site is still available. We hope to provide additional Javascript / AJAX based plugins in the future to make static sites “feel” more dynamic from the user’s perspective whilst maintaining the performance provided by being static.

Going Live with a Static version

First of all – is this practical, does anyone do this? YES, here are some live examples;

Our recommendation is that you run your WordPress site on a sub-domain, leaving your main domain free for the static version of your site. This way, the world and it’s search engine sees your main domain (and the attached static version of your site) by default and the actual WordPress site is still available to serve up dynamic responses to form postings, comments and local site search requests.

For sites where the dynamic features are less critical, it’s quite realistic to serve your WordPress site from your office via a broadband connection, so you don’t even need to continue to pay for hosting services, just run it on a local PC in a Virtual Machine, in a container, or on a spare server.

How does it Work?

The WordPress Plugin communicates with our MMS service which maintains a database that represents all the objects that go to make up your WordPress site. For each object it maintains a timestamp and checksum. When you request a refresh, it reads through pages on your site to try to work out which objects have changed, then it writes those objects into your GitHub repository.

If you would like more granular control over the performance of the MMS service, we optionally provide the facility to run MMS as an on-premises service, i.e. we provide the MMS software for you to run on your own server. If you wish to do this we can provide help / support, and once set up any pre-existing MMS configurations will seamlessly migrate to your on-premises solution.

How hard is this really?

Installing the Plugin, getting it to generate a static copy of your site, then telling the Git repository to publish that static copy, that’s a 10 minute job. In order to make a pre-existing site “live” via this mechanism takes a little more configuration given that you will already have a WordPress site sitting on the domain where you want the static site to be. Here’s how you could (or how we would) go about it;

  • Make a copy of your WordPress site, preferably somewhere where you have a degree of control over it (a local machine, virtual machine, container, or maybe a $6 a month virtual cloud server).
  • Change the site’s primary domain name to a sub-domain, so for example from “” to “”. This will allow it to co-exist with the site sitting on your primary domain “”. There are a number of WordPress plugins that can change the domain of your installation, essentially they scan your database and do a search / replace on all fields matching your domain name.
  • On your new copy, run the Make Me Static plugin to create a static copy of your site.
  • Now you can choose a static page provider such as GitLab or CloudFlare to publish the site automatically from the repository. Typically once set up, these services will re-publish the site each time you select “synchronise” from the Plugin.
  • Once you’re happy the site looks Ok, you can re-point your primary domain at the new static site with your static page provider.

If this all sounds too daunting, we offer a migration service to get you set up for a fixed one-off fee of £25.

In addition we can also offer a hosting service starting at £3 per month for your own un-managed instance or £10 per month for a managed instance.

The MMS Setup Wizard

Getting going is a relatively painless process once the plugin is installed. There a screenshot above of what the Plugin looks like when it’s running. Essentially you can have a number of profiles, each of which allows you to publish to a different live URL. For example you might have a live profile that publishes to “” and a test profile that publishes to “”. (or indeed a “preview” profile etc etc) So you have one source (your WordPress instance) but you can publish a number of potentially different  static versions of the site to different Git repositories and effectively different live domain names.

Once you have a profile set up, against each button there is a “Synchronise” button and an “Update” button. “Update” will run very quickly and update only pages where there is a direct change, for example to correct a spelling error. Typically this will run in 10-20 seconds. “Synchronise” does what it implies, it will scan every object on your WordPress site, compare each object to it’s database, then update the Git repository with any changes.

The Setup Wizard will guide you through creating new profiles;

Pricing options (Hosted)

For the hosted version of Make Me Static, the following pricing structure applies.

Free Tier
£ 0 /month
  • Single Profile
  • Limited scan rate
  • On Demand crawling
  • 5 Scans per day
£ 3 /month
  • Single Profile
  • Faster scan rate
  • Scheduled Scans
  • 15 Scans per day
£ 10 /month
  • Four Profiles
  • Unlimited rate (3 cores)
  • Granular scheduling
  • 64 Scans per day
£ 25 /month
  • 8 Profiles
  • Unlimited rate (7 cores)
  • Granular scheduling
  • 256 Scans per day

Pricing options (On-Premises)

For the on-premises version of Make Me Static, we charge a one-off fee of £80 for the software which includes support for installing it on your own servers and getting going. In addition there is a maintenance fee based on your requirements and hardware.

£ 10 /month
  • Single Website
  • Unlimited profiles
  • Unlimited rate (4 core)
  • Granular Scheduling
  • Unlimited scans per day
£ 20 /month
  • Up to 5 Websites
  • Unlimited Profiiles
  • Unlimited rate (8 core)
  • Granular Scheduling
  • Unlimited scans per day
£ 100 /month
  • Unlimited Websites
  • Unlimited Profiles
  • Unlimited rate (* cores)
  • Granular scheduling
  • Unlimited scans per day
£ neg /month
  • Custom # websites
  • Custom profiles
  • Custom rates
  • Custom Scheduling
  • Custom Scans per day

Pricing options (Support Services)

For the technically minded, setting up this service is relatively straightforward. For normal people however it can be a speedier process with the help of an expert. To this end we can provide assistance with regards to setting up and re-configuring your WordPress instance for static operation.

These services are provided on a fixed-cost basis and complete when your service is up and running. Typically we can provide these services either via telephone or video conversation, screen share / walk-through, or via direct SSH access.

£ 25 /one-off
  • WP Reconfigure
  • Setup Git Account
  • Initial Crawl
  • Setup Live Domain
  • Setup Static Pages
£ 35 /one-off
  • Install new WordPress
  • Copy existing to New
  • As per BASIC
£ 50 /one-off
  • Install local Server
  • Configure Containers
  • As per VPS
£ 20 /month
  • Covers what we install
  • 1h response time
  • Support hotline
  • Remote login / diagnosis
  • Covers UK working time

Notes and useful links

We provide support via multiple channels depending on the issue and the mechanisms you are comfortable with.

  • The entry level support system is via email, so please feel free to email any queries to
  • Support via Forums. We run a discourse channel dedicated to “Make Me Static” support. While this is completely free to use, it is “private” so if you would like to use this channel, please send and email to and we will send you an invitation to the Forum.
  • Support via Chat. We run a dedicated Chat server for customer support. Please visit 

Useful Documents