ContentfulのContent modelにvalidationを設定する

ContentfulのContent modelにvalidationを設定する
公開日時

このブログの記事はContentfulで管理していて、Content modelに slug Fieldを用意して、その値を記事のURLとして設定している。

記事のURLのルールとして YYYY-MM-DD-unique-name とするようにしていたが、命名規則のvalidationは設定していなかった。

記事を書く際に毎回設定しているものなので間違えることもないだろうと思っていたが、 slug でsortした際に unique-name のみになってしまっている記事が数件見つかった。

URLが変わってしまうと元のページが404になってしまうので、そもそも間違えない仕組みを導入すべきだと思い、 slug validationの Match a specific pattern を設定することにした。

正規表現が使えるので、

^\d{4}-\d{2}-\d{2}-.+$

を設定することで、命名規則に沿わない場合はエラーが出るようにできた。

slug-error

これでもうURLミスは起きないので一安心。


Related #contentful

Contentfulで管理しているブログ記事を一括公開する

一括置換以外にも細かい調整を加えたかったため、更新と公開でスクリプトを分けることにした

Contentfulで管理しているブログ記事を一括更新する

Content Management APIを使う

Contentfulの記事をAlgoliaのインデックスに登録する

Contetful Webhookの変換Helperが便利

Contentful GraphQL APIで最終更新日時を取得する

sys.publishedAtで最終更新日時が取得できる

Contentfulの料金プラン改定

嬉しいアップデート