Open6

Twitterカード、og:titleが<script>から始まると表示されない

catnosecatnose

ページのog:title(もしくはtwitter:title)が<script>から始まるとTwitterカードが表示されないことに気づいた。色々と試した結果をまとめておく。
<>はエンコードされた状態での検証。

catnosecatnose

タイトルが<div>から始まる場合 → 表示される

<meta property="og:title" content="&lt;div&gt;テスト"/>

catnosecatnose

タイトルが<script>から始まる場合 → 表示されない

<meta property="og:title" content="&lt;script&gt;テスト"/>

Card Validatorでは「Required meta tag missing ...」というエラーが表示される

catnosecatnose

タイトルが<script />(空要素)から始まる場合 → 表示される

タグに/をつけて空要素とすると表示される

<meta property="og:title" content="&lt;script /&gt;テスト"/>

catnosecatnose

<script>が途中に含まれる場合 → <script>以降が消える

<meta property="og:title" content="テスト&lt;script&gt;テスト"/>