Make Me Static, Static Site Generator, Git, Pages and Live Stats
Welcome to the Make Me Static Plugin for WordPress. This plugin is a static site generator and aims to create and maintain a static copy of your WordPress website within a Git repository. This version includes automatic access to a free Git solution and Page provider platform. (so no setup or credentials are necessary) Alternatively the static site can be generated and stored in a GitLab Git Repository that can be used as a source for a static page platform such as CloudFlare Pages. The plugin provides customised sitemap and change tracking which connects to an external crawling service which does all the heavy lifting. We have made great efforts in this version to minimise the configuration required to get going, if you have any problems (with anything) please let is know and we’ll do our best to help. Check out this YouTube video for an introduction to static front-ends and a walk-through of converting a pre-existing WordPress site into a WordPress site with a static front-end. How the service works The plugin connects to a directory service on the Internet at one of the directory URL’s listed below. This in turn will point the plugin to a ‘crawler’ that has been allocated to your site. When you ask the plugin to make a static copy of your site, it will instruct the crawler to visit all the pages on your site to determine which have changed since it’s last visit. Any changed pages will be copied to a Git repository, which in turn can publish pages directly to a page hosting service. The default option is to use a Git account hosted by MadPenguin, and to publish the site on MadPenguin’s page hosting platform. As a result the default options do not require any specific Git or Page hosting configuration to get going. If on the other hand you choose to use a hosted Git service such as GitLab, you will need to enter some credentials for your online account, and from there configure your GitLab account to publish to a page hosting service. Once you have successfully published a static copy of your site, all you need to do is point your domain at the address of the page hosting service, and asssuming your domain matches the one you entered when setting up your profile within the plugin, you should be up and running. The service retains a metadata database for the site which includes file names, sizes and modification times, together with any credentials that have been added when creating a profile. (Sensitive credentials and other information is encrypted at rest). The external service is responsible for all scanning and processing activities to mitigate strain on the WordPress server. The only private data transferred to the external service is the information you enter when creating a profile. All other information is obtained via an anonymous external scan, hence publically available. If you have selected the default Git option, then the service will also retain a static copy of the site. Useful references The service product page Terms and Conditions of Service Privacy Policy Getting Started Service Status Support Forum Make me static directory service URL’s; https://mms-directory-1.madpenguin.uk https://mms-directory-2.madpenguin.uk https://mms-directory-3.madpenguin.uk Other URL’s used to load code; https://assets.makemestatic.com, source for stage-2 crawler UI https://status.makemestatic.com, endpoints that indicate the currently deployed version of a site https://weblogs.makemestatic.com, source for dynamically loaded weblogs data / websockets https://mms-crawler-*.madpenguin.uk, location of the actual crawlers (via websocket) Note that this in an integrated solution, the 3rd party crawling service is owned and operated by the plugin authors on a combination of cloud hosted and on premesis equipment. Live Web Statistics (experimental) If you opt to use the integrated Pages platform, this also provides a live WebStats option that uses the following URL; https://weblogs.makemestatic.com This allows live webstats to be seamlessly delivered into your control panel and updated in real-time via a websocket connection. Do not use this URL directly! This URL is only referenced once you click on the webstats icon next to your profile. How Does it work? The WordPress site is scanned by the MMS service under direction from the WordPress plugin. This off-loads the scanning process to specialised software which aims to minimise the loading on the WordPress server while scans are in progress. There are three types of scan that can be performed; An “update”, which literally only looks at entries with changed sitemap timestamps (this is very quick and great for typo’s and any changes that only affect a single page) A “synchronise”, typically this will scan every asset on the WordPress site and compare a checksum of each asset against it’s database to see if it’s changed since the last scan. Any changes are then transferred to the connected Git repository. A “Git verification”, this is like a “synchronise”, but also scans the Git repository for assets that are no longer referenced by the site (and removes them). As the site is scanned “from the outside” there should be no risk of the plugins actions exposing any data that isn’t already public. By the same token the external service has no ability to modify WordPress so the security footprint of the plugin is tiny. Feature bullet points The plugin provides a way to produce a static copy of your website in a git repository The result is compatible with both Github pages and CloudFlare pages for automatic publication Multiple profiles are supported for (A+B_…) testing Various scan rates are supported from one page per 5s to 7 cores flat out Scheduled updates are supported and automated scanning Currently “Gitlab” is supported with plans for GitHub and on-prem Gitlab Support push services (WebPushr) to automatically notify subscribers on scan completion Issue tracker for each profile to diagnose problems Handles current and historical issues Ability to acknowlede or delete issues when resolved GUI access to the internal asset database Search as you type filtering Pinning (force assets to be scanned regardless of perceived change) Selective / manual queueing of assets for testing Ability to include manual / static assets in the scan (in the WP tree but unmanaged by WP) Ability to exclude specific files and folders Setup Wizard is included for a guided profile creation The Technology The Plugin presents as a WordPress Admin / plugin page Backend connections are made over websockets using PKI The crawler respects Robots.txt, (make sure the “MMSbot” agent is allowed on your site) MMS Javascript runs in an isolated module and CSS “plays nice” with WordPress Global CSS and theming is partitioned and user editable (if you feel the need …) All of the front-end JS code and PHP is either GPL2 or MIT licensed Backend-code is all based on the Orbit Framework (the framework and DB are all MIT licensed) Orbit is a ‘real time’ framework, so the admin panel is 100% reactive. Progress bar updates are typically “per percent” granularity All statuses, totals, etc, are updated as they happen Unless you’ve hit a bug, there is no mileage in reloading the MMS plugin page If you change your license information, it will change in real-time If the crawler allocated to your site changes (perhaps due to a license upgrade) then the appropriate version of the crawler UI will be uploaded “into” the page from the new crawler.
Top keywords
- service18×1.44%
- site18×1.44%
- page13×1.04%
- static13×1.04%
- git12×0.96%
- wordpress12×0.96%
- https8×0.64%
- crawler7×0.56%
- pages7×0.56%
- scan7×0.56%
- git repository6×0.48%
- madpenguin6×0.48%
SpinupWP
This plugin ensures that the SpinupWP page cache is cleared when your site’s content changes. Not using SpinupWP yet? Sign up here. SpinupWP is a modern server control panel that’s here to help you implement best practices for every server you spin up. Designed for WordPress. This companion plugin should be installed on sites created using SpinupWP to allow the page cache to be cleared when your site’s content changes. Not using SpinupWP yet? Sign up here. Any Provider We support DigitalOcean, Linode, AWS, and any other provider. If your server has an IP address, you can connect SpinupWP. It does need to be a fresh install of Ubuntu though. Latest & Greatest Software SpinupWP will install the latest stable versions of Nginx, PHP, MySQL/MariaDB, and Redis from the standard apt-get repos. No who-knows-what-they-did custom builds of packages. Disconnect from SpinupWP in the future and you can still keep your packages up-to-date with apt-get upgrade. Automatic Security Updates SpinupWP will configure your server to install security updates as soon as they are available to reduce the likelihood of a software vulnerability putting your server at risk. Free SSL/TLS Certificates Serving your site over HTTPS is essential these days, not only for security, but to take advantage of the performance improvements of HTTP/2 as well. When you add a site to SpinupWP, a free Let’s Encrypt SSL/TLS certificate will be acquired, installed, and configured for your site. And SpinupWP will handle certificate renewals as well, so you hardly need to think about certificates. Cache All the Things One of the keys to a great performing WordPress site is caching. All sites are set up with Redis object caching to greatly reduce database requests. And with the check of a box you can enable full-page caching to serve pages lightning fast without even hitting PHP. Git Push-to-Deploy Developers! Developers! Developers! Add a git repository to your SpinupWP site and simply push to master to deploy your code. GitHub, Bitbucket, or a custom git repo will work. You can also configure a build script to run some tasks on the server after deployment is complete. Error Logs WordPress doesn’t enable error logging by default. Probably because the log is saved to a publicly accessible directory and can quickly balloon to take up a lot of hard drive space. SpinupWP enables error logs by default but stores them in a safe place and makes sure they’re rotated regularly like other server logs. Security Security Security Each server provisioned by SpinupWP is security-hardened from the word go. SSH login is disabled for the root user (you login with your user and use sudo instead). The firewall only allows connections to Nginx and SSH and failed attempts are monitored and blocked when the reach a threshold. Nginx is configured to defend against XSS, clickjacking, MIME sniffing, and other attacks. Software security updates are installed automatically. Scheduled Posts Published on Schedule For every site you add via SpinupWP, a server-side cron job will be configured to make sure that your WordPress site’s cron is executed every minute, as it should be. WP-CLI Preloaded If you love WP-CLI (we do! ❤) you’ll be very pleased to find it available on the command line the first time you login to your server. Security Isolation for Sites For each site that you add to your server via SpinupWP, a new system user is created for that site. All site files are owned by the site user and a PHP-FPM pool is configured to run as that user as well. Each site only has access to its files and so if only one site has a security vulnerability and gets infected with malware for example, only the files for that one site can be infected. SFTP Access for Your Clients If you’re hosting a site for someone else, you can easily give them SFTP/SSH access to just that site. And because of the security isolation between sites, they will only have access to files for that site. Professional Guidance & Best Practices SpinupWP will actively point you in the right direction and offer suggestions for maintaining your server. And because it provides detailed feedback about the operations it runs on your server, you can learn what is happening with your server. New release of Ubuntu just came out, should I upgrade? We’ll add a notice to the app about that, why we don’t recommend upgrading your existing servers, and how you can spin up a new server with the new release of Ubuntu and migrate your sites to that server instead. Should I install Varnish to improve page caching performance? We’ve benchmarked Varnish and Nginx FastCGI Cache performed better. Varnish would add complexity too, so one less moving part is another reason. Much of the time SpinupWP will suggest things that you may not have even thought of. Email deliverability for example. SpinupWP will strongly encourage you to configure an email sending plugin for the best email deliverability. SpinupWP’s guidance is especially helpful for those new to managing a server, but can also help those who’ve been at it a while, providing transparency to our decisions. Scheduled Backups of Site Files & Database All server providers (DigitalOcean, Linode, etc) offer automated backups of your entire server for a fee. These services are great and we highly recommend having backups of your whole server. But what happens if some media or data was deleted by accident from your WordPress site? You’re not going to restore your entire server just to get that data back. That’s where site backups come in. Site backups are full backups of your site files (media, themes, and plugins) and database. They allow you to easily restore a single site or just some files or data from a single site. With SpinupWP’s site backups, you choose your preferred provider to stash your backups whether that’s Amazon S3, DigitalOcean Spaces, or Google Cloud Storage. You plug in your account details and SpinupWP will send your site backups there in an easy-to-see format. Teamwork Makes the Dream Work Create a new team account, invite a member of your team, and allow them to spin up their own servers. Or just only allow them to add sites, the permissions you give them is up to you. Features Page cache purging Persistent object caching Ensures debug.log files aren’t saved in a publicly-accessible location