自作サービスで忘れがちなあれこれ

はじめに

この記事はフィヨルドブートキャンプ Advent Calendar 2025 の9日目の記事です。

昨日の記事はmachidaさんのKaigi on Rails 2025 のデザインをやりました Vol.1 「メインビジュアルの3つの案」でした。


先日自作サービスAno Newsを公開しました。
フィヨルドブートキャンプ卒業から約2年。卒業時に作ったサービスは閉じてしまいましたが、また新たなサービスを立ち上げました。これからコツコツ育てていきたいと思います。

サービスの紹介はリリースブログに任せるとして、この記事ではサービス公開する際に「そういえば忘れてた」「あった方がよかった」となった機能を紹介したいと思います。
これからサービスを公開する方、作ろうという方は参考になるかもしれません。

忘れてた機能いろいろ

フォント設定

WEBフォントを使えば、環境によらず統一されたフォントを使うことができます。
AnoNewsはニュースサイトなので、コンテンツ本文は明朝体、見出しにはゴシック体を使うことにしました。
自作サービス作成中、デザインを後回しにしがちですが、適切なフォントを入れるだけで見栄えがよくなります。是非やりましょう。

2重リクエスト対策

例えば記事投稿の確定ボタン。連打すると同じ記事がだだだーっと大量に登録できてしまっていました。
これはフロント側で連打できないようにすることでほとんど解決するのですが、バックエンドでも重複登録を拒否するよう設定することでより安全なシステムになります。

2重リクエストについてはこちらの記事が大変参考になりました。
2重リクエスト完全攻略HANDBOOK / Double Request Handbook - Speaker Deck

退会機能

入り口や中身は一生懸命作るのに、出口は忘れがちです。
サクッとログイン出来て、気に入らなければスパッと退会できるのが理想です。ちゃんと実装しましょう。

OGP

OGPというのはX(Twitter)などのSNSにシェアしたときに表示される、タイトルや画像などの補足情報を表示するための仕組みです。
OGP画像があるとシェアされたときの見栄えがよくなります。シェアボタンがあるようなサービスなら設定しておきましょう。

AnoNewsのOGP画像

ハッシュタグ

シェアボタンからシェアされたときに、自サービス用のハッシュタグをつけておくと検索性がよくなります。
OGPと合わせて設定しておくとよさそうです。

キャッシュ

キャッシュ戦略を考えるのは難しいですが、ヘッダーやメニューなど、動的に更新されない部分のキャッシュなら実装しやすいのではないでしょうか。
AnoNewsでもヘッダーの一部はキャッシュを使うことで表示の高速化を実現しています。

ちゃんと実装してた機能

逆に、「これは最初から入れておいて良かった」という機能も紹介しておきます。

全文検索

後回しにすると面倒そうな機能として全文検索があります。
記事の文章などから任意の文字列を検索するためには索引を作る必要があります。これは文章を作成したタイミングで作るのが一般的です。
サービスリリース後に作る場合、既存の文章の索引を作るという作業が発生してしまいます。
文章を扱うサービスの場合、検索機能は最初からつけておいた方がいいと思います。

エラー追跡・監視

本番環境でエラーが発生したとき、どうやって気づけばいいでしょう?ユーザーの報告がなければ気づけないのでしょうか?
エラーを見逃さないためには、エラー追跡サービスを入れておくと安心です(Sentryなど)。

無料プランでも十分使えます。

まとめ

サービス公開前は機能実装に集中しがちですが、今回紹介したような「地味だけど重要な機能」も忘れずに実装しましょう。

これからサービスを公開する方の参考になれば幸いです!

Ano Newsもぜひ使ってみてください。「あのニュース、どうなった?」という疑問を解決するサービスです。