GitHub Actionsでビルド失敗:HTMLProofer画像切れとYAML引用符エラーの原因と対策
2026-02-23のBuild and Deploy失敗を事例に、HTMLProoferの画像リンク切れとYAML front matter引用符エラーの原因、修正手順、再発防止策をまとめます。
GitHub Actionsでビルド失敗:HTMLProofer画像切れとYAML引用符エラーの原因と対策
2026年2月23日、GitHub Pagesの Build and Deploy が連続で失敗しました。
失敗した実行は 22301912679 と 22302830544 です。
この記事では、実際に発生した2つの原因と、修正内容・再発防止策を整理します。
発生したエラー
build ジョブの Test site(htmlproofer)で以下のエラーが発生していました。
1
2
internal image /auto-ai-blog/assets/images/chatgpt-vs-claude-2026-comparison.png does not exist
internally linking to /auto-ai-blog/assets/images/chatgpt-vs-claude-2026-comparison.png, which does not exist
同時に Build site 側で、YAMLのパースエラーも出ていました。
1
YAML Exception ... did not find expected key while parsing a block mapping at line 2 column 1
原因1: 実在しない内部画像への参照
問題の記事のフロントマターで、次のように image が設定されていました。
1
image: /auto-ai-blog/assets/images/chatgpt-vs-claude-2026-comparison.png
このパスはこのリポジトリ内に存在せず、htmlproofer が内部リンク切れとしてビルドを停止しました。
対策
assets/img/に画像ファイルを追加imageをローカル画像パスへ修正
1
image: /assets/img/2026-02-20-chatgpt-vs-claude-comparison-2026.svg
原因2: YAMLタイトルでの入れ子引用符
別記事のタイトルで、外側の " の中に未エスケープの " が含まれていました。
1
2
# NG
title: "・・・AIは"実行力"の時代へ"
YAMLとして不正になるため、Build site 中に例外が出ていました。
対策
内側の引用符を 「」 に置換して、YAMLを正しい形式に修正しました。
1
2
# OK
title: "・・・AIは「実行力」の時代へ"
今回の修正ファイル
_posts/2026-02-20-chatgpt-vs-claude-comparison-2026.mdassets/img/2026-02-20-chatgpt-vs-claude-comparison-2026.svg_posts/2026-02-18-ai-news-trends-february-week3-update.mdAGENTS.md(インシデント記録と再発防止チェック追記)CHANGELOG.md
再発防止策
- フロントマターの
image.pathだけでなく、image:形式でも実在ファイル確認を必須化 - タイトル・説明文で入れ子の
"を使わない(「」またはエスケープを使用) - プッシュ後は必ず
gh run list --limit 1でBuild and Deployの成功を確認
Jekyll運用では、Markdown本文よりも「フロントマターの型・文字列形式」で落ちることが多いです。
記事追加時は、YAMLと画像パスを最優先でチェックするのが安全です。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。