January 11, 2020

542 words 3 mins read

Migrating blog from Ghost hosted on VPS to Hugo+Netlify

Migrating blog from Ghost hosted on VPS to Hugo+Netlify

After this blog was migrated from WordPress to Ghost and operated for 2 years, I have again migrated it to static website generator Hugo hosted on Netlify. This article mentions the migration tasks and usability after migration.

Reason of migration

Whilst the main reason I migrate the blog from WordPress was to avoid bothering tasks related to security measures, Ghost did not have such significant problems. Ghost was especially good at design of the default theme Casper and at usability of the simple console, however, there were some minor issues.

Instability of inputting Japanese

The behaviour of the article editor looked a bit unstable for Japanese letters. Especially, the native app was not in practical use.

Incompatibility of multilingualisation

Whilst the blog has Japanese and English articles, Ghost did not have native support for multilingual website. I needed to struggle to establish the multilingual website as nicely as possible I can manually, using Ghost's standard functions such as tagging.

Following Ghost's version-up

The previous sites applied a forked and customised Casper theme so that Japanese articles were shown in suitable design. I needed to merge the original forked repository every time the theme lost compatibility due to version-ups of Ghost itself.

Trend in static website generator

There have been lots of articles on Internet for several years regarding migrating blog to static website generator. Indeed, server-side rendering may be an old-fashioned nowadays for not-quite rich applications such as blog services. So I have adopted a static website generator and chosen Hugo, which seems a trend and is compatible with multilingualisation.

I have migrated the blog with Hugo+Netlify, which allows to host static websites for free and deploy the contents automatically, cooperating with content management systems such as Github.

Pros of migration to Hugo+Netlify

Compatible with multilingual website

When articles are written in multiple languages, language switcher buttons are automatically displayed in the article pages. Articles do not have to be described with ‘English article here’ any more.

Easy of content management

Operation is easy as I just need to write articles with Markdown and to manage the contents in Github. Moreover, I do not even need to think about backup by myself.

Easy of server management

There is no doubt of this as I do not have to manage my own server any more. It is quite easy as I do not have to think about server maintenance.

Easy of further migration of hosting environment

Even though I need to migrate the contents again in the future due to deterioration of free account condition of Netlify, it is easy to do so because of static contents.

Able to use favourite editor

It is good to me as I can write the markdown with Vim.

Cons of Hugo

Usability of theme

There seems no explicit default theme in Hugo. Ananke, which seems practically regarded as the default theme, does not look quite good in design. Since any other themes do not have as many functions as Ananke, such as multilingualisation, I suppose Ghost has higher quality for themes.

After migration

Everything works well so far. Although I need to be careful about condition changes of Netlify free account in the future, managing a web server by myself might not make sense any more.