「WordPressで学ぶPHP(3)関数編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」の続編にあたり、PHP組み込みの関数や、独自の関数を作る方法などを解説します。
Kindle本で、定価400円です。
MTを使い続ける理由(その1)
最近、有力なブロガーの方が、Movable TypeからWordPressへ移行したり、移行を検討したりしています。
- Movable TypeからWordPress移行の波がくる?(NETAFULL)
- WordPressの好きなところ(IDEA*IDEA)
- ブログをMT(3.32)からWordPressに移行しました(akiyan.com)
確かに、WordPressは一般的な個人ブロガーには適していると思います。
ただ、私の用途では、WordPressは適していない点がいくつかあります。
そのため、当ブログをWordPressに移行することはありません。
今日から数回に分けて、私がMTを使い続ける理由を書いてみたいと思います。
1.「再構築がない」ことの代償
多くの人が指摘しているように、「WPには再構築がない」点は大きいです。
「MTだと、テンプレートをカスタマイズするたびに再構築が必要で、待たされるのが嫌」という方にとっては、WPはうってつけでしょう。
また、MTでも、PHP等を駆使すれば再構築をかなり減らすことが可能です。
しかし、WPならそもそも「PHPを駆使」といった複雑なことをする必要はありません。
ただ、「再構築がない」ことには、デメリットもあります。
WPは表面的には再構築はありません。
しかし、読者がページにアクセスするたびに、動的にページが構築されています。
アクセスが少ないブログなら、この仕組みでも特に問題にはならないでしょう。
しかし、アクセスが多くなってくると、動的な再構築はサーバーにそれなりに負荷をかけます。
そのため、アクセスがきわめて多いブログだと、ページにアクセスしたときに500エラーや503エラーが出て、ページが表示されないことが起こり得ます。
また、多くのユーザーが共有しているレンタルサーバーのように、慢性的に負荷がかかっているサーバーでも、ページが表示されないことが起こり得ます。
ちなみに、IDEA*IDEAでも、WPにしたときのサーバーの負荷を問題としてあげていました。
また、野田(Junnama)氏の以下の記事のたとえ話も参考になります。
WordPressとMovable Typeと動的生成と静的生成と再構築とか。
なお、個人的には、以下のような理由で再構築は特にストレスになっていません。
- MT4.2でプレビュー機能が充実したので、テンプレートをカスタマイズする場合も、プレビューで確認できるようになった
- MT4.2で再構築が大幅に高速化した(ちなみに、当ブログを全再構築するのにかかる時間は、およそ8分)
- サイドバーなど、カスタマイズする頻度が高い箇所はPHP化しているため、全再構築をすること自体がほとんどない(月に1回するかしないかという程度)
2.テンプレートタグの設計思想
MTもWPも、テンプレートに基づいてブログのページを出力します。
ブログのデータは「テンプレートタグ」によって出力されます。
MTでは、ほとんどのテンプレートタグはデータのみを出力し、HTMLのタグは出力しません。
一方のWPでは、データだけでなくHTMLも一緒に出力するテンプレートタグがあります。
例えば、MTでカレンダーを出力するには、カレンダー関連のタグをいろいろ組み合わせる必要があります。
一方、WPなら「get_calendar」のタグ1つで、カレンダーが出力されます。
WPの仕組みには、テンプレートを組みやすいというメリットがあります。
しかし、データの出力方法を細かくいじれない、というデメリットがあります。
例えば、カレンダーを横1列に表示したいとします。
MTなら、テンプレートタグの組み方を変えれば実現できます。
一方のWPだと、プラグインを作るなりする必要が出てしまいます。
個人的には、WPのテンプレートタグの仕組みは、柔軟性が低いので好きになれません。
3.自動フォーマットが邪魔
WP/MTとも、記事を自動的にフォーマットして出力する機能があります。
MTだと、記事ごとにフォーマットをするかしないかを選ぶことができます。
フォーマットを「なし」にすれば、入力したものを全くフォーマットせずに、そのままブログに出力することができます。
一方、WPではフォーマットは無条件に行われます。
一般的にはそれで特に問題はありません。
しかし、記事中にJavaScriptを埋め込む時などに、自動フォーマットによってJavaScriptが動作しなかったりすることがあります。
当ブログの記事の中には、フォーマットなしで書いているものも多数あります。
MTのように、記事ごとにフォーマットをするかどうかを自由に選べないと、個人的には非常に困ります。