Ghost で任意の image url を Featured Image に指定する

Ghost で任意の image url を Featured Image に指定する

Ghost で任意の image url を Featured Image に指定する

Ghost で記事を作成する際、アイキャッチ画像(Featured Image)に外部ソースの画像を指定する方法について紹介します。

前置き

ブログで記事を作成する際、画像や動画などのメディアは別のサーバー(AWS S3やGoogle Cloud Storageなど)で管理したい、ということはないでしょうか。

Ghostでは記事内の画像は外部URLを指定できるものの、残念ながらアイキャッチ画像(Featured Image)に関してはGhostサーバーにアップロードしたファイルしか指定できないようです。以下はForumの関連記事です。

Allow external URLs for feature images
Would it be possible to have an option to enter the url for an already existing image as an alternative to uploading it? I see that the Unsplash option does just this, so I guess the heavy-lifting setup is already in place.

やり方

上記記事の通り、Ghostのユーザーインターフェースからは外部URLは指定できないようなのですが、Ghostのデータベースを直接書き換えるという力業を使えば、無理くり外部URLを参照できるようになります。

Ghostのデータベースpostsというテーブルがあり、そこに記事のレコードが登録されております。そのテーブルにはfeature_imageという列があるので、対象のレコードのこのフィールドを任意の値で書き換えることで、実現ができます。

こちらの記事のようにローカル環境で動かしている場合は、ローカルの作業ディレクトリ配下にghost.dbというDBファイルがあるので、これをDB Browserなどで開き編集することで、簡単に書き換えることができます。