Moving Super Dev Resources blog back to WordPress from Jekyll

About a year ago, I switched most of my blogs to Jekyll from WordPress, including this one. Jekyll is one of the most popular static site generators and it was fun to work with as a developer.

Over the last year, I kept my blogs running on Jekyll and tried solving little bits of hurdles and plugging in the gaps between Jekyll and WordPress. You can find a few of articles on Jekyll that I wrote on this blog.

Why I moved back to WordPress?

wordpress-logo-big

Overall, I enjoy working with Jekyll and a few of my side projects are still made with Jekyll, however I have now made a choice to move back all my blogs to WordPress. The biggest reason for this move is that I was blogging less and was spending more time in making sites built with Jekyll behave like a WordPress site.

While, all the benefits of Jekyll over WordPress that I outlined in my earlier posts still hold, one thing that is still lacking is, WordPress is backed by a commercial entity having dedicated developers who are constantly evolving WordPress for the latest web standard and for the needs of commercial websites. Take for example: AMP (accelerated mobile pages) by Google. You will always find yourself at home with official or third-party plugins available for WordPress for such things (check AMP WordPress plugin by Automattic). While on the Jekyll side, if you need such support, you will mostly have to do it yourself.

The other problem, which I faced was with authoring posts on a multi-authored blog (Super Dev Resources) that I manage. While I was able to the fill the gaps (wasn’t a big deal) and make Jekyll produce sites which are multi-authored, forcing all my authors to have a Jekyll setup was a big task and introduced a big friction in the publishing process. The other way was to ask for post in markdown format from them and do the publishing myself using my Jekyll setup. But this proved to be an extra burden for me which resulted in lesser articles over the last year.

Since most of the authors (including guest authors) are already familiar with WordPress, it is much easier to have a blog running on WordPress to have content publishing running smoothly on your blog.

How I moved from Jekyll to WordPress?

Luckily, all my blogs were previously hosted on WordPress and I had made a backup for them before moving them to Jekyll. This made it much easier for me to restore a WordPress setup for them from the backup. The only big task was to import posts that were written while these blogs were on Jekyll.

While there is an official way for you to import your posts from WordPress to jekyll, there isn’t any for going the other way. You will have to write your own scripts to do this migration and depending on the structure of your Jekyll site this script can be customized for each one.

Since there weren’t many posts written over the last year on my blogs while they were on Jekyll, I decided to use WordPress import from RSS plugin.

I first tweaked the Jekyll site to produce an RSS containing all the posts that I needed to migrate. This RSS file was then imported using the plugin mentioned above. The plugin did a good task in importing the post content, its published date and the categories too. The only thing that were not imported were the images which were inside the post. Since the image paths in these new posts were not as per WordPress default (i.e. under wp-content/uploads), I used another plugin (Import External Images) to import these images from posts and automatically upload it to the WordPress setup.

All this was done on an intermediate staging server in order to access the images on the actual URL. Once I was satisfied with the import on the WordPress install, I made the staging server live.

Hardening WordPress installs

When you host a WordPress site, instead of a static site, the biggest task is to make it more secure against constant botnet attacks and manual hijacking attempts. There are many ways outlined on the WordPres Codex site which is a must read for hardening WordPress installs and making it more secure.

Making WordPress Websites faster

The other important task when hosting a WordPress site is to make it faster to load for the users, specially when you have a high traffic. Apart from using different caching plugins available for WordPress (see W3 Total Cache and WP Super Cache), you should also invest in a good host. As of now I am using DigitalOcean (affiliate link) for hosting my WordPress sites. The SSD servers of DigitalOcean provides optimum speed to the sites served via WordPress.

By using an optimized theme, you can make your WordPress site minimize server request and reduce the size of the pages served. You can learn more about the theme used by this site in next section.

WordPress theme for this site

The current WordPress theme used by this blog aims to be a fast loading WorPress theme much like my other theme fastr which is already available on WordPress theme repository. I have opted to build this WordPress theme with the new and promising Beans framework.

If you are a WordPress theme developer, you should definitely check Beans framework as it makes it quite easy and quick to produce a WordPress theme. Beans framework also offers a lot of in-built optimization options like asset compilation.

Kanishk Kunal

Kanishk is a Software Engineer turned Online Entrepreneur who has created many successful apps and websites. He devotes most of his time punching his keyboard and swiping his smartphone. Follow him on Twitter @kanishkkunal

This Post Has 2 Comments

  1. Good Articles!

    Sir I’m create child theme using beans framework. but i found some issue. I try many time to create UK Panel box like SDR website . How i can create uk-panel-box in my theme.

    I’m waiting your respond.

    1. Hello Amaya,

      Kindly post your question on the Beans Framework Forum. Please be sure to include code snippets of your current code and explain in detail about what is not working as per your expectations.

      For UI Kit documentation about uk-panel-box, you can refer here: http://getuikit.com/docs/panel.html

      Thanks.

Leave a Reply

Close Menu