(旧) Web Comic Ranking

Web Comic Ranking (以下 WCR) は 2000 年 2 月 7 日に試験運用を開始した、個人/サークルレベルのオンラインコミック専門ランキングでした。試験運用開始からちょうど 20 年、2020 年 2 月 7 日にその運用を停止し、ここはその跡地になります。

これまで 20 年の間に様々な形で WCR をご利用いただき支えてくださった皆様に厚く御礼申し上げます。また今後も WCR が継続すること期待してくださっていた皆様には、期待を裏切る形になってしまい申し訳ありません。

最終的なランキングや登録していただいていた各サイトの 2020 年 2 月 7 日時点でのデータについては、個人情報を除いた形でこの Google スプレッドシートにまとめてあります。今後このデータが更新されることはありませんが、このままインターネットの闇に葬られてしまうにはあまりに忍びないデータですので、どうぞご覧になっていただければと思います。

以下、多分に自分語りになる部分もありますが、サイトの運用停止に至る理由などについても述べておりますので、お暇のある方はどうぞお読み下さい。

重ね重ね WCR のご愛顧ありがとうございました。
2020 年 2 月 7 日、WCR 管理者 Otchy

≪2020 年 2 月 15 日追記≫
WCR の閉鎖を受けて秋田LV3様がwebマンガデータベースという wiki を立ち上げられました。商業非商業問わず Web で読める漫画全般を誰でも登録する事が出来ます。読者ファーストを掲げ、作者よりも読者にとって有益なサービスにする方針で運営をなさっていくそうです。WCR の代わりになりうる場を求めている方は、ぜひ検討して頂ければと思います。wiki 開設の経緯など、詳しくブログ記事でも解説されています。

目次

WCR を終了する理由

2020 年 1 月 14 日に旧 WCR に掲載したお知らせでも触れたように、WCR を終了するに至ったにはいくつかの理由がありますが、一番の大きな理由はやはり利用者数の減少です。全盛期には約 15 万人だった月間アクティブユーザ数も減少の一途をたどり、運用停止発表前の 2019 年 12 月には約 8,000 人と全盛期のわずか 5% にまで減っていました。最後に大きなアップデートを行って以降は目立った更新や宣伝が行えていなかった事はもちろん原因のひとつではありますが、過去には同様にアップデートのなかった期間でも継続してアクセスがあった時代もある事から、WCR を取り巻く環境に変化があった事も利用者数減少の原因と考えて間違いないと思います。

WCR を立ち上げた 20 年前の当初は、個人でウェブサイトを持つのであれば自らサーバスペースを借りて HTML を書くのが当たり前の時代でした。そんな時代に WCR は産まれ、登録規約に謳う「個人(あるいはそれに準ずる小規模な団体)でサイトを持っていて、マンガを公開している」事をサイト登録の条件とし、そういった形で作品を発表している表現者達を応援し続けてきました。次にブログの波がやってきて HTML を知る必要が無くなった時代であっても、まだそれは個人サイトとしての体裁を持っており、WCR としても登録を許可していました。ですが、pixiv のようなユーザ投稿サイトや告知媒体としても使える Twitter のような SNS がプラットフォームとしての地位を確立するにつけ、個人サイトとしての体裁を持ったマンガの公開は数を減らしていき、特に近年、モバイルマンガアプリが「素人投稿枠」や「セミプロ枠」のようなものを実装するに至って、個人サイトでのマンガの公開はいよいよ下火になったという感覚があります。

多くの自分の作品を発表したいだけの表現者達にとって、あるいは将来の商業デビューを目指す漫画家の卵達にとって、こういった状況はとても喜ばしいと素直に思います。なぜなら自分の創作だけに集中でき、作品を発表する場、時には収益化することすら、プラットフォームに任せられるからです。WCR がウェブコミックの黎明期に一定の役割を果たしていたという自負はありますし、WCR をステップとして商業デビューを果たした漫画家達がいた事は、WCR 設立当初の想いが結実した結果としてとても誇りに思います。ですが、WCR はその役割を終えました。もう 1 年以上前ですが、WCR が利用しているレンタルサーバサービスが 2020 年に終了するという通知を受け取ったタイミングは、WCR を綺麗に 20 周年で終わらせると決断するタイミングになりました。

しかしながらその一方で、またこうも思うのです。

ウェブコミック黎明期の、つたない HTML で書かれた珠玉混合の個人サイトが乱立している時代は、それは特段美しい世界ではなかったけれど、とても楽しかったなあと。表現者達を応援するなんて格好良い事を上に書いたばかりだけれども、そもそもの、本当の本当の最初の目的は、ただ自分が面白いウェブコミックを読みたかっただけでした。自分で探しに行くのではなく「向こうから集まってくるような仕組み」を作ってしまえば良いと発想を転換して WCR というアイディアを思いつき、当時のネット上には類似サイトが存在しないことを確認し、そのアイディアだけで興奮に震えて朝まで眠れなかったあの日のことは今も鮮明に思い出せます。実際に累計登録サイト数が 8000 サイトになるあたりまでは、全ての新着サイトに文字通り目を通していました。その時点では日本でもっとも多くのウェブコミックサイトを見た人間だったのではないでしょうか。

そんな当初の想いとは裏腹に、個人を取り巻く環境の変化のせいで、ここ数年はまともに時間を取って WCR を管理することは出来なくなっていました。問合せに対する返信が遅くなり、時に全く返信しないことすらあり、新着サイトのチェックは利用者からのクレームがあった時のみになり、それすら徐々にやらなくなってしまう。そんな悪循環に陥ってなお、ただ漫然とサービスを継続し続けるのは不誠実であるというのが、またもう一つの大きなサイト閉鎖の理由です。

最初期の WCR

20 年に及ぶ WCR の歴史の中でいくつか忘れられない出来事があります。まずはもちろん、2000 年 2 月 7 日、試験運用を開始したその日の事です。まだ大学生で時間だけはあったものの、技術力は今からすると全然で、最初のシステムはセキュリティ的な意味でもパフォーマンス的な意味でも脆弱でした。それでも何とか動くようにはなったので、ウェブを渡り歩いて自力で探し出した 100 余名のウェブコミックサイトの管理者の方々に、あろうことかスパムメールを送り付けます。

言い訳をさせてもらうならば、まだ多くの個人サイトが連絡先としてメールアドレスを載せていたような時代です。気に入ったサイトがあれば作者にメールを送る、というのは日常的に行われていましたし、自動化する頭もなかったので 100 通全てを手動で送りました。ウェブコミックを公開しているサイト管理者の方に連絡を取っていること、新しくランキングサイトを作ったので良かったら登録して欲しいこと、いま登録すると早い段階でランキングに載れるから有利であること、などを書いていたと思います。どう取り繕ってもやはりスパムメールではありましたが、迷惑メール防止法施行以前ですのでどうかご容赦いただきたいです。ただやはり、実際に数件のお叱りを受けて恐縮したのを覚えています。

幸運なことにほとんどの反応はとてもポジティブで、すぐ 60 だか 70 だかの登録が集まり、とても良いスタートを切ることが出来ました。とは言えまだまだ小規模で、連続投票、不正投票やだましリンクの対策がまだ不要だったので、投票用リンクはその投票をカウントした後そのままトップページに飛ぶ仕様になっていました。この仕様が SNS など影も形もなかった時代に驚異的なバイラルを生み出し、一気にアクセスが増え始めます。お気に入りのサイトが何やらランキングに登録しているようなので投票してみる → WCR に飛ぶ → 知らないウェブコミックサイトをたくさん見つける → WCR を巡回先に追加する。という流れです。また忘れてならないのが、色々なウェブコミックの読者というのは、同時に自分自身が作者であるケースも多いという事です。WCR の存在を知った作者の方が、自分のサイトも WCR に登録して投票用リンクを自分のサイトに設置する。そして WCR は新たなアクセスの流入を得る。本当に絵に描いたようなバイラルで、最初の 100 のブーストの後は何の宣伝も必要ありませんでした。

運用開始から約 2 ヶ月後の 2000-04-18 に事件は起こります。Yahoo! JAPAN の「今日のオススメ」コーナーで紹介されたのです。それまでもアクセス数は順調に増えていたのですが、ここで一気に爆発しました。当時利用していた「共用」レンタルサーバのキャパシティを軽く超え、サイトは落ちまくり、レンタルサーバ事業者からの連絡も来て、大騒ぎでした。あくまで一日限り目立つところに載るだけなので、数日してアクセスはすぐに落ち着きましたが、以前より平均して明らかにアクセスは増え、階段をひとつ上がったような思いがしたものです。その後さらに「今週のオススメ」でもまた紹介されたりしました。

今となっては信じられない事に、この頃の Yahoo! はディレクトリ型検索エンジンといって人間が手動で管理する巨大なリンク集でした。ですがもっと信じられない事に、この頃はインターネット上のサイトを紹介する紙の雑誌が数多く出版されていました。Yahoo! に紹介されたことで注目度が上がった WCR は、いくつかの出版社にも声をかけていただいて実際に雑誌にも掲載されました。週間アスキー (2000/10/10号 P.43)、PC Japan (2000年12月号 P.175)、アスキーネットJ (2001/02/01号 P.94)、インターネット大技・ウラ技大全250 (P.119)、アスキーネットJ (2001/06/14号 P.106)、の計 5 回です。紙の雑誌と侮ることなかれ、雑誌の発売直後には、はっきりと分かる形でアクセスが増えたりしたものです。

このようにして運用開始当初の一年半は怒濤のように過ぎ去り、幾度かのサーバ移行やシステム刷新を経て、約 10 年後の 2009 年 12 月に約 15 万人の月間アクティブユーザ数の最高記録を出すまで、サイトは成長を続けたのです。

システムの変遷

ここからはしばらくの間、技術的な話や機能追加の歴史などを主に扱います。興味のない方は次の項目まで飛ばして下さい。

Ver.1 (2000-02-07〜)

wcrbn01_n.gif wcrbn01_s.gif wcrbn01_v.gif

そもそも WCR は、個人サイト用として運営していて、古くなった今も何も更新しないままながらずっとドメインを保持している www.otchy.com のサブディレクトリ www.otchy.com/wcrank/ でサービスを開始しました。

WCR Ver.1 は、2000 年当時としては標準的な Apache (もちろん Ver.1) から Perl スクリプトを CGI として動かす構成になっていました。しかも当時はまだまだプログラミング初心者で、データを保存すると言ったらファイルに書き込むことしか頭になく、全てのデータをタブ区切りのプレーンテキストで保存していました。WCR を作る前までに定番のカウンターや掲示板などを自作していたので、そこで使っていた手法と同じように作ったわけです。

ファイルに書き込む前にロックファイルを作ってからファイルの書き込みを始める。別のプロセスが書き込みをしようとしてもロックファイルがある限りは待つ。という簡易なロック機構は実装していて、事実それまでの掲示板ではその仕組みで全く問題がなかったですし、開始当初の WCR もその仕組みでちゃんと動いていました。

そんな中であらすじ機能を追加して (2000-03-07) 本格運用を開始したところ (2000-03-08)、瞬く間に連続投票が問題になったので 12 時間以内の連続投票を禁止したりと (2000-03-15)、活発に開発をしていました。そして当初の設計が拡張性に乏しく、また CGI という仕組み上パフォーマンスの懸念も大きくなってきたので、この Ver.1 は早々に諦めて一ヶ月と経たないうちに Ver.2 の開発を始めます。

Ver.2 (2000-04-24〜)

wcrbn02_n.gif wcrbn02_s.gif wcrbn02_v.gif

WCR Ver.2 を開発するにあたって、何を変えて何を変えないかを考えました。アクセスがどんどん増えている状況からパフォーマンスの懸念を解消するのが急務だった一方、全てを一度に変えるのはリスクだと考えたため、プログラムの実装自体は当時 Perl の後継として持てはやされていた PHP に移行する一方、データ自体は Ver.1 で使っていたデータファイルをそのまま引き継ぐことに決めました。この「全てを一度に変えない」という選択は実際に正解で、この先 Ver.3 Ver.4 と開発が続いていく中で、移行のリスクをいかに減らすかというのは重要なポイントであり続けました。

ところで、パフォーマンス懸念を解消するために PHP ?と思う向きもあるかもしれません。元々の CGI の仕組みでは、アクセスごとに新しいプロセスを立ち上げて Perl スクリプトをインタープリタで実行し結果をクライアントに返すという動作をしていた一方 (mod_perl は当時のレンタルサーバでは一般的ではありませんでした)、PHP は Apache のモジュールとして動作していたので比較論としては PHP の方が断然早かったのです。

そして来る 2000-04-24、サイトデザインも新しくなり、PHP で書き直した Ver.2 が稼働を開始します。最初のリリースから 3 ヶ月弱でのスピード更新でした。時間が有り余っている大学生という立場を最大限利用して、開発に没頭していたことを思い出します。「ファンタジー」カテゴリを新設 (2000-06-15)、不正投票の対応強化 (2000-06-16)、ランキングタイプの登録受付開始 (2000-09-28) など、機能改善や追加なども行っていく中で、WCR のアクセス数も引き続き増加し続けていきます。

そんな中、前述のタブ区切りのデータファイルのロックに失敗することが増え、データが失われることが相次ぐようになりました。お知らせの履歴から抜粋すると「2000-07-16 昨日のランキングシステムに不具合が発生」「2000-07-20 即日・週間ランキングに不具合が発生」「2000-07-27 即日・週間ランキングに不具合が発生」「2000-08-22 重大なサーバー障害に関して」「2000-10-24 サーバに繋がりにくかった問題について」など燦々たる状況です。幸いバックアップは当初から頻繁に取っていたので、バックアップを元に「手動で」データを復旧し急場をしのぐといった事は可能でした。ですが、この頃になると、Yahoo! JAPAN で取り上げられた日のようなアクセスが日常的に来るようになっており、さらにそれを超えてアクセスが増え続けている状況では、いつか破綻するのは火を見るより明らかでした。

そこで今度は Ver.3 の機運が高まってくるのですが、一方で 2000-09-28 に登録受け付けを開始した、新しいランキングタイプを活用したオリジナル/パロディランキングの創設も優先順位が高かったのです。WCR 開始当初から一次創作と二次創作のランキングを分けて欲しいという要望はずっとあり、多くの利用者の方々にとっても待望の新機能でした。それらを踏まえ、既存の Ver.2 上でまず新しいランキングを実装したかったので、パフォーマンス問題についてはいったん物理で殴る方針で行く事にしました。サーバ移転です。

ただ実のところ、パフォーマンス問題はサーバ移転の二番目の理由で一番の理由はお金でした。元々契約していたレンタルサーバのプランは、基本利用料が格安の代わりに一定以上のアクセスがあると従量制で高めの金額がかかるプランでした。そうなのです。ずっと右肩上がりで増え続けてきたアクセスが限界を超え、ついに追加料金がかかり始めてしまったのです。最初に足が出た月は数千円程度だったと記憶していますが、その翌月、数万円という金額が書かれた請求書を見て顔が青ざめました。この増加ペースはやばい、と。安いレンタルサーバといったら同じサーバを何十人もでシェアする共用型が主流だった時代です。サービス業者からも遠回りに出て行って欲しいと言われてしまいました。それまで、サーバ移転先の選定などは新しいランキングの実装と並行して慌てずに行うつもりだったのですが、大学生の懐には痛すぎる月数万円の赤字を見て、サーバ移転は緊急の最優先事項になったのです。

サーバ移転先を選ぶにあたっていくつかの条件がありました。まず一番大事なのは基本料金が高い代わりに従量制の追加料金がかからないプランを提供していること。次に既存の otchy.com 上のコンテンツ全て、WCR 以外のものも含めて、変更無しにそのまま動くこと。すなわち Perl の CGI と PHP を両方サポートしていて、しかもバージョンが同じであること。また当たり前ながら、ドメインの移転が出来ること。そして将来的な Ver.3 を見据えて、ちゃんとしたデータベースを備えたサービスであること。などでした。ウェブで調べていくつかの候補は挙がったものの、特に既存のコンテンツ全てと互換があるかどうかはウェブ上の情報だけでは確証が持てないことが多かったので、問合せなどもして最終的に絞り込んだ事業者と契約をして、2000-12-14 にサーバの移転を行いました。新しいサーバの方に DNS が切り替わるまでドキドキしながら待っていたものです。結果、この大量出血はわずか 2 ヶ月で止めることが出来ましたが、この時の単月赤字は WCR 20 年の歴史の中でも最悪の数字でした。

幸いにして大きなトラブルもなく初めてのサーバ移転は完了し、パフォーマンスの問題も落ち着きを見せました。そしてその後 2001-04-01 には、待望のオリジナル/パロディランキングを創設し多少のデザイン変更も加えた、言わば Ver2.1 が動き始めました。そこで次なる目標は、もちろん Ver.3 になります。

Ver.3 (2001-05-27〜)

wcrbn03_n.gif wcrbn03_s.gif wcrbn03_v.gif

Ver.3 の開発を始める際の最大のテーマはデータベース化でした。具体的に言うと MySQL です。また、ずっと野暮ったかったサイトのデザインを当時のトレンドに寄せて多少見栄えするようにしたいというのもありました。Ver.2 開発時は、言語を変えるというリスクを取る代わりにデータフォーマットは変えないという決定をしましたが、Ver.3 では逆に、データフォーマットをテキストから MySQL に変える代わりに、言語は変えず、PHP のクラスもデータレイヤー以外はほぼ流用するという形で進めました。一方、表面上のデザインは完全に刷新したのでお知らせなどでは「全面リニューアル」と打ち出していましたが、システム開発の観点から言うと、表面上のデザイン変更自体に大きなリスクはありませんでした。

Ver.3 のシステム開発上で一番リスクが高かったのは、WCR を動かし続けるシステムそのものではなく、むしろ一回限りしか使わない既存の全データを MySQL に移し替えるプログラムの方でした。手元で色々なパターンでテストをし、ある程度目処が付いた時点で本番データをダウンロードして動作確認し、最終的には本番環境でもリソースに余裕がある深夜にテストをするなどして、万全の体制で進めていました。結果的には Ver.2 の時と同様、クリティカルになりうる変更を複数同時にやらなかったことが功を奏し、特段大きな問題を起こすことなく 2001-05-27 に Ver.3 が無事にリリースされます。

Ver.3 がリリースされたのは 5 月の終わりだったのですが、本当は 3 月中に終わらせたかったのが遅れに遅れた結果、5 月にずれ込んだという経緯があります。実はこの年の 4 月に就職が決まっていのたで、元々は新社会人生活が始まる前に Ver.3 をリリースしたいと考えていたのです。そのため卒論を終えてから急ピッチで開発を進めていたのですが、結局 3 月中に開発を終えることは叶わず、Ver.3 をリリースすることの無いまま社会人生活が始まってしまいました。

半年もかけてのんびりと新入社員を教育するような超絶ホワイト企業で、クッソ暇だった MS オフィス研修中に JavaScript でチャットを作って同期に配っていたら自分の PC のネットワークだけ止められたり、2 週間くらいかけてグループごとに業務アプリもどきを作る研修で無双したり、洗脳系マナー研修をド正論で批判する感想を提出して人事に呼び出されたりといったイベントを挟みながらも、地味に少しずつ開発は進めていたのですが、やはり社会人ともなると、まとまった時間を取って一気に開発を進めるのが難しく、システムが大体の完成をみたのは社会人一年目の GW をほぼ全て開発に捧げた後でした。そこからのテスト、デバッグ、修正、テスト、デバッグ、修正…、でリリースが 5 月の終わりになったというわけです。

私生活の変化が WCR のサービス開発に与えた影響は大きく、社会人となって以降、学生時代のようなスピードでの開発は出来なくなっていきます。実際、Ver.3 の稼働している期間はかなり長かったので、この時代に初めてウェブコミックに触れ、このバージョンの WCR を自身の最初の WCR として記憶している利用者の方も多いのではないでしょうか。ウェブコミック業界とでも言うべきものが成長していくのと歩調を合わせて、WCR もまた成長していきました。

WCR の利用者の方が増えていくという事はすなわち、様々な環境から WCR を閲覧する利用者の方の数も増えていくという事です。ですので Ver.3 が稼働している間に、記録に残っているだけでも様々なブラウザへの対応を広げていました。抜粋すると「2001-06-03 NN4 (脚注:Netscape Navigator v4) での対応を強化」「2001-06-09 低解像度環境への対応を強化」「2001-07-05 DreamPassport(DCのブラウザ)での表示に対応」「2002-07-28 Opera6での表示に対応」「2003-05-17 <推奨環境>にSafariに関する記述を追加」などです。

新着サイトのチェックをしたり、まれに発生するデータの文字化けは手動で MySQL のテーブルを修正したり、パスワード忘れの問合せに対応したり、といったレベルの運用は絶え間なく続けていたのですが、ここからしばらく約 5 年の間、システム的には大きな変化のない時代が続きます。ですが、やはり次の Ver.4 が必要だ、と思い至るにあたった大きな理由、それは再び発生したパフォーマンスの問題でした。

Ver.3 の歴史の終わりの頃になると、一番アクセスの集中する夜の 9 時から 10 時にもなると、ページを開こうとすると長く待たされ、待たされるだけならまだしも最悪タイムアウトして何も表示されない、ような事が頻発するようになっていました。新しいバージョンが出来上がった時はいつも「今度こそ決定版だ」と、それが事実だったことは一度も無いにも関わらず同じ事を思うのですが、今度もやはり事実ではありませんでした。

Ver.4 (2008-09-05〜 βテスト / 2008-09-28〜 正式スタート)

wcrbn04_n.gif wcrbn04_s.gif wcrbn04_v.gif

Ver.4 の仕様を考えるにあたって、いくつか重視したポイントがありました。まずは何につけてもパフォーマンスです。これまでのサーバでやりくりするのは限界だったので、再び物理で殴る必要がありました。また、Ver.1 から Ver.3 の間でも何度かサーバの移行は行いましたが、いずれも共用レンタルサーバの契約であり、自分で出来るパフォーマンス対策には限界がありました。そこで増え続けるアクセスをさばききるためには、これまでとは数段上のスペックでかつ最適化に対する自由度が必要と考え、共用レンタルサーバよりもぐっと値段は張るものの、専用サーバのプランを検討する事にしました。

この文脈で言う専用サーバとは、データセンターのラックに刺さった物理サーバを一台専有して、root 権が得られるサービスの事です。専用レンタルサーバなんてクラウド全盛の今となっては個人開発者には関係のない話かもしれませんが、AWS はおろか VPS でさえメジャーでなかった時代、高いパフォーマンスと高い自由度が必要であれば専用サーバというのは普通の選択肢でした。とは言え当時でも、個人で借りる人は珍しかったと思います。

この頃になると Web 業界で働き始めて 5 年目くらいになっていて WCR を盛り上げるためのアイディアも色々あったので、次に考えたポイントは SEO です。専用サーバにしてどうせ一気にパフォーマンスを改善するなら、もっとアクセスを増やしても大丈夫だろうという目論見がありました。Ver.3 までは固定の一覧から選ぶ形だったカテゴリを自由入力のタグに移行したのは、単に世のトレンドに合わせただけでなく SEO 対策の意味合いも大きかったのです。なので、タグクラウドもこの時実装しました。また「最近人気の検索語」なども利用者の利便性はもちろんありますが、SEO としても重要でした。その時トレンドになっているワードの露出を増やすのは、ホワイトハットな SEO 手法として強力です。

そしてついに Ver.4 で WCR 用のドメインを取得します。ドメイン名を選定するにあたっても、やはり基準になったのは SEO です。TLD は値段も安く SEO パフォーマンスも安定の .com にするのは早くに決まったのですが(注1)、問題は実際のドメイン名です。ベストが wcr.com なのは自明ですが、今からしたら遙か昔と思える 2008 年でさえ、3 文字 .com なんて素人に手の出せるものではありませんでした。そこで候補に挙がったのがサブディレクトリ名で使っていた wcrank を元にした wcrank.com と、フルスペルでサービス名を記述した webcomicranking.com でした。最終的に後者を選んだのは、ドメイン名に "web" "comic" "ranking" の 3 つのキーワードが含まれた方が SEO 上で有利だなというのがまずあります(注2)
(注1) 現代では TLD による SEO の差はないと考えられますが、あの頃は自明な差があるとされていました。
(注2) 現代ではこの点も Google によって明示的に否定されています。

一方、それでも短い方が URL をタイプしてもらいやすくて良い、という話もあります。ですがこれは実は英語圏での話で、あの当時日本ではすでに検索エンジンで検索してサイトを開くのが主流になっており、なんならブックマークを使う人すらも割合で言ったら減っているくらいの状況でした。そういった状況も手伝って、長いドメイン名を選ぶことが出来ました。

さて、パフォーマンス、SEO に続いてもう一つ重視したポイントがありました。運用負荷の軽減です。私生活では Ver.4 リリースの数年前に結婚しており、前年には子供も産まれ、充実した人生と言って差し支えない状態でしたが、一方で WCR に費やせる時間は減り続けていて、日々送られてくる問合せに対する返答や、イレギュラーなデータ修正依頼などの運用が結構な重荷になっていました。

特に問合せが多かったのがパスワード忘れと再発行依頼だったので、パスワードリマインダを実装しました。Ver.4 リリース後に目に見えて問合せが減って喜んだことを覚えています。またパスワードリマインダでも救えない利用者の方をマニュアル作業で救う際に使えるよう、パスワードリマインダで使う仮パスワードの送信機能は、マニュアルでも実行できるように作ってありました。

Ver.3 までの運用はアドホックな対応ばかりで、コマンドラインからコマンドを叩いたり、 SQL を実行したり、何かある度に余計な手間がかかっていて、しかも環境の整った自宅以外では作業がしにくいものでした。そこでちゃんとした Web ベースの管理者画面も実装し、大半の作業がブラウザから可能になった事で、運用負荷をかなり減らすことが出来ました。ちなみに、自分用の WCR ユーザアカウントの ID は 1 だったのですが、管理者フラグは ID=1 でハードコードされていました。世界中でたった一人しか使わない管理者画面ですからね。

また、ヘルプや FAQ の充実にも力を入れました。FAQ には検索機能や「最近よく参照される質問」「関連質問」「関連ページ」などを実装し、できるだけ利用者の方が自力で解答に辿り着けるようにしました。それでも足りずいざ問合せとなった際でも、問合せ画面ではまず問合せ内容のカテゴリを聞き、カテゴリに応じてフォームや必須項目を変化させることで、最初の問合せ後のやり取りが極力少なく済むようにもしています。

とまあこれまでのところ、さらりと色々な機能を実装したように書いていますが、実際にこれを作りきるまでには相当の苦難がありました。私生活に支障が出ないように Ver.3 での運用をしつつ、Ver.4 の開発時間を捻出するのがまず大変でしたし、なかなか出せない進捗にモチベーションを維持するのも大変でした。Ver.4 の開発を始めたこと自体はアナウンスしていたのですが、遅々として進んでいる様子が見られない状況に、出す出す詐欺…とまで言われたかどうかは分かりませんが、状況的にはそのような感じでした。

そこで自身のモチベーション維持にと始めたのが開発者ブログです。とても有り難いことに、様々な問題を一気に片付けるとされる新バージョンに期待をして下さる利用者の方は多く、ちょっとローカルで進捗がある度にブログへ報告すると、ポジティブに受け取ってコメントを付けてくれる方が毎回数人はいました。人間褒められると頑張れるもので、開発者ブログを始めて以降はそれまでと比べると順調に進捗が出るようになりました。

さあいよいよ完成した、リリースできるぞ。となっても、Ver.4 のリリースは過去最高のリスクを伴ったリリースでした。なぜなら Ver.3 までの時とは違い、プログラム、データベース、サーバ、ドメインなど全てを完全に新しくしたからです。そのリスクを軽減するために取った策は、βテストでした。Ver.4 のリリースに際して以前はなかったものとして、サブドメインを自由に追加する権限や開発者ブログがありました。ですので 2008-09-05、βテスト用に beta.webcomicranking.com というドメインを用意し、Ver.3 のサイト上および開発者ブログでβテストへの参加を呼びかけました。

マーケティング的な話をすると、開発者ブログでは常にモザイクをかけた絵しか見せていなかったので、それがティザー広告的な役割を果たし、一刻も早く新バージョンを見てみたい方々を惹きつけることが出来ていたのだと思います。十分な数の利用者の方々にβテストにご参加いただき、また重要なフィードバックもいただいて完成度を高めた Ver.4 は、2008-09-28 についにリリースされました。

ところで本項の最初に述べた 3 つのポイント、パフォーマンス・SEO・運用負荷の軽減はいずれも運営側からの都合から来ているものでした。一方、Ver.4 ではその他に利用者の方々のニーズに応えるべく作られた機能がありました。更新情報のお知らせ・ブックマーク・ホットランキングの 3 つです。

更新情報のお知らせは、各登録サイト上で新しい漫画が公開された時にそれをお知らせるするための機能です。直近のお知らせがトップページにも載るようになっていました。そもそもトップページでの露出が他のページと比べても特別に多いため、サイト登録規約で禁じているにも関わらず、同じサイトを何度も登録しなおして新着サイトとしてトップに表示させようとするハックがずっと続いていました。発見する度にもちろん厳正な対処はしていたのですが、これがされるという事はそこに潜在的なニーズがあるという事なので、そのニーズに応えた機能になります。この機能は WCR 終了直前まで本当に良く利用されました。

ブックマークは、WCR アカウントを作ってログインすると利用できるようになる機能で、お気に入りのサイトを常に WCR 上に表示するための機能でした。これは実は、更新情報のお知らせとセットになっていて、お気に入りサイトの更新情報を簡単に確認する事ができ、新着のお知らせの流速が早すぎてもお気に入りだけは見落とさずに済むので、WCR 利用者たる自分が欲しくて作った機能です。実際のところ、あまり多くの人に活用されてはいなかったのですが、自分の役にたったので満足です。

ホットランキングは、Ver.4 のリリースに遅れること約半年、2009-04-05 にリリースされた機能です。独自の計算式でポイントを集計し、それによって「エースランキング」と「ルーキーランキング」を表示していました。ランキングサイトの宿命として、古参が絶対的に有利というものがあります。新着サイトに載ってトップページに表示されている間は大量のアクセスがあっても、いったんそこから外れるとアクセスが激減し、投票も得られず、もともと上位にいて常連さんから安定した得票がある古参に割り込んでランキング上位にいくのが難しい。というのは長年の課題でした。それを緩和するための機能がこのホットランキングです。

ホットランキングで使用していたポイント計算式は下記のようなものです。

hot_about01.gif

謎の定数がそこかしこにありますが、それらは基本的に最も直感に合った結果になるようバランスを調整するために職人芸で設定したものです。基本的には直近の得票ほど高く評価をするという重み付けをして、総得票数が増えるほど不利になり、かつ総得票数によって参加できるランキングを制限することで、「ルーキー」は比較的最近登録されて今後の成長が期待できるサイト、「エース」はある程度継続して得票がある中堅どころのサイトをピックアップできるようにしていました。

この頃になるとだいぶ Twitter も普及していて時折 "WCR" でエゴサしていたのですが、これらのホットランキングで上位に入ったことを喜ぶツイートを見つけては、作って良かったなぁと嬉しくなったものです。

Ver.4 のシステム開発およびその後の改善では、個人の別プロジェクトや仕事を通じて培った知識や技術を総動員していました。例えば、当初全てのページを動的に出力していたら、アクセスの特に多いトップページや各種ランキングの最初のページでパフォーマンスが落ちたので、特定のページだけ定期的に静的に出力したものを使い、アクセスの少ないページは動的なままにするハイブリッド構成にしたり。SQL の実行が遅くなると、実行計画を解析してインデックスを追加したりクエリを分割したり。Apache のレイヤでは、同時アクセス数や KeepAlive の時間を実データを元に最適化してみたり。ネットワーク帯域が足りないと分かれば、画像だけ別サーバ s.webcomiranking.com でホストしてトラフィックを逃がしたり。まあ思いつく限りの色々な改善を施していました。

それでもなお、月間 10 万超のアクティブユーザを抱えている時代は同時に大量のデータ更新が必要なランキングの更新を失敗してデータが破損したり、レスポンスが遅くなってご迷惑をお掛けしたりしたのですが、利用者の皆様の叱咤激励に支えられながら約 11 年間もの間 Ver.4 は稼働し続けました。

さて、Ver.4 が実際には WCR システムの最後のバージョンだったのですが、この章にはまだ少し続きがあります。

幻の Ver.5

Ver.4 の項では何やら綺麗に締めた形になっていますが、結局パフォーマンスの問題から逃げ切ることは出来ておらず、Ver.5 の構想自体は何度も持ち上がっては消えました。VPS が安く使えるようになった頃には、早い DB のマシン 1 台と複数台の Web サーバによる構成を検討していましたし、後にクラウドが主流になってくると、全てをクラウドに載せてスケールさせる案も検討していました。また、モバイルファーストが叫ばれるようになってもう久しいですが、WCR は古めかしいデザインのままモバイルには全く対応していなかったので、レスポンシブのデザインを作ったりもしていました。

今もし時間があって、お金があって、ニーズがあったら作りたい Ver.5 は、今の自分の技術スタックで言うと、GCP 上にデータもロジックも置く形で Node を走らせて、 React の SPA をレスポンシブで作るような感じかなと思います。CSS フレームワークには Bulma とか使いたいですね。言語は TypeScript にするか Vanilla(注1) のままでいいか悩ましいところです。結局一人しか開発者がいないと型の恩恵ってあまりないと思うので。
(注1) といっても Babel 込みの ES2020

この章の最後は、手元のデータをサルベージして出てきた、作りかけては完成しなかったいくつかの幻の Ver.5 のスクリーンショットを供養して締めたいと思います。

v5a.png

v5b.png

v5c.png

WCR Comic Viewer について

WCR Comic Viewer は WCR 本体とは別に、ウェブコミックを公開している作者の方々を応援する目的で、2008-10-17 に姉妹プロジェクトとして立ち上げたウェブコミックのビューワです。セットアップをできる限り簡単にするために viewer.webcomicranking.com 上でホストしている JavaScript を直接ロードすることを推奨しており、WCR 本体が終わる事でこちらも終わるのではないかと心配される方もいるかと思います。

ご安心下さい。今後新機能を追加したりモバイル対応したりする予定はないものの、現在動いているものについては可能な限り現状を維持します。それが、ホストしているファイルを直接使う事を推奨した責任だと思っています。

WCR 管理者について

WCR は管理者 Otchy が運営していた個人サイトです。…という事をちゃんとサイトの説明書きを読めば分かるようにはしていましたが、意図的にあまり目立たないようにもしていました。これはサイトの運営上でトラブルがあった際でも、WCR という組織という体であった方が対応しやすいからと言うのが一番の理由です。ですのでお問い合わせに対する回答なども、WCR を主語として回答するように心がけていました。

ただ、実際にはもちろん Otchy という個人がそこにいて運営していたわけです。この 20 年の間に、大学を卒業し、就職し、結婚し、転職し、子供が産まれ、転職し、転職し、子供が産まれ、転職しました。自分の人生の約半分の間 WCR はずっと傍らにあり、20 年間通じて得たものは大きくかけがえのないものでした。

WCR の終わりに寄せて

WCR の終了を発表して以来、お問い合わせフォームを通じて何通もの感謝のメールをいただきました。Twitter 上で別れを惜しんでくれる方、懐かしい思い出を語ってくれる方を何人も見かけ、そのいくつかにはいいねも付けさせてもらいました。20 年間続けてきたことが多くの方々に支持され、何らかの役に立ち、時には人生を方向付ける事すらあったのだと思い至り、とても嬉しくなりました。

WCR はこれで終わりになりますが、WCR を利用して下さっていた皆様にも時折思い出していただけるように、このドメインは可能な限り長く保持しこのページを公開し続けます。青臭い言い方になりますが、WCR で青春を分かち合えた全ての方々に、帰る場所を残しておきたいと思います。

広告収入の話、買収提案の詳細、Google AdSense から BAN された絶望、不正投票との仁義なき戦い、R18 に対する取り組み、など 20 年ともなるとまだまだ語り尽くせぬテーマは残っているのですが、今はこれで筆を置きたいと思います。あらためて WCR に関わった全ての方々に御礼申し上げます。ありがとうございました。

2020 年 2 月 7 日、WCR 管理者 Otchy

P.S. もし後継となりうるサービスなどを開発した方がいらっしゃったら、Twitter を通じてご連絡ください。内容の是非については WCR としての基準で判断させていただきますが、このページからリンクを張るなどの対応は出来るかもしれません。