スタイルシート編の対策で、とりあえず小さい画面でも見られるようになった訳ですが、実はこれだけでは問題があります。
それは、スタイルシートへの対応が不十分なUA(例えば携帯の簡易ブラウザ)には効果がないということです。
それから、たとえスタイルシートで非表示にしたとしても、UAに送られるWebページのデータは変わらないということ。 つまり、表示されないムダなデータが送られているということです。
これは単に送受信に時間がかかるだけの問題ではありません。 携帯電話などはパケット単位で課金されますから、閲覧者のコストに直接響きます。
そこで表示させないコードは、SSIを使ってWebサーバーから送らないようにします。
まずメインページですが、
<!--#set var="UA" value="$HTTP_USER_AGENT" -->
<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" --><$mt:Include module="サイドバー"$><!--#endif -->
というように囲みます。 これでサイドバーのコードは送信されません。
カテゴリーや日別/月別アーカイブなども同様に変更します。
ブログ記事テンプレートは、
<!--#set var="UA" value="$HTTP_USER_AGENT" -->
<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" --> <$mt:EntryTrackbackData$><!--#endif -->
とか、
<!--#if expr="($UA != /KDDI/) && ($UA != /DoCoMo/) && ($UA != /FOMA/) && ($UA != /NetFront/) && ($UA != /Windows CE/)" --> <$mt:Include module="サイドバー(ブログ記事)"$><!--#endif -->
などを出力を抑制します。
トラックバックやコメント欄についてはお好みでどうぞ。