当ブログの制作環境

 当ブログは静的サイトジェネレータ『HUGO』を使用して構築しています。 アダルトサイトをわざわざ静的サイトジェネレータを使用して管理・運営するような 奇特な人は日本で(世界でも?)僕ぐらいのものだと思います。理由は後述。

 なお、ここから下記にあてはまる方向けの長文になるので引き返すことを強く薦めます。

・アダルトサイトでサーバ代にお困りの方

・ブログを運営したいが主流とは違う方法で運営してみたい方

静的サイトジェネレータとは

 静的サイトジェネレータとは、一言で言うと静的サイトを生成するツールです。 静的サイトというのは、HTMLやJavascript、CSSといった、 昔ながらの静的なファイルのみで構成されるサイトを指します。

 対して、CGIやPHPはサーバ側で動作してHTMLを返す処理を実行します。これは動的です。 以前まで当ブログはWordpressを使って運営していました。 WordpressはPHPで処理を行うので動的サイトといえます。

 動的サイトは自由度が高い反面、サーバ側で動作するのでサーバに負荷がかかります。 Wordpressは特にそれが顕著です。 一方、静的なサイトはサーバに負荷がほとんどかからないので安価なサーバでも大丈夫です。 そのかわり自由度が低いのでブログ形式のサイト運営は難しいです。 それを解決するのが静的サイトジェネレータです。

 静的サイトジェネレータを使用することで、ブログのように カテゴリやタグといった情報を含む複雑な構成のサイトを、 自分のパソコン内で構築することができます。 それをアップロードすることで、CGIやPHPが動かせないようなサーバでも ブログを運営することが可能になります。

『HUGO』とは

 HUGOは【ヒューゴ】と読みます。脳内でフゴーと読んでいるのはここだけの話です。

 静的サイトジェネレータは色々な特色を持つものがリリースされています。 その中でもHUGOはサイトの構築が爆速であることで有名です。

 2018年3月中旬時点で、当ブログの構築時に約200個のファイルを生成していますが、 それに必要な時間は190msです。0.19秒で完了します。 おそらくですが、1000個のファイルを生成するのに1秒かからないはずです。

 具体的な性能比較については、こちらのブログを見てもらえれば HUGOが如何に高速で動作するかおわかり頂けると思います。

 静的サイトジェネレータの生成時間比較 - 嵐の小舟より

 他の静的サイトジェネレータを使用していたけど構築の遅さに耐えきれなくなって HUGOに乗り換えた、という人が多いようです。

アダルトサイトはWordpressが主流

 前述のとおり、静的サイトは安価なサーバでも問題なく動きます。つまりサーバ代が安く済みます。 しかし現実にはブログ形式のアダルトサイトの大半がWordpressで運営されています。 Wordpressはとにかくサーバに負荷がかかる、重いことで知られています。 負荷を軽くするための様々なキャッシュ系プラグインが存在しており、当ブログも導入していましたが それでも重い。そのためサーバ代がかかります。なぜアダルトサイトはWordpressを使うのか。

 その理由は簡単で、Wordpressであれば複数のブログを容易に作成・管理できます。 加えてWordpressはオープンソースなので無料で使用できます。 利用者が多いことから、導入に関する情報が充実しており、 様々なプラグインが公開されていて好きな機能を実装できます。 この敷居の低さが、アダルトサイトでWordpressが使われている最大の理由でしょう。 少なくとも僕はそうでした。

 また、Wordpressのような動的サイトは、とにかくセキュリティ面が重要とされています。 その点で、頻繁なアップデートにより脆弱性対策が行われているWordpressは セキュリティ面でそれなりに安心できるツールでした。

静的サイトが普及しない理由

 セキュリティの面でいえば、そもそも静的サイトが最強です。 Wordpressのアップデートが頻繁に行われているとはいえ、いたちごっこですし、 セキュリティ系のプラグインを導入したりと面倒な点もありました。 静的サイトはセキュリティリスクが少ないので根本的に安心です。

 しかし難点もあります。動的サイトではないので、 記事ごとにコメント欄を設けたり、サイト内を検索したりといった事が自前ではできません。 あえて自前では、と書いたのは、外部サイトに頼ることでどちらも実装できるからです。 アダルトサイトの場合、コメントはともかく、検索を外部サイトに頼るのは2つの理由から若干の抵抗があります。 なお、ここでの外部サイトとはGoogleのことを指しています。

 外部にサイト内検索を頼ると、検索する単語によっては結果の精度が著しく低くなります。 わかりやすい例として、『東方』で検索したと仮定します。 Wordpressであれば、本文、タイトル、タグ、カテゴリ名のいずれかに『東方』を含む記事を検索結果として表示します。 しかし検索を外部に頼ると、『東方』を含むページ全てを検索結果として表示してしまいます。

 この2つ、似ているようで全然違います。 ブログ形式のサイトであれば、カテゴリやよく使われるタグの一覧をサイドバーのどこかに表示することが多いと思います。 東方のふたなり作品は極めて多いので、カテゴリやよく使われるタグとして『東方』は確実に含まれるでしょう。 故に、全てのページのサイドバーに『東方』の文字が含まれます。 そのため『東方』で検索すると、東方と無関係な全てのページが検索結果に並びます。

 また、2つ目の理由として、Wordpressの自前検索であれば、公開している記事は全て検索対象に含まれますが、 外部に頼る検索ではGoogleにインデックスされていないページが検索対象に含まれない問題があります。。 公開直後の記事が検索結果に並ばないのはもちろん、万が一Google八分にされると検索が機能しなくなります。 そのリスクを考えると、サイト内検索をサイト外に頼るのはベストな行動とはいえません。

 いえませんが、だからといって自前ではどうしようもないのでサイト内検索は外部(Google)に頼らせて頂きます。 (厳密には、全記事のリストとリンクを1つのページに出力してJavaScriptでページ内検索すれば 自前で実装可能ですが、記事数が増えるとどんどん激重になって現実的でなくなります)

静的サイトジェネレータが普及しない理由

 で、静的サイトジェネレータが普及しない最大の理由についてですが、 これは明白で、敷居がものすごく高く見えてしまうからです。というのも、

 静的サイトジェネレータ(の大半)は、「ターミナル」からコマンドで動作します。

 これを知ったときの僕→「えっ?ターミナルって何???」

 調べたところ、macOSの機能らしく、Windowsにおける「コマンドプロンプト」です。あの黒画面。 自分の無知を晒すようで恥ずかしいのですが、MS-DOS時代の遺物だとしか思っていなかったので、そこからしか動かせないと知った時は絶望でした。

静的サイトジェネレータを使う人とは

 どうやら、プログラマとかエンジニアなどのIT系職種の人たちが技術的な関心から導入しているケースが多いみたいで、 自分のようなHTMLをかろうじて一から組める程度の多少パソコンに詳しい一般ピーポー(死語)が扱うべきツールではないようなのです。

 こういった場合、いつもであれば初心者向けの解説サイトとにらめっこしながら動かし方を覚えるものですが、 今回はそれが極めて困難でした。

 例えば、『HUGO』『導入』『初心者』でググって一番最初に表示されたこのサイト様。

 「 Hugo 」は簡単! バージョンに注意しながら3ステップで導入してみる | SiTest (サイテスト) ブログ

 最初のステップを引用します。

  1. 「 Hugo 」を導入しよう

Homebrew が入っていれば、下記のコマンドで簡単に導入できます。

brew install hugo

 簡単どころか何を言ってるのか全くわからない……。

 まず、Homebrewとは何かがわからないので、そこから調べる必要があります。 wikipediaによると、

macOSオペレーティングシステム上でソフトウェアの導入を単純化するパッケージ管理システムのひとつである

 らしいです。つまりmacOSでHomebrewが導入済みならば、簡単にHUGOをインストールすることができるわけです。 なるほど、『brew install hugo』と入力するだけで導入できるとなれば、これは便利ですね。僕がWindows使いでなければね。

 どうやら、『プログラマとかエンジニアなどのIT系職種の人たち』はmacOSを使っている人が多いらしく、 Windowsを使っている人は少数派のようなのです。あくまで一説によると、macOS派が9割以上とか。 先程引用させて頂いたサイト様も、よく見たらステップ1の前に

導入方法としては、Mac で、 Homebrew を用いて簡単にインストールすることができます。

 とサラッと書いてあるわけです。もちろん、Homebrewとは何か?なんてことはどこにも書いてありませんし、 他のHUGO導入解説サイトを見てもHomebrewとは何か?などと説明している人はいません。 なぜならば、Homebrewとは何か?というのは『プログラマとかエンジニアなどのIT系職種の人たち』にとっては常識なので、 それを知らない人がHUGOを導入しようとしていることを想定していないからです。

 例えば、何かしらのテレビゲームの攻略サイトで、 『このゲームはAmazonで購入できます』という情報が載っていたとしても、 『Amazonとは何か?』『どうすればAmazonで購入できるのか』などといちいち説明したりしないのと同じことです。

おわりに

 とはいえ、僕のようなWindows使いの一般人でもHUGOをインストールできましたし、 HUGOの起動と動作に必要なコマンドプロンプト(黒画面)の入力も初日だけ四苦八苦したものの、 必要なコマンドを.batファイルに保存してそちらをダブルクリックで実行すればわざわざ黒画面を開いて入力する必要がなくなることに気づいてからは快適そのものです。

 HUGOはGo言語という自分にとって完全に未知の言語をベースに動作しますが、 僕が知っている他の言語(PHPとかJavaScriptなど)と大きくかけ離れているわけでもないので、 テンプレートをカスタマイズする程度なら解説サイトや英語のドキュメントを見ながらなんとかなりました。 (ちなみに、Go言語はGoogleによって作られたオープンソースの言語で、高速処理がウリらしいです。Goの名前はGoogleからきてるんですね)

 敷居はものすごく高く見えたし、実際に高いのですが、 実はWordpressとそこまで変わらない、むしろ楽な気さえします。 というのも、Wordpressは最初にデータベースの設定をする必要があります。 それと比べるとHUGOの初期設定の方がずっと簡単ですし、 前述のとおり.batファイルを使えばHUGOを起動する為にコマンドを打つ必要もありません。

 テンプレートの豊富さはWordpressが圧倒的でこれはどうしようもありませんし、 アダルトサイトに向いているテンプレートをHUGOで探すのは至難でしたが(オシャレ系のテンプレートはたくさんあります)、 最低限何かしらのプログラミング経験(自分の場合はPHPとJavaScript)があれば割と自由がききます。

 静的サイトジェネレータはもっと普及して欲しいな、と考える一方で、 これを一般人向けにまとめて解説するのは結構骨だと思います。少なくとも僕はやる気ゼロです。

 WindowsにHUGOをインストールする方法はググれば探せますし、 コマンドを.batファイルに保存する方法もやはりググれば見つかります。 この二点さえわかれば、あとはどうとでもなります。

 アダルトサイトでサーバ代にお困りの方、 ブログを運営したいが主流とは違う方法で運営してみたい方、 静的サイトジェネレータを使ってみませんか。 最初だけ大変ですが、捗りますよ。