【質問#87】anoparaブログのレイアウトや運用環境について

質問・悩み相談の回答です。

質問

こんばんは。YoshinoriNです。
質問#100までは全ての質問に対応して頂ける(?)ということで、anoparaブログに関して何点か質問させてください。私自身、ブログを書くようになってから書く内容以外にもサイトのレイアウトや動かしている環境周りに非常に気を使う・興味を持つようになりました。anoparaは私がいろいろな人のブログを見るようになったきっかけであり、最も閲覧しているブログですのでよく参考にさせて頂いてます。
その中で、最近私が気になっている部分について何点か質問させてください。質問の中でブログ運営・運用に影響があるものがあれば削除・文言の修正、あるいは飛ばしていただければと思います。

1.関連記事の表示数ついて

関連記事は3件表示されていますが、なぜ3件なのでしょうか?おそらくですが、レイアウト的に4件以上にするとスクロールしないと広告が表示されなくなる(ユーザーの目につきにくくなる)からではないかと推測しているのですが...
個人的には関連記事から別の記事に遷移することが多いので「増やしていただけたらな~」と思ったりしてます。
ちなみに増やしていただけたら...と言っておきながら、私はオプトアウトプラグインを使ってるので滞在時間等のデータはアナリティクスには送信されてないです...スミマセン...。ちなみにオプトアウトアウトを使っているのは単純に自分のサイトに自分のPVを加算したくないからです。

2.関連記事の表示アルゴリズムについて

初めは形態素解析で表示しているのかと思ったのですが、質問への回答だと質問関連の記事しか表示されない(?)ので「カテゴリー + 形態素解析」の結果で表示しているのでしょうか?

3.https対応しないのでしょうか?

Googleあたりがhttpsへの移行を本格的に推進しだしてますがanoparaはhttps対応しないのでしょうか?withpopさんだとすぐできそうな気がするのですが...
おそらく下記のいずれかではないかと思うのですが、httpsへの移行の流れへの見解も含めてご回答頂けたら嬉しいです。

  • 運営しているサーバーの都合上、できない(以前どこかのレンタルサーバーを使用しているという記事をみました)
  • 作業する時間がない
  • httpsに対応するメリットを感じていない

4.Wordpressってどうなんでしょうか?

私はMarkdownで記述したものをジェネレーターでHTMLに変換しているのですが、データベースがない分、できることが限られておりWordpressを含めたCMSの移行も検討しています。
WordPress等のCMSを使用すると特にデータベースの管理がめんどくさくなると思うのですが(特にバックアップ周り)この辺りはやっぱり自動化してるのでしょうか?
また、Wordpressは重かった印象があるのですが、今後もWordpressで運用していくのでしょうか?あるいは他のツールを検討したりしていますか?

以上です。
大変お忙しいとは思いますが、お時間のある時にご回答頂ければと思います。

回答

どうもいつもお世話になっております。以下、回答いたします。

1. 関連記事の表示数について

これ、全然意図したものではありません。デフォルトが3つだったというだけです。PCで見ると確かにレイアウトはぴったりなんですが、スマホで見ると2列になるので下段が1つの表示になって収まりが悪かったり…。2と3の公倍数で6個がいいですかね?追加しときます。

2. 関連記事の表示アルゴリズムについて

謎です。1.とも絡むのですが、これはWordpress.comのJetpackプラグインというものを利用して表示しています。仕組みとしては、コンテンツをwordpress.comに送信したうえで内部で関連度を調査しているみたいです。なので関連記事の欄はwordpress.comのサーバーからAjaxで取得して表示しているっぽいですね。

Jetpackプラグイン自体は設定も英語でローカライズされていませんし、アルゴリズム的にはたぶん形態素解析までやってないと思います。やってたとしてもN-Gramで類似度を算出するくらいで、しかも、考慮する対象もタイトル(+カテゴリ、タグ)程度のような気が。

そして今思いついたのですが、私も自然言語処理を極めれば関連投稿の表示システムをサービス化できるのでは…。でも収益化するとなると広告は難しいので月額課金となり、月額課金となると支払処理が面倒に…。うーん。話が逸れました。

ともかく、自分で関連記事表示処理を実装するのも面白そうですね。

3. https対応しないのでしょうか

対応したいです!!!

まず対応したい理由ですが、httpだと平文でユーザー名とパスワードを管理画面に入るたびに入力しなければならないということで、これが一番です。Wordpress.comアカウントと連携してログインする方法もありますが、セッションハイジャックには無力です。あとは自分でhttps対応してみたいという興味ですかね。

今までやらなかった理由は、まず共有レンタルサーバ(さくら)を借りてるので、HTTPの設定ができないことです。初期ドメインを使っていれば共有SSL機能というのが使えたのですが。

あとは、httpなサイトと、httpsなサイトはGoogle的には別のサイトと見なされるようで、検索順位などがリセットされてしまうという問題があるみたいです。リダイレクト設定を行うことで検索順位が引き継がれるとは言われていますが、このブログでドメインを取得した際は1か月くらい検索順位が下がったままでしんどかった記憶があり、その点でも及び腰です。

そしてCAが署名した証明書を発行してもらうのって結構高いんですね。年間数万円~十数万円とられます。そうすると導入が難しくなる…と思いきや、ドメイン認証のレベルならば無料~年間1500円程度で取得できるみたいですね。今知りました。

やりたいとは思ってるので、そのうちやるかもしれません。

4. WordPressってどうなんでしょう

WordPressは非常に良いです、優秀です。

良くも悪くもphpというのがWordpressを流行らせた(perlで作られたMovable Typeのように)要因かな、と思います。

まずインストールが非常に楽で、httpサーバの設定をしてwordpressのzipファイルを展開しておもむろにブラウザからアクセスすれば、初期設定すらWebから実施できます。インストール後の機能拡張もブラウザから管理画面にアクセスしてプラグインのインストールボタンを押せばもうそれで終わりです。プラグインの充実度もすさまじく、「なんかこういう事したいなぁ」と思いたったときにググればほぼ確実に要望を叶えるプラグインが見つかります。また、プラグインやテーマその他のソースはすべてWeb上から編集できます。この柔軟さがphpやperlといったLL(軽量言語)の最大の強みですし、WordpressはLLなくして成功しなかったでしょう。

ちなみに、WordpressでもMarkdownで記事を書くことができます。Markdownで書いた記事はそのままデータベースに保管され、表示時にHTMLを生成しているっぽいです。そういや、意識しなかったですが質問文もMarkdownなのでちゃんとリストになってますね。

バックアップに関してもそこまで難しい事は無いですね。Wordpressの特定のフォルダ(もしくはルートディレクトリごとでも特に困らない)を何らかの方法でコピー、続いてMySQLデータベースの特定のスキーマをすべてバックアップという手順でOKです。もちろん、これを自動化してくれるプラグインもあり、すべて自動でバックアップしたうえでAmazon S3やGoogle Driveなどにアップロードまでやってくれます。

これほどまでに素晴らしいWordpressなんですが、最大の欠点は先に述べたとおり「良くも悪くもLL」で作られている事です。

まずパフォーマンスが絶望的に出ません。インスペクタで調査してみると、一つの記事を表示するのに26個くらいのMySQLクエリが発行され、プラグインの処理に500~600msecかかっているみたい(※レンタルサーバ収容時。VPSではこんなに遅くない)です。これはひどい。言語の実行速度自体もさることながら、柔軟にプラグインを追加していける分オーバーヘッドがたまるのでしょう。

このあたりはタイムリーだったのですが、以下記事にも詳しく書いていますのでご参照ください。

WordPressをサクっと500倍高速化する
Ubuntuで作る高速WordPress運用環境のまとめ

あとはセキュリティ的なリスクもあります。Wordpressは非常に流行ってるCMSなので、攻撃対象として良く選定されます。(私のブログも日々攻撃されているログが残ってます)セキュリティ対策としては、botを弾くログインページにするプラグインを入れるだとか、HTTPサーバ設定で国外からの管理ページアクセスを防ぐだとか、そういったことが必要かなと思います。

以上、なんか回答というよりは質問をヒントとして自分の事ばっかり書いてるみたいな記事になってしまいました。なので気を取り直してもう一度簡単に答えを書きます。

1. 関連記事の表示数について

表示件数3件というのはデフォルト設定のまま変えてませんでした。変えてみます。

2. 関連記事の表示アルゴリズムについて

謎です。たぶんそう複雑なことはしていないと思います。私が知る限り、日本語で形態素解析までするような高度な関連記事表示アルゴリズム(やそれを使ったサービス)は無いと思います。

3. https対応しないのでしょうか

したいです。今後する可能性は大きいです。ただし、サーバの移行が必要なので、ちょっと時間が掛かるかもしれません。

4. WordPressってどうなんでしょう

手軽に始められて拡張性もかなり高いので、お勧めです。しかしながらパフォーマンスの問題に遭遇した時に辛いです。アクセス数の大きなサイトを運営する場合はノウハウ(と言ってもプログラムやインフラに知識がある人であればすぐ理解できる)が必要でしょう。

以上、ご参考になりましたら幸いです。