a-blog cms 2.0 の機能を考えてみた「静的出力機能編」

2013年10月20日 CMS #ablogcms

基本的には運用時にはシステムで用意されているキャッシュ機能を利用する事でオフの時と比べて10倍以上は速くなる。これで随分多くのアクセスを快適に処理できるが、もっと速くしたいという事になると別のキャッシュサーバを用意するのがオススメだ。

詳しくは a-blog cms の開発ブログ「a-blog cmsでnginx(キャッシュサーバ)を使ってみる」を読んで下さい。これで効率的に必要な部分のHTMLをキャッシュしてCMS自体の負荷をあげない事が可能になると思います。

それでも、静的HTMLが最強!って思う人もいるようなので、今回はサイトの動的生成を諦めて静的出力するための仕様を考えてみたいと思います。



a-blog cms の仕様として問題になりそうな点として、URLコンテキストの表記の仕方という部分が一番の問題になります。

例えば、お知らせ(news)の一覧ページのURLであらわすと /news/ になりますが、この2ページ目は /news/page/2/ になります。これをそのまま静的出力すると page というディレクトリに 2 というディレクトリを作り index.html を生成する感じになります。これは酷いサイトになってしまいそうなので、このディレクトリっぽい表記自身がダメという事になります。他にもカスタムフィールドを利用したようなコンテンツを絞り込んで表示させるような一覧についても同様です。

通常ページがデフォルトで entry-1.html という感じなので、ここでは page-2.html という一覧ページを生成し、ページャー部分のリンクをこのような感じにして対応させます。

タグの絞り込みや、検索機能、フォームも使えない事になります。とことんシンプルに機能を絞っていく事になり、以下のようなHTMLを作る事になると思われます。

  • トップページ
  • カテゴリー毎の一覧ページ(1ページ目はindex.html、それ以降はpage-2.htmlのような表記)
  • エントリー毎のページ

全てのコンテンツが動的コンテンツだった場合には、これで大丈夫な気もするのですが、a-blog cms の良さであるコンテンツの一部だけをCMS化できるようにするという部分も考慮して静的出力できるようにする事にも対応できれば、その方がいいだろう。

その際には、利用しているテーマを書き出し先に一度コピーした後に、各フォルダの中にHTMLファイルを探して、1ファイルづつCMSで実行しつつ、再度上書きしていくようなプロセスが必要になると思う。一覧(index.html)、詳細(entry.html)、トップ(top.html)は必要無いので何かルールを作って_top.html のような名前でテンプレートは作り、アンダーバーで始まるファイルは静的出力をしないという感じにすると無駄なHTMLファイルが無い状態になる。

こんな仕様であれば、なんとか用意する事はできそうな気がするが、これを使う人がいるだろうか? これでイイってのは a-blog cms の機能として制限が入る事になるので、少し残念な気もするんだが...

ちょっと 2.0 には無理かもしれないけど書いてみました。

著者写真
この記事を書いた人
山本 一道 / 有限会社アップルップル 代表

名古屋のWeb制作会社 (有)アップルップル代表。HTMLファーストな国産CMS「a-blog cms」開発・販売・サポート / 名古屋のWeb制作者コミュニティ「WCAN」主催 / コワーキングスペース「ベースキャンプ名古屋」運営。Web制作の現場をより良くするための活動をしています。

@kazumich

関連記事

この記事のハッシュタグ #ablogcms から関連する記事を表示しています。

バイブコーディング時代に a-blog cms が再評価される理由。 Gemini 3 / Nano Banana Pro で変わるWeb制作
バイブコーディング時代に a-blog cms が再評価される理由。 Gemini 3 / Nano Banana Pro で変わるWeb制作
なぜHTMLファーストな a-blog cms は長期運用に優れているのか
なぜHTMLファーストな a-blog cms は長期運用に優れているのか
a-blog cms Training Camp 2025 を開催しました
a-blog cms Training Camp 2025 を開催しました
a-blog cms 3.2 を MAMP にインストールして最後に Internal Server Error になる時には
a-blog cms 3.2 を MAMP にインストールして最後に Internal Server Error になる時には
a-blog cms 3.2 をリリースしました
a-blog cms 3.2 をリリースしました
CMS のカスタムフィールドコード、ハイフンとアンダースコアどちらを使うべきか?
CMS のカスタムフィールドコード、ハイフンとアンダースコアどちらを使うべきか?