Some of you, my fellow readers, have probably noticed some downtime on my website yesterday. I migrated my blog to another hosting provider. That’s the only reason. You’re asking why? Well, I like a certain level of consistency in some areas of my interests. But in technology, especially in IT, the only consistency is constant change. So i decided to move my website (again).
How it all started…
It all began on Twitter when I joined a discussion about where to place the search bar or search field on a website:
Some for bloggers, in your theme it makes sense to have your search bar at the top. Doing some vExpert validation and have trouble finding the search bar often. If people hit the home page of your blog they will want to be able to find something quick usually, move it up!
— Duncan Epping (@DuncanYB) April 5, 2018
That led us to the conclusion that a website should have no clutter and no word / tag clouds. I agree with that, since it’s not up to date anymore. But hey, that’s just my personal opinion.
That was my goal when I did my design.
No clutter, no word-cloud.
Simple Tags list, Archive (date list) and search.
Only thing I am a little uncertain of, is if the date/author info of a post should be at the top or the bottom.https://t.co/rPvavIaEd0
— Mads Fog Albrechtslund (@Hazenet) April 5, 2018
And the discussion finally ended at the performance of a website.
Not only lean but also quicker loading / responding because of less plugins / additional traffic when Google Analytics is disabled.
— Karl Widmer (@widmerkarl) April 5, 2018
I did some testings on my “old” website / provider and i wasn’t very sad about the results, but also not very happy. There is always room for improvements. So i did some research on the topic of using WordPress as content management system but providing static websites. Delivering static content like HTML files and images is way faster then delivering dynamic content. Even if you’re working with caching plugins and all that stuff. At least some of the content is still dynamic, thus generated when you’re accessing the website. Please don’t blame me if i’m not 100% correct, i’m not a professional web developer, but at least i know some basics here.
When you look at these tweets, you will find at least two solution which generate static content out of dynamic content, gohugo.io and jekyll. I think both solutions are great, if you know basic stuff about frameworks, programming languages and some more stuff. I tried it, i really tried it. But i failed. In my eyes both solutions are complex to setup and maintain. As i said, i’m not a pro web dev. And if you’re used to certain content management systems like WordPress, then it’s hard to switch.
I moved on with my research. As my employer is using various cloud solutions, like Amazon, i thought why not going (back) to Amazon?
A little history background
My first steps with my own blog I made on Amazon. I had a nice EC2 instance running there and used also CloudFront as my content delivery network. Together with Route 53 as DNS i was happy. After a year or so i moved my website (or better, let my website be moved) to another hosting provider located in Canada. This hoster was specialized in WordPress. Super-duper caching, all-flash servers, and Cloudflare, all in one packaged. Oh, and the migrated my website within two hours or so. I was happy. As you can imagine i moved on with my website. I wanted a hosting provider which is located somewhere in Europe. I’m living in Switzerland and i think most of my visitors are based in Europe, at least the where at that time. So i decided to moved my website again to another hosting provider. This provider is also specialiced in WordPress hosting, has also all-flash storage and special caching, and also a full Cloudflare package.
Back to topic…
So as the next migration is in the pipeline i did some research about how my website should be, behave and stuff. Primary goal was performance. As i mentioned above, WordPress is s great, easy and feature-rich platform for creating websites and content. But the performance, well, it could be better. As i also said i gave it a try to convert my running WordPress blog into static content. And i failed miserably. Probably i didn’t invest much time to evaluate the mentioned solutions above. But if you’re trying it for several hours with no success, then i’m done with it.
I search for another solution to keep using WordPress to generate and manage my content but have it delivered as static files. And i found a solution! My new hosting provider, getshifter.io, does exactly that! You can still work using WordPress, create amazing content, and Shifter will deliver it completely as static files.
But how does that work?
After you registered for a (forever free) trial plan, you can start right away. Please get more details in their “get started” guide. But i’ll show you some of the secret hot sauce anyway.
Setup a project and WordPress
When you go to your Shifter dashboard, you can launch a conainerized WordPress instance, a so called “project”. You can export your content from your old WordPress hosting and import it into this new containerized instance. You can still upload your favorit theme, and you probably will have to upload some of your plugins used on the old website. I had to do so because of compatibility and of some imports which didn’t work without these plugins.
Create an artifact
When you’re done with the content, and everything looks fine and pretty, you have to shutdown this containerized instance. But no worries. All your content stays there, you won’t lose a bit. When the instance has shut down, you have to create a so called “artifact”. An artifact is a static version (or build) of your WordPress instance. Something like a snapshot. This is an automated proces which you start with a single click.
Deploy the artifact
When you’re done with the artifact, you have to deploy it. This is also done with a single click. Your new or updated content, or new website layout goes now online. It’s that simple.
But there is more
Yes there is indeed more. It’s not just a free or cheap hosting. With all plans you’ve got Amazon S3 and CloudFront included. All the static files are uploaded and stored on Amazon S3 storage, and then delivered through CloudFront (CDN), so that visitors can access websites with low latencies from all over the world. Shifter is also protecting you against DDOS attacks. They are running CloudFront together with AWS Shield. You can use your own domain and enable it also for SSL certificate (Amazon SSL) which requires email authentication.
Shifter has its own admin menu (separate from WordPress) that gives you control of the site. You can turn WordPress on and off, converting to and from a static site. You can manage domain settings, multiple websites, and more. Shifter is both a WordPress static site generator and a WordPress hosting solution. They host the files that Shifter creates and allow you to connect to custom domains. They don’t, however, offer domain registration at this time.
What does it cost?
Depending on your needs there are various pricings. Have a look at them at the pricing site. But here’s an overview anyway:
But there’s a catch for sure?
Well, i wouldn’t say “a catch”. But if you’re used to WordPress, there are some things to reconsider. First, after each new post (or probably several posts) you have to create a new artifact as mentioned above. This will take a while, and then you have to deploy it. Sure, both steps are done with a single click each. But it takes some more time to publish things on your website then it took before. If you’re publishing several blog posts per day or week then this solution probably doesn’t suit you, or you have to adopt new workflows. Second, talking about plugins. WordPress is known for its plugin ecosystem. If there is a function you whish to use on your blog, then you will probably find a plugin for it. I’m using plugins to, like for SEO and for automated publishing on social media. I will have to keep an eye on it over the next days and weeks how that works. Third, having coments on your blog posts. As the default coment system of WordPress, and several others, are depending on the dynamic backend, that won’t work anymore. But there is a solution (which i’m still trying to figure out how it works). It’s Disqus. And it’s also available as a free plan.