PageSpeed Insightsでdocument.writeを指摘されました。メッセージでは外部スクリプトについて書かれていますが、トップページ(ホームページ)についても指摘されていました。
指摘されたままだとあれなので、わかる範囲で対応したいと思います。
この変更は「やってみたらこうなった」という水準なので正確性は担保できません。もし変更する際は留意してください。
HTMLを編集します。必ずバックアップを取ってから作業してください。
変更する場所
トップページ(ホームページ)の日付を表示させる部分のコードを変更します。QooQ ver.1.27_list版での説明になりますが、変更する場所自体は変わらないと思います。
QooQ ver.1.27_list版だと1292行目の
<p class='list-item-date'><script type='text/javascript'>document.write(jsdate)</script></p>
の<script type='text/javascript'>document.write(jsdate)</script>
を<data:post.date/>
に置き換えました。
<p class='list-item-date'><data:post.date/></p>
これだけでもいいと思いますが、ついでに呼び出し元のスクリプトを削除しました。
1281行目から1283行目にあるこのコードを削除
<b:if cond='data:post.dateHeader'>
<script type='text/javascript'>var jsdate = "<data:post.dateHeader/>"</script>
</b:if>
削除がいやならば<!-- -->
でコメントアウト。
<!-- <b:if cond='data:post.dateHeader'>
<script type='text/javascript'>var jsdate = "<data:post.dateHeader/>" </script>
</b:if> -->
もしくは<b:comment>
をつかう。
<b:comment>
<b:if cond='data:post.dateHeader'>
<script type='text/javascript'>var jsdate = "<data:post.dateHeader/>" </script>
</b:if>
</b:comment>
<b:comment>
についての参考サイト
外部から読み込まれるもの
外部から読み込まれるものについては残念ながら指摘されます。
理解した範囲
日付に使われるデータタグは何種類かある。以下は一例。
<data:post.dateHeader/>
- 同じ日に複数の投稿をすると一番新しい記事だけに日付が表示され、古い記事には表示されない。
<data:post.timestampISO8601/>
- 好みの表示形式にするにはJavaScriptで変換が必要
<data:post.timestamp/>
- 好みの表示形式がありませんでした。:(
<data:post.date/>
- 今回はこれにしました。
- 表示形式を"年月日"にする場合は、レイアウト - ブログの投稿ガジェットの編集 - 投稿ページのオプションからの変更がいいみたいです。
自分の環境だけかもしれませんが新しいBlogger UIだと、設定 - フォーマット [日付ヘッダーの形式]では"年月日"(+ 曜日)の順の表示形式がありませんでした(選択肢にない)。
旧 UIの言語と形式の設定からだと選択肢に出るのですが。。。
コメントなし: