最近、はてなブログからWordPressに移行するですとか、そういったブログ記事をよく見ます。
私の情報源の一つがはてなブックマークですから、多分そう見えるのかな、とも。
ほかにも、ブログサービスからWordPressに移行する、といった話を聞きますので、それについて少し考えたことを書いておこうと思います。
広告
用語の定義
注釈なく「ブログサービス」という言葉を使うのはどうか、と思いましたので、こちらに定義しておきたく思います。
この記事において私は「ブログサービス」という言葉を、「はてなブログなどのように、サービスとしてユーザがレンタルする形でブログを使用するサービス」と考えています。
何か別用語等、アドバイスありましたら、コメントでお知らせくださると幸いです。
私がWordPressを選んだ理由
途中でサーバ移転はしましたが、私はこのブログをWordPressで制作しています。
なぜかといえば、端的に、過去使ったことのある自分に管理権限のないブログサービスが、私には合わなかったからです。
昔、まだ個人サイトやテキストサイトが盛んだったころ、もっといえばHTML5が策定されたかされていないかであり、HTML4.01が主流だったころ、私はlivedoorなどのブログサービスを試したことがありました。
ですがどうにも(今は改善されているかもしれませんが)使いづらく、カスタマイズも独自記法がある、ない、といった感じで、なんだか不便に思いました。
HTMLやCSSを使って個人サイトを構築することはできていたのに、です。
要するに、私は「ブログではなくて、自分でカスタマイズしたサイトを作るほうが合っていた」のでした。
そして個人サイトの運営から離れ、Twitterで呟くのが活動といえば活動、サイトは作らずプログラミングをしたり、というようにして年月が経ち、CMSというものが発達してきました。
CMSとはコンテンツ管理システムのこと。
それなりにカスタマイズ可能な上に、必要な情報さえ入力すれば、コンテンツを自動生成してくれる。
ブログを始めた理由にも書きましたが、個人サイト時代に自分でサイトを構築し、そして年月が経ってプログラミングもいくらか慣れて、アウトプットの場を製作したくなった私にはよいシステムでした。
で、個人サイト用のCMSを探したのですが、…それはもう、いろいろありました。
昔小説のサイトを運営していたため、見かけたこともあるfleoなども考えたのですが、いかんせん更新が止まっていらっしゃる。
国産のものは更新が止まってたり、さくっと導入がしづらそう。MTはいつの間にか商用っぽくなっている…。
そんな感じでいろいろ探した挙句、シェアなどを鑑みて、WordPressを選んだのだったと思います。なにせ大概のサーバでワンタッチインストールが可能なのですから、便利この上ありません。
Drupalも考えましたが、日本でのシェアはまだ低いですし、大規模サイト向けのようですから、やめました。
WordPressのテーマを作るほどの余力もありませんから、既存のテーマをカスタマイズしていますが、それで十分楽しめています。足りないものはPHPでそこそこなんとかできますし。
要するに、カスタマイズもしたいし、プラグインの導入もそこまで嫌いではないし、プログラミングもそこそこ慣れていたので、私にはWordPressが合っていたのだと思うのです。昔の元気がありあまっているころなら、テーマやプラグインなんかも作っていたかもしれませんね。
WordPressを含むCMSとブログサービスのはどちらがいいか?
さて、そんな感じの私ですが、CMSとブログサービス、誰かにお勧めするとして、どちらがいいか比較すると、どっちでもいいかな、という感じです。
というか、使う人と、その性格によるものが大きいかなと思いますので、書いていこうと思います。
CMSとブログサービスの違い
運営が自分か、そうでないか
まずここからが大きいです。のちのセキュリティやその他にもかかわってくるのですが、ぶっちゃけだいたいこの違いです。
CMSは(サーバに設置する形であるならば)管理者は自分ですが、ブログサービスはそのシステムの大本をサービスの提供元が管理しています。
つまり、この二つからどちらかを選ぶとすれば結局、誰かがあらかじめ構築したブログサービスに乗っかるか、乗っからないか、という、それこそ好みになるのです。
この時点で、「自分の借りたサーバでいざとなれば自分のサイトのデータを確保して移転もできるようにしておきたい」か、「サービスの提供元が一式提供してくれるのが便利だし、それでいい。移転するときはたぶんツールか何かで書き出せば何とかなる」か、という好みの違いで選択肢が変わってくるのではないかと思います。
サービスの提供元による影響を考えずに、自分で管理したいならCMS。
サービスの提供元に(よく話題を見かけるhttps化も含めて)管理を任せて、構築されているものに乗るならブログサービス。
結局のところそうなるのではないかと私は思っています。
WordPressかはてなブログか、という記事をよく見ますが、その時あげられる理由も結局これに基づくもの。
そもそもCMSのうちの一つとブログサービスのうちの一つで、所属カテゴリが違いますので、いきなりくらべるのはうーむ、といった感じです。
ユーザがセキュリティ対策にとられる手間
さて、管理が自分かサービス提供側かということは、セキュリティ対策をどう考えるかについてもかわってきます。
そもそも動的にコンテンツを生成する過程では、その間にPHPなりなんなりの処理を挟みます。そのため、そこに攻撃を受ける可能性が生まれてしまいます。
つまり、静的コンテンツのみのサイトでない場合は、セキュリティ対策をしておく必要があるのです。
ブログサービスでは、セキュリティはサービスの提供側に任せておけばいいのですが、自分で管理するCMSの場合、セキュリティにはある程度気を付ける必要があります。
原理的にそこまで気を付けなくてもいいタイプのCMSもあると思いますが、いかんせんそれを確かめるのも管理するユーザ側ですから、それを含めても気を付けることはあるでしょう。
とはいえ、WordPressをはじめ、著名なCMSではセキュリティを一手に引き受けてくれるプラグインがあるはずですから、それを導入して適切に更新などしていればいいと思います。ただ、そこでも継続的なメンテナンスコストはかかりますから、設置して長年放置、という状態になってしまった時が危ないのですよね…。
自由度の違い
自由度も大いに違います。
管理元が自分であるより、サービス提供側であるほうが、カスタマイズの自由度はどうしても低くなってしまうのではないかと私は思っています。
もちろん、CMSやブログサービスの種類によってこれは例外もあるかもしれませんが、一般的にはたぶんそうかな、と。
とりあえず私の知る限りでは、WordPressの自由度は高いと思います。そもそも「WordPressが動作するサーバだが、WordPressでなく他のCMSを選ぶ」ということができる点でも、自分で管理するのは便利なものだと思っています。
例えば、もし昔私がブログサービスを使用したときとそこまで変わっていないならば、ブログサービスにおいてカスタマイズできるCSSがどこに位置するかは限られていたと思いますが、CMSでは自分で定義してサーバ内の自分の好きなところ(ただし、CMSのシステムに支障をきたさない位置)に置いたCSSを参照できたりします。
コストの違い
サービスやCMSの種類にもよりますが、一般的に、金銭的コストはブログサービス<CMSかと思います。
広告などを入れる代わりに無料になっているブログサービスがある一方で、CMSは設置するためのサーバ料金や、設置の手間(サーバによっては簡単なところもあります)など、いろいろとコストがかかります。
ただその代わり、「自由度の違い」でもふれたように、無料であればサービス提供側により機能が制限されることもあるブログサービスと違い、サーバ料金はそのままでサイトを大きくできるようにしておいたり、いろいろな機能を使うことができます。
これについても、結局「何をコストとするか」という価値観の問題にはなってくると思います。
たまに見かける「はてな vs WordPress」について
この記事を考えるきっかけになった「はてなとWordPressどちらがいいか」系の記事ですが、個人的には、「はてなとWordPressで比べるのは何か違うような…」という感じです。なんというか、カテゴリ違いのような…そうですね、ええと、リンゴの1品種とオレンジの1品種を比べるような気分でしょうか。それとも稲の品種で考えたほうがいいのかな…?
いろいろと書いてきましたが、WordPressもはてなブログも、ブログを構成できるという点では同じなのですが、種類としてはCMSとブログサービスなので、「CMSの一種であるWordPressとブログサービスの一種であるはてなブログはどちらがいいか」というのは、ジャンル分けの階層としては、同じ階にある二つを比較しているのかもしれませんが、それぞれの属する層がまた違うので、少し違和感を感じてしまうのです。
実際に使ったり、比較をする方からすると、そのあたりはどうでもいいのかもしれませんが、なんだか気になったので、書き出しておきます。
まったく別の選択肢: 静的サイトジェネレータ
つらつら書いてきましたが、実のところ、ブログというか、サイト構築というものにおいて、まったく別の選択肢も存在します。
「静的サイトジェネレータ」です。
この選択肢は、CMSでもブログサービスでもなく、「テキストサイト」であるとか、「静的コンテンツ」の系譜を汲んだもののように、私には思えます。
つまり、あれです。
今は懐かし手打ちタグ等でHTMLとCSSを使い、構成していた個人サイトを、タグを手打ちするなどの手間を省き、今どきのテーマで構築する補助をしてくれるツールです。
昔であれば、テンプレートをコピーしてコピペしたり書き込んだりして、そこにリンクを張るように別ページも書き換えて、とかいった類の作業が必要だったものを、元々設定されていたテーマに指定されたファイルに書いてある内容を流し込んであとはアップロードを待つだけのサイトのファイル一式をガッと吐き出してくれる感じです。
CMS側の流れから見てみると、
「静的コンテンツをあえてサーバで生成する形でホスティングするからセキュリティ等のコストがかかるのであって、ならあらかじめローカルのプログラムで静的コンテンツを作って、それをアップロードすればいいんじゃね?」
というやつです。
運営コスト
低いです。
なにせ静的コンテンツです。サーバに動的な処理をさせる必要もありませんので、最近なら広告なし無料レンタルスペースなんかも出てきていますから、低いといえるでしょう。
特にNetlifyとか死ぬほど便利です。
さすがに画像を多く使うのであれば、ホスティングスペースの容量が必要かもしれませんが、そうではないなら、巨大なサイトではない限り、スペースの容量もそこまで気にしないでいいはずです。
静的サイトジェネレータ自体も、Hugoなど、無料で使えるものがそれなりにありますから、ジェネレータ自体も無料で利用できます。
学習コスト
ちょっと高めです。
とりあえずは、どのようなファイルを静的サイトジェネレータで変換すればWebサイトになるかなどを学ぶ必要があります。
さらに、自作テーマで好きなようにサイトをデザインしようと考えると、CSSやHTMLであるとか、それがどう適用されるかの知識まで必要になってきます。
ただ、このテーマの記法や、サイトの設定法については、形式を学んでおくと他の方面に応用できたりします。
たとえばHugoだとYAMLのあれこれとかをサイト運営のために実例付きで勉強することになります。
Markdown対応の静的サイトジェネレータであれば、Markdown記法を学習することもできるでしょう。
サイトのスピード
時間のかかる外部スクリプトを実行していたり、極端にレンダリングを悪化させるようなスクリプトを記述していなければ、とても速いです。
なにせ基本的には静的コンテンツだけですから、動的コンテンツのようなサーバによる処理を要求しない分、高速なレンダリングが可能です。
適度にJavaScriptにDeferをかけたり、CSSを設定していれば、例えばPageSpeed Insightsなどでもよいスコアをとれるでしょう。
セキュリティ
Web上では静的コンテンツのみをホスティングする形になりますから、CMSやブログサービスほど気にする必要はありません。ブログサービスと同じか、それ以下でしょうか。
さすがにホスティングしているサーバのシステムがクラッキングされたり、アップロード用のアカウントやパスワードを盗まれればその限りではありませんが、そのあたりを警戒しなければならないのは、ブログサービスやCMSでも同じです。
特に、サーバサービスという大本のクラッキング対策となると、ユーザ側が扱える範囲を越えているのではないかしら…。
動的コンテンツ: 原則使えない
学習コストを除けば結構よいように思える静的サイトジェネレータですが、その原理上、PHPなどの動的コンテンツは原則使えません。
使うとしても、たとえば外部サービスのメールフォームをレンタルするなどして、それを挿入するコードを張り付けて対応する、という形になるでしょう。
ブログによくあるようなコメント機能が要求される場合、それを実現するのは少し難しくなるでしょう。
検索機能も同じくです。一応付けれるといえばつけれるのですが、その場合はGoogleカスタム検索や、jsonを前もって準備するといった細工が必要になります。
私自身、このサイトをHugoで構築しなおしていないのは、このサイトの記事に関して何かあれば、コメントという形のフィードバックがあったほうがいいか、と思ったのと、外部に頼らずWordPress内で動作する検索機能が欲しかったからです。
調べてみると、Disqusというコメントサービスを使うことである程度はHugoでもコメントの処理が可能なようですが、検索機能はやっぱり結構ややこしめです。タグとかは使用できるのですけれど。
逆に言えば、コメント機能や検索機能を特に要求しない場合は、(要件にもよるかもしれませんが)フォームを外部サイトからレンタルするなどして、静的サイトジェネレータでそれなりのWebサイトを構築し、運営できうるでしょう。
それぞれをまとめて比較
ここまでつらつら書いてきましたが、比較したい場合自分でも見づらく思いましたので、表にまとめました。ブログサービスは現況をよく知らないのでおすすめは書きませんが、CMSと静的サイトジェネレータに関しては参考リンクや、おすすめかな、と思うもの、ついでにサーバ(国内のもの)なども書いておきます。
CMS | ブログサービス | 静的サイトジェネレータ | |
---|---|---|---|
サイト管理者 | サイト運営者本人 | サービス提供者 | サイト運営者本人 |
自由度 | 高い | (無料の場合)低め | 高い(※1) |
必要と思われる知識 | カスタマイズを求めるならHTML, CSS、さらにそのCMSで使われる言語やAPIの知識など。 | 少ない。カスタマイズを求めるならHTMLやCSSの知識がいることも。(※2) | HTML、CSSなど。多い。いろいろなカスタマイズや機能も求めれば、ジェネレータで使われている言語も部分的に学ぶことになりそう。 |
セキュリティ・リスク | 動的コンテンツである以上、高め。運営者が気を配る。 | 動的コンテンツである以上、高め。サービス提供元が主に気を配る | 静的コンテンツなので低め(コンピュータ技術の常として、全くないとはいいきれない)。 |
セキュリティ対策 | 有名CMSならセキュリティ用プラグインがあるので選んでぶち込み、更新があれば反映させるようこころがける | サービス提供者が行う。サービス提供者側がしっかりしているところを選ぶ。パスワードなどもらさない | ホスティング先サーバへのログイン情報を漏らさないようにする。ただのFTPではなく暗号化通信を行うプロトコルでアップロードする |
管理画面 | ある | ある | 基本ない(ローカルにファイルを構築。Netlify CMS等のサービスを加えればあるいは可能か) |
費用面でのコスト | 高め。CMSを動かせるサーバをレンタルする必要があるため。 | 低め(だいたいが自由度の高さとトレードオフ) | 低め(とりあえずファイルをホスティングできるサーバがあればよい)。 |
学習面でのコスト | カスタマイズを深めるほど高い。たまにほかの方面に転用も可能 | カスタマイズしないなら低い。 | 高い。ただしおそらくは、学習したことはほかの方面にも応用可能。 |
特徴 | Web上でいろいろと編集ができる。楽にサイトを構築でき、カスタマイズをすれば割合自由にいろいろできる | 制限が多いが、ただブログをしたいだけであれば普通に使える。データの処遇は基本サービス提供元次第。 | ブログ以外にもいろいろな用途に使用できる。サーバに要求する性能が低くて済む。動的コンテンツは使えないが、逆に言えば静的コンテンツだけのサイトを安く運営したいなら効果的。 |
おすすめかなと思うもの | WordPress, Grav | 不明 | Hugo |
おすすめ無料利用可能無料サービス | StarServer, Xserver | 省略 | StarServer, Xserver(どちらも1GBのスペースを広告なし無料レンタル可能),Netlify(GitHubと色々連携できる便利サービス) |
個人的おすすめサービス | JetBoy | 省略 | Netlify |
※1 定義上、動的コンテンツに関しては制限を受けるが、あとはサイト管理者の技術力次第
※2 ただし印象からすれば、HTMLとCSSの知識を最初から持っていたら結構簡単な気もする
管理人のおすすめ
以下は管理人のおすすめです。管理が自分でないという点において、管理人の好みではないので、ブログサービスについては特に私のおすすめなどはないです。
CMS
WordPress
まずおすすめなのがWordPressです。CMSの定番ですね。
そのシェア・コミュニティの大きさが大きな魅力です。
機能的には普通にちゃんとしており、更新も継続して続けられています。
そのためかシェアが大きいので、日本語でもカスタマイズのためのドキュメントを検索すればいろいろと見かけることができるのです。
また、データベースを使用する形ですので、もし大量の記事があったとしても、データベースの性能を活用してある程度きちんと運用することができます。
基本的にプラグインで機能を追加していくことになります。データベースの脆弱性などもあり、シェアが大きい以上、セキュリティプラグインは必須です。
あまり大規模なサイトだとDrupalになるらしいですが、小~中規模のサイト構築には便利です。
Grav
データベースを使えない場合のおすすめが、Gravです。ちょっとマニアックかもですがわりとおすすめ。
いわゆるフラットファイルCMSというやつで、マークダウンファイルで記事内容などを管理します。
ただしデータベースを使わないので、記事数が少ない場合はデータベースを使うより軽いのですが、あまりに多数のページ(たとえば1000ページ以上)の記事がある場合は、データベースより遅くなります。小規模で軽いサイトを作りたい場合に適したCMSといえましょう。
プラグインなどもいろいろありますが、実は管理画面なしで運営するなんてことも可能です。
フラットファイルですから、データベースがない分セキュリティ的には安全度は(データベースを使う場合と比べて)高めです。ざっと検索すると、セキュリティプラグインも特にない模様。データベースなどに依存せず、かつ普及もそこまでではないし、プラグインもまだ少なめですから、脆弱性があればだいたいは本体のアプデで解決しますもんね…。管理画面なし状態だとさらにセキュリティは高まるでしょう。
サイト移転も簡単です。なにせファイル一式ダウンロードして移し替えるだけなので…。
ちなみに、コメント機能を追加するにはプラグインが必要です。なので、実はサーバ上にMarkdownファイルを追加していけば管理画面なしでサイト運営が可能なことも手伝って、静的サイトジェネレータ扱いになってることもあるようです…?
静的サイトジェネレータ
今のところ実質私はHugo一択です。
Hugo
いろいろな種類がある静的サイトジェネレータですが、ネックになるのがコンパイル時間です。内容を書いたファイルを処理していくのですが、サイトの更新時など、そういったときに時間がかかると困ります。
ここで威力を発揮するのが、Goで書かれた静的サイトジェネレータであるHugoです。
なにせスクリプト言語ではなくバイナリにコンパイルされたプログラムで色々ガシガシするためか、とにかく速い。割とストレスなしにサイトを製作できると評判です。
Markdownが使えることに加え、テーマも結構多いので、そのあたりを総合すると、Hugoはおすすめです。
Macではhomebrewだっけ、そういったツールなどを使えばコマンド一発インストールできたりと、Windows以外のインストールも簡単です。
Windowsも少し手間がかかるといっても、gitとgoが入っている環境であれば、zipファイル解凍して実行ファイルリネームしてパス通すだけ。
なお、もしChocolateyのある環境であれば、ほぼ最新のものをChocolatey経由で簡単に手に入れることができます。
サイトは特定のフォルダに出力されるので、それを丸ごとGitHub経由等でNetlifyに叩き込めるようにしておけば割と簡単に、更新も気軽に行える、結構いける感じのサイトが作れるのではないでしょうか。
…と思って調べてみたら、Netlify CMSを使えばいろいろ便利に使える(ブラウザから更新などできる)みたいです。技術の発達はいいものだなあ。
なお、Disqusによってコメント機能を割合簡単につけることができるようですので、コメント機能を求める場合も有用かもしれません。検索機能についてはGoogleカスタム検索などの手段に頼ることになるようです。
最近見かけたブログだと、こちらなどがそんな感じです。
その他コメントなど
Webと組み合わせた手軽さでは個人的にWordPressはやっぱり便利だなあ、というところです。
いっときHugoへの移動も考えたのですが、私はブログの記事内容をしょっちゅう書き換えますし、コメントの処理もDisqus導入ですむとはいえ、まああれです、一元管理をしたいので、このブログは当分の間はWordPressのままかと思います。検索も自由にしたいし。さらには、WordPressのカスタム結構楽しく、かつ今のテーマをHugoにコンバートできる気がしないんですよね…。
ですからHugoは、小説サイトの構築あたりで使っていこうかと思っています。ついでにNetlify CMSを、このサーバでも使えるといいのですが…。あとそうなればいろいろな設定をする意味でSSH接続が欲しい…。今のサーバ(JetBoy)はコスパがとてもよいと思うので、あとはそれさえクリアしてくれれば本当に最高だと思います。
…と、思っていたのですが、諸事情あり、時間ができたらHugoにこのサイトを移し替えてみようかなと思います。頑張ろう。