ブログのリンク切れをチェックするGitHub Action

ブログ記事にリンク切れがないかチェックする GitHub Action を定期実行するようにしてみました。

使ったのは、Lychee Broken Link Checker です。Markdown、HTMLやテキストファイルに含まれるリンクをチェックしてくれます。リンク切れがあると、Issue を作成するように設定できます。やり方は、Usage にある通り、リンクをチェックしたいレポジトリに GitHub Action のワークフローファイルを作成します。

ワークフローの作成

リポジトリの .github/workflows/ ディレクトリに、以下の内容を任意のファイル名(例: check-links.yml)で配置します。


ワークフローの解説

このワークフローは、4つのステップで実行されます。

Step 1: コードのチェックアウト

actions/checkout を使い、リポジトリのコードを読み込みます。

Step 2: 認証トークンの生成 (オプション)

actions/create-github-app-token を使い、このワークフロー専用の認証トークンを生成します。

このステップはオプションです。 GITHUB_TOKEN(GitHub が自動で提供するトークン)の代わりに GitHub App のトークン を使うことで、GitHub App(例: MyLinkCheckBot)の名義で実行することができます。

Step 3: リンクのチェック (lychee-action)

lycheeverse/lychee-action を使って、リンクチェックを実行します。

Step 4: Issue の作成 (連携)

peter-evans/create-issue-from-file を使い、Step 3 の結果を Issue として投稿します。


まとめ

記事が増えてくると、外部サイトの閉鎖や URL 変更によるリンク切れは避けられません。このワークフローを導入することで、ブログの品質維持に非常に役立ちます。

by lwgena