from :: Asahikawa Hokkaido

passer-by198

primetime pencil

2014/08/14


Posted

Bloggerの「ヘッダー」「人気の投稿」で読み解く「HTML」の問題点「inline css」「comment out」「未使用の条件分岐」

概要


Blogger のヘッダーガジェット「Header1」や…

人気の投稿ガジェット「Popular Posts」って…

なんとなく…こんなもんだろう…的な感じで…

検証が疎かになりがちです…

まぁ…例によって自分基準ですが

でも考えてみれば…表示方法を設定出来るって事は…

それだけの「HTML」を内包しているって事です…

裏を返せば…設定した以外の「HTML」は…

単に…ページレンダリングの足を引っ張るだけの…

無用な存在に他なりません…

なので…ガジェットの中でも「ヘッダー」「人気の投稿」という…

Blogger で書いている管理者なら…

ほぼ…導入しているであろうガジェットを中心に…

カスタマイズというよりは…チューニング的な感じで進めて行きます…

あれ…「ブログ アーカイブ」は

…と…疑問に思われた方もいらっしゃるでしょうが…

「Popular Posts」と「Recent Posts」を実装すれば…

 最近の投稿「Recent Posts」の構築と自動生成するスクリプトのリスクについての考察



「ブログ アーカイブ」は不要というのが持論ですので解説は無しです…

先ずは…基本的なチューニングポイントを書いておきましょう…

「HTML」のチューニングポイント


必ずバックアップしてから作業を行って下さい

コメントアウト「comment out」の削除


デフォルトのテンプレートやサードパーティ製のテンプレートでは…

カスタマイズ時に分かり易くするためでしょう…

漏れ無く…説明用の「コメントアウト」が付いてきます…

代表的なのが…ガジェットを追加すると必ず含まれている…

 <!-- only display title if it's non-empty -->

…です……迷わず削除しましょう…

もし…タイトルを空欄のまま使用している場合は…
  1. <!-- only display title if it's non-empty -->
  2. <b:if cond='data:title != ""'>
  3. <h2 class='title'><data:title/></h2>
  4. </b:if>
…の記述ごと削除しましょう…他の様々なコメントアウトも…

意味を理解出来るのなら…「HTML」には全くもって不要ですので…

「HTML」のダウンサイジングのために削除しましょう…

インラインスタイル「inline css」の削除


「HTML」には…先生が「PageSpeed Insights」で…

HTML コード(コード内のインライン JavaScript と CSS を含む)を縮小すると、データ サイズを大きく削減でき、ダウンロードや解析の速度を向上させることができます。

…と言っているにも拘らず「inline css」がガッツリと含まれています…

所謂…「style='……:……;'」…ってやつですね…

コレね…ハウツー系の記事を書く場合…便宜上…頻繁に使うんですが

例えば…画像などの回り込み解除…などなど…で使うこれらは…

 <br style='clear:both;'/>
 <div style='clear:both;'/>

導入する場合は…ちゃんと「CSS」にまとめてから…
  1. br.clear,div.clear{clear:both}
このように…「class」で呼び出すのが基本です…

 <br class='clear'/>
 <div class='clear'/>

あなたのテンプレートにもたぶん「inline css」が驚くほど潜んでいる事でしょう…

これを機に…徹底的に見直してみては如何でしょう

「inline JavaScript」の削除と圧縮


インラインのスクリプトに関しては過去記事をお読み下さい…

 Bloggerのページレンダリングをブロックする…その「inline JavaScript」は本当に必要ですか?



「未使用の条件分岐」の削除


下記で…「ヘッダー」「人気の投稿」に絞って解説します…

ヘッダー「Header1」の検証


「Header1」の「HTML」



もし…ヘッダーに画像を使っていなかったり…

私のように…「画像」「検索フォーム」「リボン」などを…

別途…「position」プロパティで配置している場合は…

赤文字部分が不要です…バッサリ削除しましょう…っていうか…

私的には…「Header1」で画像を指定するのは…

読み込み遅延に直結する「HTTP リクエスト」が発生するので……非推奨です

別途…こんな感じで…領域を設定して…
  1. <div id='header-top'>
  2. <b:section class='header-top' id='header-top' showaddelement='yes'/>
  3. </div>
「HTML/JavaScript」ガジェットを追加してから…

「position」プロパティで「base64」変換した画像を配置すべきです…

画像をbase64エンコードするツール / Syncer  



人気の投稿「Popular Posts」の検証


ガジェットのタイトルに過去記事のエフェクトを適用させていますし…

 jQuery UI Extra-5 : HTML要素のマウスホバー時に光源がカーソルに追従するエフェクト



回り込み解除は…上記…『インラインスタイル「inline css」の削除』の通り…

クラス名で呼び出していますので…

デフォルト状態とは…多少違いますが…ご勘弁を… σ(^_^;)

「Popular Posts」の「HTML」



4パターンに分類して条件分岐していますね…

それぞれの条件分岐で表示されるコンテンツは…

(1) No snippet/thumbnail  「title」
(2) Show only snippets  「title」+「snippets」
(3) Show only thumbnails  「thumbnails」+「title」
(4) Show snippets and thumbnails  「thumbnails」+「title」+「snippets」

…ってな感じです… 当サイトでは…

「title」+「snippets」で表示させていますので…

赤文字部分が不要で…バッサリ削除しています… ( ̄ー ̄) 邪笑®

おわりに…


「HTML」のダウンサイジングのためには…

チューニングはマストです…

ガジェットを追加すればゴミが溜まります…

WordPress などで…よく見かけるでしょ

Plugins を入れすぎて欠伸が出る程遅いサイトを…

そんな事態に陥らないためにも…

チューニングは常日頃から心に留めておきましょう…

「.com」でアクセスすると例外なく…

「.ca」にリダイレクトされてしまいますので

「.jp」アドレスでアクセスして「Waterfall」を見てみると…

「Blocking」が激減して…カスタマイズ好きとしては…地味に嬉しい

以上です…最後までお読みいただきましてありがとうございます…


0 Comments :

「jQuery」と「jQuery UI」で HTML に彩りを添えよう…


「導入」「Button」「Accordion」「Tabs」「Effects/Slide」
「Progressbar」「Dialog」「Tooltip」「Menu」
「Extra」 / 公式「Widgets」以外の「jQuery UI」スクリプト
Blogger Template Customize Universal / INDEX

Blogger テンプレート・カスタマイズ / 全般を解説
高速化・最適化対策の結果と備忘録