tech.sinayaka.com

LINEでURLを貼ったらアイコンが出ない、2つの原因

2026-05-15
2026-06-05
3分
421語
Web技術 OGPfaviconLINESEO

LINEでサイトのURLを貼り付けると、サイトによってはアイコンとタイトルが綺麗に表示される。ところが自分のサイトはアイコンが出ない。調べると原因が2つあった。

原因①:og
のURLにスラッシュが足りない

コードをよく見ると、こんな書き方になっていた。

export const SITE_URL = 'https://example.com';  // 末尾スラッシュなし
export const SITE_IMAGE = 'thumbnail.png';       // 先頭スラッシュなし
<meta property="og:image" content={`${SITE_URL}${SITE_IMAGE}`}>

この結果、生成されるURLは:

https://example.comthumbnail.png

ドメインとファイル名がくっついてしまっている。LINEはこのURLに画像を取得しに行くが当然404になる。

修正は簡単で、どちらかにスラッシュを加えるだけ:

export const SITE_IMAGE = '/thumbnail.png';  // 先頭にスラッシュ

原因②:faviconがSVGだけ

Astroのデフォルト設定はこうなっている:

<link rel="icon" type="image/svg+xml" href="/favicon.svg">

SVGファビコンはChromeやFirefoxでは動くが、LINEのリンクプレビューでは使われない。LINEはPNGまたはICO形式のファビコンを要求する。

対策はPNGとICOも追加すること:

<link rel="icon" type="image/x-icon" href="/favicon.ico">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">

PNGとICOファイルはfavicon.svgを変換して作れる。Macならターミナルで:

# SVG→PNG変換(qlmanage使用)
qlmanage -t -s 192 -o /tmp/ /path/to/favicon.svg
# 出力: /tmp/favicon.svg.png

あとはPythonのPillowで複数サイズのICOに変換できる。

OGP画像のデバッグ

LINEのキャッシュが残っていると修正後もすぐ反映されないことがある。確認には Facebook Debugger が使える。

<!-- 正常なog:image -->
<meta property="og:image" content="https://example.com/thumbnail.png">

<!-- 壊れたog:image -->  
<meta property="og:image" content="https://example.comthumbnail.png">

スラッシュ1文字の差でLINEのプレビューが出るかどうかが決まる。地味だが確認する価値がある。




Copyright 2026
サイトマップ