OGP(ブログカード)が反映されない時の解決方法【HTML】

OGP(ブログカード)が反映されない時の解決方法【HTML】
OGP(ブログカード)が反映されない時の解決方法【HTML】

ブログカードとOpen Graph Protocol(OPG)

URLをつけて投稿するとSNSなどにカードのように表示されるこれ。

Open Graph Protocol(OGP)規格と呼ばれるメタタグを、ヘッダーに埋め込むことでコントロールできる。

<meta content="description説明が入ります" name="description" />
<meta content="og:titleタイトルが入ります" property="og:title" />
<meta content="article" property="og:type" />
<meta content="https://works.kamityping.com/post/2018/index.html" property="og:url" />
<meta content="https://works.kamityping.com/post/2018/images/kamityping-icon.png" property="og:image" />
<meta content="og:description説明が入ります" property="og:description" />

Pandocで自作ジェネレーターを組んでHTML生成しているとこういったこともすべて自分でやらなければならない。現在のWEBの仕組みに詳しくなると同時に、CMSやブログサービスがこういったことを自動でやってくれていたありがたみがわかる。

OGPに関してはこちらに詳しい規格が書いてある。

The Open Graph protocol

The Open Graph protocol

OGPが反映されない

Twitterなどでブログカードを反映させるまでにトラブルがあった。まずは、現状でブログカードがどのように反映されるか確認できるツールがある。

シェアデバッガー

シェアデバッガー - Facebook for Developers

確認するとこの警告がでた。

SSL証明書を検証できません。 自己署名(ブラウザの警告を引き起こす)または無効です。
Can't validate SSL Certificate. Either it is self-signed (which will cause browser warnings) or it is invalid.

サブドメインで運営しているためか、Let's Encrypt関連でうまくいっていないようである。 ルートドメインではエラーは吐かなかった。

バーチャルホストの鍵のパスをいじる

letsencryptは4つの鍵を生成する。

ファイル名意味
privkey.pem秘密鍵(SSL/TLS サーバ証明書の公開鍵に対応する)
cert.pemSSL/TLS サーバ証明書(公開鍵を含む)
chain.pemアクセス時にブラウザに提供する必要のある中間証明書
fullchain.pemSSL/TLS サーバ証明書(公開鍵を含む)と中間証明書の両方が含まれているファイルで、cert.pem と chain.pem の内容が結合されたものです。

chainの指定を追加したらなぜかうまくいったが、問題はさらに続く。

SSLCertificateFile /somewherepath/fullchain.pem
SSLCertificateKeyFile /somewherepath/privkey.pem
#以下追加
SSLCertificateChainFile /somewherepath/chain.pem

VirtualHost 443の複数記述

Virtualhostのconfに下のように複数記述していた。どうも書き方が間違っていたようだ。複数設定すると最後の設定のみが反映されてしまうようで、ドメイン証明書が使われてしまいブラウザーでエラーとなっていた。

<VirtualHost *:443>
...#サブドメイン1
</VirtualHost>

<VirtualHost *:443>
...#サブドメイン2
</VirtualHost>

<VirtualHost *:443>
...#サブドメイン3
</VirtualHost>

443に関する記述を消して、ssl.confをドメイン毎に書き直した。現状1つのドメインしかsslを必要としていないのでssl.confをrenameして使っただけだが、他のサブドメインにsslを設定したい場合はこのssl.confをコピーして編集すれば良さそうだ。

cp ssl.conf subdomain1.ssl.conf

SSL Server Test

自分のサーバーのSSLが最適化されているかテストしてみた。B評価だった。そのうちAになるように対応してみたい。

Qualys SSL Labs

SSL Server Test (Powered by Qualys SSL Labs)

画像キャッシュサービス

画像キャッシュにより画像表示を高速化できるサービス。

Images.weserv.nl

Image cache & resize service

関連記事

最後までご覧いただきありがとうございます!

▼ 記事に関するご質問やお仕事のご相談は以下よりお願いいたします。
お問い合わせフォーム