昨年から20,000ページを越える大規模サイト構築に関わりましたが、20,000ページもあるとPowerCMS Xでも再構築にはそれなりに時間がかかります。「ちりも積もれば山となる」のことわざの通りです。
このような状況の中、プロジェクトの進行途中で「○○のタグを貼ってください」という依頼と共にタグが送られてくると思います。これを何も考えずそのまま貼ってしまうと再構築が面倒なことになります。
構文エラー
まずは下記のようなサイトの所有権を確認するGoogleのタグです。
<meta name="google-site-verification" content="英数字列" />
コードの末尾が/>
になっているのですが、HTML Standardでは>
でよいだけでなく、Nu Html Checkerで「Trailing slash on void elements has no effect and interacts badly with unquoted attribute values.」とInformationが出力されます。そして「HTML Checkerで何か出るから直してください!」という修正依頼につながり、大量のページを時間をかけて全再構築する羽目になります。
<script type="text/javascript"></script>
になっているのもよくあるケースで、HTML CheckerにかけるとWarningになります。もらったタグはそのまま貼らず、最新の仕様に合わせて記述しましょう。
変更に弱い
User Insightという計測ツールがあるのですが、その計測タグを</body>
の手前に貼ってくださいと依頼が来ました。ここで計測タグをそのまま貼り付けて時間をかけて全再構築をしたとします。
その後、「ボタンのクリック数を計測したいのでこの関数を追加して、ボタンにはonclick属性を付けてください!」と要望が来ます。ここでタグをそのまま貼り付けるとまた大量のページを時間をかけて全再構築する羽目になります。
</body>
の手前に貼って欲しいということは、HTMLのパースが全て終わった段階で読み込めば良いということなので、head要素に下記のように書いておけば計測の仕様が変わってもui_pcdf.jsファイルを1つ修正すれば良いことになり、時間のかかる全再構築を避けることができます。
<script src="/js/ui_pcdf.js" defer></script>
これまでに外部JSファイルにして計測に支障が出ているという話は聞いていません。
まとめ
タグもただのHTMLもしくはJavaScriptです。コードをよく観察し、最適な状態で導入したいものです。
余談
どうしても全ページのHTMLの一部分を変更したい場合、PHPで直接HTMLのソースを置換してS3に同期する技もあります。置換なので全再構築よりは速いです。