【スポンサーリンク】

LINEのタイムライン投稿のアイキャッチ画像が表示されない? 【OGPとURLエンコード、サーバーキャッシュ】

LINEのタイムライン投稿のアイキャッチ画像が表示されない? 【OGPとURLエンコード、サーバーキャッシュ】

LINEのタイムラインにブログのURLを投稿したら、アイキャッチ画像が表示されないことがありました。原因を調べてみると、画像ファイル名に日本語文字が含まれているときに、うまくいかないことがわかりました。

SNS共有のための「OGP情報」に、マルチバイト文字列が含まれると、LINEタイムラインではうまく表示できないようでした。

\記事が役に立ったらシェアしてね/
【スポンサーリンク】

1. どんな問題があったの?

ちいラボでは、教室前のブラックボードに書いている「今日の一言」をインターネットにも投稿しています。その中で、LINEの公式アカウントのタイムラインにも投稿しているのですが、うまくいくときといかないときがあります。

今回は、SNSでブログのアイキャッチ画像が表示される仕組みについて、考えてみたいと思います。

まずは、LINEの「タイムライン」をみてみましょう。

URL付きのタイムライン投稿は、アイキャッチ画像をタッチするとブログ記事にリンクします。

どんな問題があったの?
どんな問題があったの?

興味を持ってくれた方に詳しい記事を伝えるのに適しています

一方、うまくいっていない投稿は、LINEのタイムラインからこのように表示されています。

どんな問題があったの?

ブログのリンクは有効のようですが、なぜかタイトルロゴをアイキャッチに認識してしまっているようです。

どんな問題があったの?

あまり見栄えがよくないですし、何より不思議……

1-1. ブログのアイキャッチ画像はちゃんと設定できている?

ブログの方でアイキャッチ画像の設定ができていないのか確認してみましたが、うまくアイキャッチ画像が表示されている記事も、正しく表示されていない記事も違いがわかりません。

ブログのアイキャッチ画像はちゃんと設定できている?

このブログは WordPress で更新しているのですが、アイキャッチ画像は指定することができます。

ブログのアイキャッチ画像はちゃんと設定できている?
ブログのアイキャッチ画像はちゃんと設定できている?

どうも、ブログ自体はちゃんと投稿できているのかなぁ…

2. LINE公式アカウントの管理画面

ブログ投稿を見てもエラーの原因になるような違いはわかりませんでした。
そこで、タイムラインの投稿画面を見てみます。

そもそも LINEの公式アカウントにログインする場合は、ブラウザからとアプリからの方法があり、アプリは、iOS用とAndroid用がそれぞれあります。
つまり、3つの方法があります。

LINE公式アカウントの管理画面
LINE公式アカウントの管理画面

私の場合は、メッセージなどの確認にはアプリを使い、タイムライン投稿など文章を入力する場合はパソコンからウェブ版の管理画面にログインしています

2-1. ウェブ版とアプリ版の違いを確認してみる

ウェブ版とアプリ版の画面を比較してみると…

ウェブ版とアプリ版の違いを確認してみる

配置の仕方は大きく違って機能を探しにくいのですが、がんばって探してみるとそれぞれに対応する機能があります。

それぞれ画面のデザイン・構成は異なりますが、同じような機能があります。

  • ホーム…メッセージ配信や設定の変更
  • タイムライン…タイムライン投稿
  • チャット…個別のトークができる
  • 分析…数値データのグラフ
  • 通知…更新・新機能のお知らせ

LINE公式アカウント」はもともと「LINE@(ライン・アット)」という名前で、ウェブ版からスタートしました。

ウェブ版とアプリ版の違いを確認してみる

その後、パソコンなしでも、スマートフォンやタブレットのみで運営できるように「アプリ版」が生まれました。アプリ版というと「パソコンの簡易版」のように思われますが、これ単独でも運営できるように機能が充実しています。

ウェブ版とアプリ版の違いを確認してみる

2-2. タイムライン投稿画面で確認する

今回は、ウェブ版の画面で説明します。

LINEのタイムライン投稿は、一つの「内容」と「テキスト」を組み合わせたものになります。

タイムライン投稿 = 内容 + テキスト

「内容」を選択して、「テキスト」を入力し、「投稿」します。

タイムライン投稿画面で確認する

内容は5つの形式から選べます。

  • 写真・動画
  • スタンプ
  • クーポン
  • URL
  • リサーチ

今回は、この中のURLを利用して、ブログへのリンクを投稿しています。

2-3. タイムライン投稿のアイキャッチが表示されない

タイムライン投稿にブログのリンクを貼っているのですが、そうすると本来はタイムライン投稿にもブログのアイキャッチ画像がそのまま表示されます。

しかし、下の投稿のようにうまく表示されてない時があります。

タイムライン投稿のアイキャッチが表示されない

それぞれの投稿画面を見比べてみましょう。

タイムライン投稿のアイキャッチが表示されない

3. ブログ共有の仕組み(OGP:オープン・グラフ・プロトコルとは)

LINEに限らず SNSにブログリンクを投稿する場合、この「アイキャッチ画像が狙ったようにうまく表示されない」という場合があります。そもそもSNSでのブログのアイキャッチ画像は、どのように管理されているのでしょう?

その仕組みを「OGP(Open Graph protocol)」といい、SNS上でウェブページの内容を伝えるための約束事(プロトコル)です。ウェブページの内容をプログラムが把握しやすいようにしたデータ形式で、サイトのソースコードの<head>内の<meta>要素に記述します。

ウェブページのタイトルやURL、概要、アイキャッチ画像などをひとまとめにしていて、FacebookやTwitterなどのSNSでシェアされた際に、正しく表示させています。

OGPの必須プロパティは4つあります。

OGPの必須プロパティ
  • og:title……ページのタイトルを記述します。
  • og:type……タイプ(website:Webサイトのトップページ、article:記事、profile:個人のプロフィールページ)
  • og:url……シェアしたいURLを絶対パスで記述
  • og:image……シェアされたときに表示させる画像があるURL
ブログ共有の仕組み(OGP:オープン・グラフ・プロトコルとは)

WordPressやブログサービスでは、自動的にこのOGP情報を生成してくれています

実際にソースコードを表示させて、「og:」で検索してみると、<meta property>として指定されていることを確認できます。

ブログ共有の仕組み(OGP:オープン・グラフ・プロトコルとは)

特に、この中の「<meta property="og:image" content="https://chiilabo.com/wp-content/uploads/2020/08/20-08-21-09-57-04-906_deco.jpg?fit=2188%2C2188&#038;ssl=1">」の部分が、画像を指定しています。

OpenGraphというアイディアは、もともとはFacebookが2010年に提唱したものです。今ではFacebookに限らず、さまざまなSNSで利用されています。

What Is Open Graph Tag? – PromoRepublic

3-1. SNSが先読みする

SNSにURLが投稿されると、サーバーはリンク先を先読みして、このOGPデータをもとにブログのアイキャッチや要約を表示させています。

SNSが先読みする
SNSが先読みする

もし、OGP情報を指定していない場合は、<TITLE>や最初に表示される<IMG>などをもとに類推されます

オープン・グラフの「グラフ」というのは、右の図のような「つながり状態」のことを指しています。数学には「グラフ論」という分野があります。

SNSが先読みする

4. SNSサーバーのキャッシュ

WordPress上で設定した画像やタイトルが各種SNS上で反映されない理由として考えられるのは、各SNS上でキャッシュが残っていることが原因のほとんどです。

一度、LINEのタイムラインにURLが投稿されると、LINEのサーバーはウェブページを確認して、ブログカードを表示します。

しかし、毎回ウェブページを確認しにいくのは効率が悪いので、LINEのサーバーの中にブログカードの情報を残しておきます。そうすれば、次からはLINEサーバーに保存されている情報を表示させればよいので、通信データを節約できるのです。

このようにデータを残しておくことを「キャッシュ」といいます。

4-1. キャッシュが残っていると更新が反映されない

困るのはブログのほうを更新したときで、LINEは「キャッシュ」が残っているとブログの更新に気づかず、もとの表示が変わりません。

もしブログを書いている途中で、つまりアイキャッチ画像を設定する前に、LINEのキャッシュが作られてしまうと、後から変更しても反映されません。

Facebookの場合は、シェア・デバッガー(https://developers.facebook.com/tools/debug/)というページがあり、過去にシェアされたウェブページの情報をクリアすることができます。

LINEには、このようなサーバーのウェブキャッシュを削除する仕組みはないようです。LINEによると、2週間または1〜2日で反映される1とのことで、実際には画像の更新なら20時間程度で反映されるそうです

4-2. すぐにブログの修正を確認したい場合

もし、すぐにLINEでの表示を確認したい場合は、ブログのURLを変更します。
そうすると、別の投稿とみなされるのですぐに修正が反映されます。

とはいえ、ブログのURLを変更したくない場合もあります。
その場合は、LINEへ投稿するURLの末尾に ? を付けることで、修正を確認することができます。末尾に?が付くことで別URLと認識されるのです。

5. もしかして、カメラが原因?

しかし、今回の場合は投稿から3日以上たっても、表示が直りません。
そこで、もう少し原因を考えてみました。

思い当たることといえば、Androidで撮った写真はうまくいくのに、iPhoneで撮った写真ではうまくいかないということです。

5-1. 画像サイズ?

そこでまず考えたのは、画像サイズです。
iPhoneのカメラは画質がいいので、サイズオーバーなのかと思ったのです。

しかし、写真のサイズを小さくしたり比率を変更しても状況は変わらず、ブログのリンク画像は空白のままです。

画像サイズ?

5-2. ファイル名?

次に考えたのはファイル名です。
共有されたiPhoneの写真を見ると、「iOSの画像.jpg」などというファイル名になっています。

内部でどういうファイル名になっているのかわかりませんが、共有されると「iOSの画像」としてファイルが書き出しているようなんです。

ファイル名?
ファイル名?

これは地味に面倒で、よくファイル名が重複してしまいます。他のカメラアプリは日付などの連番表示(IMG_20200610_104027.jpgなど)が一般的なのに、iPhoneは独特なんですよね。

WordPressにアップロードした画像ファイルのファイル名は、特に指定しなければもとのままです。つまり、アイキャッチ画像のURLに日本語が混ざってしまうのです。

うまくいかなかったブログのアイキャッチ画像のURLを表示してみると、

https://chiilabo.com/wp-content/uploads/2020/08/iOS-%E3%81%AE%E7%94%BB%E5%83%8F-6-scaled.jpg?w=2560&ssl=1

iOS-%E3%81%AE%E7%94%BB%E5%83%8F-6」というのは、「iOS-の画像-6」の「URLエンコード」になっています。

そこで、いったん画像のファイル名を半角英数のみ「2020-08-27.jpg」に変更して、アイキャッチ画像にアップロードし直しました。

ファイル名?
ファイル名?

ちなみに検証する時は、サーバーのキャッシュを読み込ませないように、URLの最後に?や/をつけたりして、別のURLとして認識させました

6. まとめ:ファイル名・URLの日本語対応は完全ではない

振り返ってみると、LINEのタイムライン投稿のURLでも似たようなことがありました。

それは、ブログのURLに日本語(全角文字)が混ざっているとエラーになることです。

まとめ:ファイル名・URLの日本語対応は完全ではない

Twitter や Facebookでは、ブログURLに日本語が入っていても、そのままリンクになります。しかし、LINEのタイムライン投稿ではダメなので、わざわざURLスラッグを半角英数のみで指定する必要があります。

7. 本当にそうか?もう一度確認してみる

本当にそうか?もう一度確認してみる

とはいえ、今回きちんと確認してみると、日本語がはいっていても、URLエンコードにしていれば、投稿できました。

本当にそうか?もう一度確認してみる

7-1. OGP情報にも日本語文字列が入っていた

アイキャッチ画像も同様の仕組みのようで、URLに全角文字が混ざっていたことが読込みエラーの原因だったようです。

改めてHTMLソースコードから、og:imageの情報を読んでみます。

エラーになったページでは、content="https://chiilabo.com/wp-content/uploads/2020/08/iOS-の画像-6-scaled.jpg?fit=2560%2C2560&ssl=1"となっています。

このURLがエンコードされていない、そのままの日本語文字列なのが問題のようです。

OGP情報にも日本語文字列が入っていた

7-2. おまけ:画像を使った解決法

原因がわかるまでは、タイムライン投稿の「内容」を「URL」ではなく、「画像」にする方法で しのいでいました。

おまけ:画像を使った解決法

LINEに直接画像をアップロードする場合は、ファイル名によるエラーはありません。

ただし、アイキャッチ画像がリンクにならないため、ちょっとブログに誘導しにくいですが、投稿の見た目や機能はURLリンクと同じようにできます。

8. まとめ:ブログのアイキャッチ画像のファイル名は半角英数が無難

このような読込エラーはLINEのタイムラインに特有のものかもしれません。

解決方法としては、
  1. LINEにシステムをアップデートしてもらって、OGP情報の画像ファイルを読み込むときに、日本語文字列をチェックしてURLエンコードする処理を加える(おそらく、他のSNSにはその処理がありそうです)
  2. WordPress(あるいはブログのシステム)の方で、OGP情報の画像ファイル名前をURLとしてエンコードする
  3. ユーザーがアイキャッチ画像に日本語ファイル名の画像を使用しない

さしあたり、(3)の方法で運用しようと思います。

こちらもどうぞ。

配達やアンケートで突然LINEに来るメッセージ! これって本物? 【公式アカウントの見分け方】
配達やアンケートで突然LINEに来るメッセージ! これって本物? 【公式アカウントの見分け方】
スマホのコツ ミニテキスト配布中です! お持ちいただいたテキストをカウントしてみると… やっぱり一番人気はLINE関係の記事ですね♪ 今回はLINEで「いきなり来るメッセージ」の見方について解説します。 こんなところでもLINEは使われていますよね 日本社会ではLINEは「準社会インフラ」とも呼べるようなポジションになっています。 準社会インフラとしてのLINE ヤマト運輸や郵便局は不在配達の連絡手段としても利用しています。 先日(2020-3-31)は政府のアンケート調査で...
Googleマイビジネス、リスティングへの投稿ができるようになった ~ 新型コロナウイルスに対応するアップデートと不具合
Googleマイビジネス、リスティングへの投稿ができるようになった ~ 新型コロナウイルスに対応するアップデートと不具合
先日、お知らせしたGoogleマイビジネスへのリスティング投稿ができなくなっていた不具合ですが、本日 復旧していることが確認できました🌸 それと同時に投稿画面に変化があったので「アップデート(更新)」の注意点についてもご説明します! 先日の不具合はこちら いつもどおりに投稿するのに、何度もエラーで弾かれてしまって、ハラハラしました。 投稿画面に変化が(COVID-19の最新情報) それが今日(2020年3月27日)改めて投稿しようとすると、「投稿を作成」の画面がこのようになっ...

(補足)

  1. http://w3q.jp/q/4465https://qiita.com/birdrobe/items/7bedc3a9de43bebd12b2
QRコードを読み込むと、関連記事を確認できます。

LINEのタイムライン投稿のアイキャッチ画像が表示されない? 【OGPとURLエンコード、サーバーキャッシュ】
【スポンサーリンク】
タイトルとURLをコピーしました