この記事は sadnessOjisan Advent Calendar 2021 21 日目の記事です。書かれた日付は 1/15 です。
OGP 画像の展開条件
OGP 画像は
<meta
property="og:image"
content="https://twiogp.ojisan.dev/images/shirankedo.png"
/>
のように絶対パスで書く必要があります。
つまり、
<meta
property="og:image"
content="https://twiogp.ojisan.dev/images/shirankedo.png"
/>
だと OGP 画像は展開されません。
PRD, STG 環境のようにオリジンが決まっている環境であればいいですが、preview 環境のように URL がころころ変わる環境で OGP 画像を確認したい場合は困ります。
そこで Vercel 環境で Preview 環境でも OGP を展開できる方法を紹介します。
process.env.VERCEL_URL でデプロイ先の URL を取得できる
Vercel には組み込みの環境変数がいくつかあります。
FYI: https://vercel.com/docs/concepts/projects/environment-variables
そこによると VERCEL_URL もしくは NEXT_PUBLIC_VERCEL_URL という環境変数にデプロイ先の URL が格納されているとのことです。
そのため、
<meta property="og:image"
content={https://${process.env.NEXT_PUBLIC_VERCEL_URL}/images/shirankedo.png`}
/>
として OGP 画像を展開できます。