HTML4.01文書 (XHTML1.x文書) を最新のHTML5 (HTML LS) 文書に換えるべきか

私の結論

建前としては、すべてのHTML文書は最新の仕様に準拠すべきと思いますが、HTML4.01/XHTML1.x (以下、「HTML4.01」のみの表記とする) をHTML5/HTML LS (以下、「HTML5」のみの表記とする) へは自動変換出来ないため人間が内容を理解して適切なマークアップに変換する必要があります

つまり、HTML4.01からXHTML1.0の時のような自動変換が可能だった時と違い、HTML5への変換はかなりの労力が必要になる行為になりますので、そのHTML4.01文書はHTML5に換える価値があるのかを個別に判断する必要が生じます

よって、本音としては、単に人間が読めればよいならHTML4.01文書のままでもよいと思います

ただし、HTML5文字コードが実質utf-8のみになったことにより今後utf-8決め打ちでHTMLを解析するツールなどが増えると思いますし、HTML4.01をサポートしないUAの存在を想定した場合、マークアップはHTML4.01のままでも文字コードutf-8にした方が良いと考えます


以下は蛇足です

HTML4.01文書はHTML5文書へは自動変換することができないということ

もし既存のHTML4.01文書をHTML5文書にツールなどで自動変換できるなら、HTML4.01文書をHTML5文書に換えるべきかなどと考える必要はなくサーバーやブラウザにでも任せればよい話でです

しかし、以下のHTMLの断片を考えてみます

<div class='section'>
  <h1>A</h1>
  <p>B</p>
  <div class='section'>
    <h2>C</h2>
    <p>D</p>
  </div>
</div>

<div class='section'> とあるので、HTML5のsection要素の様な気がしますが、内容を読んでみないとsection要素なのか、それともarticle要素やaside要素、header要素、footer要素なのか判断できません

他にもHTML4.01からHTML5になるにあたり同名要素だが要素の意味が変わっているものがあり、そのままの要素名でよいか別な要素としてマークアップすべきかは人間が個別に判断せざるをえない場合が多々あります

人間が読めればよいならそのままでも困らない

恐らく各browserは当面HTML4.01のサポートを辞めないと思いますし、辞めたとしてもHTML4.01文書として適切にマークアップされていればHTML5として処理されても人間が読む分には困らないと思われます

ただ、次善の状況としてHTML4.01文書がHTML5文書として処理されることを期待するならマークアップはHTML4.01文書のままでも文字コードだけはutf-8に変更した方が良いと考えます

不特定多数にWeb scraping対象として提供している場合、書き換えるべき

既存のHTML4.01文書が今後とも不特定多数にWeb scraping対象として解析されること期待するなら、内容を更新する予定がなくてもHTML5文書へ換えた方が良いでしょう

ただし、HTML4.01文書をWeb scraping対象としている利用者が具体的に想定できる場合、HTML4.01文書とHTML5文書を共存させる移行期間などが必要になるかもしれません


Web scrapingの対象という意味ではSEOも話に範疇に入りますが、特定の検索エンジンへの対応についてはその検索エンジンの運営者に聞いてください