Migrer son site WordPress vers le générateur GoHugo

Comment migrer de WordPress vers Hugo avec GitLab Pages ?

Migrer son site WordPress vers le générateur GoHugo

Comment migrer de WordPress vers Hugo avec GitLab Pages ?

Découvrez comment j’ai remplacé mon site WordPress par GoHugo, un générateur de sites statiques puissant et flexible. Apprenez à migrer vers Hugo et à tirer parti de ses avantages, notamment la vitesse et la sécurité.

Pourquoi Hugo ?

Il existe plusieurs générateurs de sites statiques (Hexo, Jekyll…) mais Hugo, en plus d’avoir une communauté active et grandissante, a l’avantage d’être codé en Go.

Vos articles seront à rédiger en Markdown ! :)

Configuration

Gitlab

La mise en place est relativement simple à partir du moment où vous avez :

  • Activé la CI
  • Activé Pages

J’utilise la CI de base :

image: monachus/hugo

variables:
  GIT_SUBMODULE_STRATEGY: recursive

pages:
  script:
  - hugo
  artifacts:
    paths:
    - public
  only:
  - master

Avec comme configuration pour pages :

pages_external_url "http://pages.domain.tld/"
gitlab_pages['enable'] = true
gitlab_pages['external_http'] = ['*:81'] # Configure to expose GitLab Pages on external IP address, serving the HTTP
pages_nginx['enable'] = false
pages_nginx['ssl_certificate'] = "/etc/gitlab/ssl/cert.pem"
pages_nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"

Vous aurez tous les détails dans la documentation d’Hugo : https://gohugo.io/hosting-and-deployment/hosting-on-gitlab/

GitHub

Il est aussi possible de l’héberger sur GitHub, si vous voulez essayer :

https://gohugo.io/hosting-and-deployment/hosting-on-github/

Migration

Les commentaires

J’ai fait simple, comme vous pouvez le voir, ils sont hébergés chez Disqus

Les articles

La liste des scripts de migration est disponible à cette adresse :

https://gohugo.io/tools/migrations/#wordpress

J’ai utilisé https://github.com/SchumacherFM/wordpress-to-hugo-exporter

Le “script” va vous pondre un zip avec les articles en Markdown (et un peu d’HTML) et vos images. Vous n’aurez plus qu’à sed tout cela pour les nettoyer, réorganiser, etc.

├── content
│   ├── blog       : vos articles, pages etc
│   └── static     : favicon et autre
│       └── images : les images de vos articles
├── layouts
│   └── partials   : modifications du theme
└── themes
    └── votretheme : le theme de base

Fonctionnement

Merci VaLouille pour l’inspiration.

Par la suite, j’ai modifié un peu la CI et l’image Docker pour Minifier le contenu d’Hugo

Catégories : Linux 

Suggestions de lecture :