メモ:拡張子をhtmlに統一
拡張子が3種類あった理由
このサイトでは、拡張子がhtmのもの、htmlのもの、shtmlのもの、の3種類のhtmlファイルが混在していた。
例:
- unicode.htm
- index.html
- books.shtml
なぜ、このように3種類があったのかというと、Webサイト(ホームページ)を作り始めたころ、「拡張子はhtmでもhtmlでもよい」という文を見て、少しでも簡単そうな.htmにした時があったからである。
また、shtmlについては、「SSI機能を使用するファイルは拡張子shtmlにしておくとサーバの負担が小さくなる」という説明文を見て、.shtmlも使用していた。
比率としては、htm、htmlファイルが各30個くらい、残り約1,100個は拡張子shtmlであった。
拡張子を統一すべき理由
- フォルダ内のファイル一覧がすっきりする。
- ほとんど同じ機能をもったファイルなのだから拡張子も同じ方がよい。「あれはfile.htmだった? file.htmlだった?」などと考える必要がなくなる。
- Windowsはデフォルトで拡張子shtmlのファイルをhtml文書とみなさないので、コンピュータを買い換えたりWindowsを再インストールした時は拡張子shtmlをhtml文書としていちいち登録する必要があり面倒である。
- ほとんど全てのページでSSIを使用しているのだから、SSIを使うページに限って拡張子をshtmlにするメリットがゼロに近い。
- 世間的に拡張子htm、shtmlが使われている例はあまり見ない。(古くからあるサイトのファイルは別にして…)
拡張子統一プロジェクトの流れ
- フォルダ「website」(←例)をコピーし「website-new」を作る。
- フォルダ「website-new」内のファイルの拡張子を一括変換。…これは「拡張子を変えるやつ」というソフトを使うと便利である。フォルダ内(サブフォルダ含む)の拡張子htm(←例)をhtml(←例)に一括変換してくれる。
- 文書内のリンク記述を修正する。…例えばfile001.htmlの中では<a href="file002.htm">ファイル002</a>という記述のリンクが張られているが、これを「file002.html」に直すわけである。これもいちいち直すのは大変なので、複数テキストの一括変換を利用する。但し、外部サイト(例:http://hogehoge.com/abc.htm)へのリンクは拡張子を変更してはならないことに注意。
-
RedirectMatch (.*)\.shtml$ $1.html [R=301,L]
RedirectMatch (.*)\.htm$ $1.html [R=301,L]
などと書かれた.htaccessファイルを作る。
- 修正が終わったら「website-new」全体をアップロードする。
- 「website-new」のリンクチェックをする。…これには「Websiteエクスプローラ」というソフトを利用した。
- 問題なければ、来訪者の少ない時間帯を見計らって、サーバ上のフォルダ「website」を「website-old」に名前変更し、「website-new」を「website」にする。
- .htaccessファイルを適切なフォルダにアップロードする。
- Googleにsitemapの修正版を送る。
4番めのRedirect云々は直リンク対策である。拡張子をhtmからhtmlに変更すると、「http://mywebsite.com/file001.htm」というリンク(古い拡張子のままになっている)をたどって来た来訪者には「そんなファイルはありません」とエラーメッセージを出してしまうのであるが、.htaccessファイルに上記Redirectの文を書いておくと、来訪者を「同名.html」に飛ばしてくれる。きわめて便利な機能である。
参考までに、Googleに送付したsitemap(テキストファイル)へのリンクを張っておこう。「.htmlだけが整然と並ぶこのすっきりさは魅力的」と思うはずだ。
sitemap.txt
関連サイト
微ニ入ル統一シリーズ
- 拡張子をhtmlに統一 … .htm、.htmlを統一(今見ているページ)
- wwwの有無を統一 … www.ysugiyama.com、ysugiyama.comを統一
- index嫌い … index.htmlなしに統一
- 文字コードをUTF-8に統一 … (ファイル未作成)
[2011-05]
ホーム>倉庫(I)>