HTML-lintを使い正確なHTML構文を心がけましょう

当サイトはXHTML1.1を目指して記述してます。しかし、いざ調べてみると、自分でも気づかない過ちを犯していました。

最早、HTML4.01の知識は通用しません。基礎的な変更点と使用可能タグ、HTML4.01とXHTML1.1思想的変化を理解しておく必要があります。幸いXHTML1.1はシンプルでコンパクトな仕様なので、設計思想さえ理解すれば困ることはありません。

  1. タグは文章の意味付けのためだけに使用する。装飾に使うのは望ましくないので、そちらはCSSを利用。
  2. タグのクロスオーバーは解釈が難しくなるので避ける。
  3. 全ての動作はユーザが選べるようでなくてはならない(aタグのtarget廃止)

これらを実践するとSEO的にもよりよいものになると思われます(常に検索上位に露出すると言う意味ではない)

そこで、構文チェックをしてみましょう。以下はHTML構文の正確さを検証するオープンソースのオンラインプログラム。
W3C HTML Validation Service
W3C CSS Validation Service

これらもプログラムであるため、100%正確であると保証されてはいないです。しかし、我流でHTMLタグを打ってる人は一度はチェックしてみましょう。

CIDR形式によるIP範囲でのアクセス拒否方法

htaccessの見直し。百度とコメントスパムをよりスマートに撃退するようにしました。

百度(Baidu)は未だに行儀が悪いです。一応、以前よりは改善され、robots.txtをなるべく読み込もうとしてます。しかし、htaccessで規制したままでは読み込んでくれません。下手すると執拗に巡回BOTがアクセスを試みるかもしれません。

そこで、robots.txtだけは読めるようにしてみましょう。

<Files robots.txt>
    Allow from all
</Files>

もうひとつ、最近来るようになったコメントスパムの規制。今回は特に目立つunknown.ord.scnet.net、unknown.hostforweb.netについて。

これらは逆引きでIPを得られないホストです。どうやら、スパマーはホスト詐称を行っている様子。本来は全く別のホストから攻撃を行っているのでしょう。下記IPアドレスはほんの一例です。

order allow,deny
allow from alldeny from 66.225.201.0/24 #unknown.ord.scnet.net
deny from 216.246.79.0/24 #unknown.hostforweb.net

deny表記のネットマスクはCIDR形式にしてあります。192.168.0.0/255.255.255.0のような形式でもOK。CIDR形式は読みにくく、記述には慣れが必要かもしれません。

詳しくはIPアドレスとネットマスク(@IT)を参照して下さい。

CIDR形式192.168.1.0/255.255.255.0192.168.1.0/24後者の「/24」という表現であるが、これは、ネットマスクを構成する32bitのうち、最上位から24bit目までが1である、ということを表している。「255.255.255.0」という数値を2進数で表現すると、最上位(左端)から数えて24bit目までが全部1で、残り(25bit目から右端の最下位bitまで)は0である。これを「/24」と表現する。