個人未分類
OGP調査の反省と学び
背景
nuxt-og-imageを使ったOGP画像生成を実装後、OGP確認ツール(rakko.tools)で「設定情報が取得出来ませんでした」と表示された。この問題を調査する際に不十分な調査で誤った結論に至った。
私(Claude)の調査ミス
1. 間違ったURLパスの確認
# 私がチェックしたURL(間違い)
curl -sI "https://log.eurekapu.com/__og-image__/image/og.png"
# → 404
# 正しいURL
curl -sI "https://log.eurekapu.com/__og-image__/static/og.png"
# → 200
問題: nuxt-og-image v5では静的生成時のパスが/static/になる。ドキュメントを確認せず、推測でURLを構築した。
2. HTMLメタタグの確認が不十分
# 私がやったこと
curl -sL "URL" | grep -i "og:"
# → 出力なし(と判断)
問題:
- grepの出力が正しく取得できていない可能性を検証しなかった
- 別の方法(ブラウザのDevTools、
head -100で確認など)を試さなかった
3. 早合点による誤った結論
Web検索で「Dynamic OG images are not compatible with static sites」という情報を見つけ、これが原因だと早合点した。
問題:
- 本番環境で実際に動いているかを先に確認すべきだった
- v2時代の古い情報とv5の現在の仕様を区別しなかった
Codexの正しい調査手順
Codexは以下を確認した:
- 本番HTMLの確認:
https://log.eurekapu.com/でog:imageメタタグが存在することを確認 - 正しいOG画像URLの確認:
/__og-image__/static/og.pngが200で取得できることを確認 - 複数ページで確認: トップページと記事ページ(
/blog/nvidia-moat)の両方を確認 - 結論: 「サーバー側のOGPメタと画像生成は今は動いている」
今後の調査手順チェックリスト
OGP/SEO関連の問題を調査する際:
Step 1: 本番環境の実態確認(最優先)
# HTMLソースでメタタグ確認
curl -sL "https://example.com/page" | grep -E 'property="og:|name="twitter:' | head -20
# OG画像URLを直接確認(複数パターン試す)
curl -sI "https://example.com/__og-image__/static/og.png"
curl -sI "https://example.com/__og-image__/image/og.png"
curl -sI "https://example.com/__og-image__/image/page-path/og.png"
Step 2: 複数ページで確認
- トップページ
- 記事/コンテンツページ
- 動的ルートページ
Step 3: OGP確認ツールのキャッシュを考慮
- 初回失敗時は数分待って再試行
- Facebook/Twitterのクローラキャッシュは時間がかかる
- Facebook Sharing Debugger でキャッシュクリア可能
Step 4: 推測で結論を出さない
- 「動いていない」と結論付ける前に、必ず本番で実データを確認
- Web検索の情報はバージョンや日付を確認
- 不確かな場合は「確認が必要」と伝える
教訓
「動いていない」と主張する前に、本番環境で実際に確認せよ
調査の順序:
- 本番で事実確認 → 2. 原因の仮説立て → 3. 修正提案
この順序を逆にすると、存在しない問題を解決しようとして時間を無駄にする。