まんじ

25歳の頃にプログラミングを始めて27歳からフリーランスエンジニアしてますう
プログラミングベースで0から年収1000万円ぐらいまでの情報を書いてます

ぼくの月間6万PVのアダルトウェブアプリがSEOで飛んだ

  • 2023/09/03
  • 2024/06/24
  1. 個人開発
ぼくの月間6万PVのアダルトウェブアプリがSEOで飛んだ

始めに

どうも、まんじです。

今回はぼくのアダルトウェブアプリの検索順位がほぼ全部飛んだので、そのノウハウをご紹介したいと思います。

ある日からあるページにアクセスすると500エラー

とある日

「うひゃ〜月間6万PVぐらいになったけど、これマネタイズ無理じゃね?そもそも設計に失敗してね?」

と、萎えつつも適当に自分のアダルトウェブアプリを徘徊していました。

すると、AV女優の個別ページにアクセスすると500エラーが連発。

バックエンド側は落ちたら無理やり再起動させる設定にしていたので、どうしてか疑問に思いつつも面倒だったので1ヶ月ぐらい放置していました。

重い腰をあげて500エラーの調査

最初はbing botの大量アクセスでSQL発行されすぎなのかと思い、bot系のアクセスをnginxで禁止しました。

これでワンチャンいけるんでね?と思ったものの、なおらず、アプリを立ち上げると数十秒で常時100%でAV女優個別ページにアクセスすると500エラーになってしまいました。

困ったナーってことで、自家製まんじ式でSQLの結果をメモリにキャッシュしてみても、それでもダメ。

次にSQLの実行時間のtimeoutやconnection poolを変更してみても、ダメ。

timeoutを変更して短くしたので、すぐ500エラーが戻ってくるようにはなりました。でも、ダメ。

困りました。

それでインターネットの海を徘徊していると、このコマンドで原因を調査してみなYO!というページを見つけてやってみることにしました。

show processlist;

↑を打ち込むと、SQLの実行中のクエリが見れて、ずっと終わらないクエリを発見しました。

kill <process id>;

↑をしてSQLのクエリを強制的に終わらせると、CPU100%がなおりました。

ということで、SQLのクエリで死んでそうなところを調査していくと、気付いたら大量joinが発生しているところを発見したので大量joinをなおしてやりました。

結果、なおりました。

「よっしゃ、これで勝利ヤデェ」と思ったもののマネタイズ的にどうしようもないので、また放置していました。

ちなみに、データが勝手に増えていく系のデータベース(スクレイピングして勝手に保存されるとか)の場合に起こりやすい現象っぽいです。

重いSQLが実行されて、それが全然終わらず、500エラー的な。

let’s encrypt のSSLが切れている事に気付く

ある日、自分のアダルトウェブアプリにアクセスしたところ、SSL切れている的な感じの結果が画面に表示されていました。

「やってしまったヤデ!!」ということで、多分10日ぐらい切れていたのか、search consoleを見るとこうなっていました。

まるで2022年のクリプト相場の草コインのごとく、息の根がとまっていました。

内部リンクとかのカウント数とかも数万〜数十万あったのが、0になっていて、数日後も0のまんまだったのでSSL証明書切れは怖いなと思いました。

反省と教訓

SSL証明書の更新は自動化

let’s encryptの単一ドメインのSSL更新はcronで自動でできるので、それをやろうとわりと誓いました。

本気でそのアプリで稼ぐなら定期的な監視が必要

監視ツール系の導入は本気で稼ぐというか運用が必要になったら導入する必要があるなと思いました。

(今回はマネタイズがほぼできてなかったので、そういったモチベがなかったのですが…)

SEOメインの集客だとアプリが数日連続で落ちると終わりがち

Google検索エンジンは容赦なき独裁者なので、「こいつだめじゃね?」と思ったら容赦無く検索結果から飛ばしてきます。

なので、SEOメインで売り上げが立つようなアプリの場合は、数日連続で落ちてしまったりするとSEOが飛んで売り上げも飛ぶのでそこは気をつけないといけないと思いました。

根本的な問題は、ビジネスとしての設計

厳密にはコードが微妙だったからとか怠惰だったからというよりも、ちゃんと利益が出る設計ができていない状態でPVが集まってしまっていたので、そこが問題だったなと思いました。

次作る系のやつでは、そこらへんを加味したりリサーチしまくってからやりたいなというのが反省ポイントです。

というか、リサーチを外さないでマネタイズと集客まで事前に作れるってのが、なんだかんだで1番難しいというかアプリで稼ぐ場合の本質的な部分というか、そこ外すと全てが無になるって感じのことは思いました。

極端のこと言えば、以下のやり方が稼ぐアプリにするうえでのベストプラクティスかなと思います。

  • マネタイズできるポイントを用意する
  • 集客する方法を具体的に用意する
  • システムの実装はノーコード、もしくはなくてもいいぐらいのスタンス

イメージとしては、本質的な価値をシステム以外のところに作って、その本質的な価値をシステムで自動化するのが目的でシステムが手段として使われる的なイメージです。

これが分かっていても実際にやるのが難しいところかなと思います。

実際、労働でコード書いてるとコードのほうに意識が向くので、普段と真逆ぐらいのマインドセットがいる必要がある感じはします。

まとめ

アダルトのウェブアプリが飛んだんですが、月の収益は数千円程度だったのと、ビジネス的な設計が詰んでいたのでまあいいや〜って感じです。

500エラーよりも、SSLの証明書切れのが怖いので、そこは気をつけないといけないなと思いました。

ウェブアプリを売るか、ウェブアプリで稼いで、もっと余裕になりたい人生です。

まんじ

25歳の頃にプログラミングを始めて27歳からフリーランスエンジニアしてますう
プログラミングベースで0から年収1000万円ぐらいまでの情報を書いてます