ホテル情報を古いままにしないために、更新を忘れない仕組みを作った話
ホテル検索ツールを公開して、最初に直面した地味な問題が「データが古くなる」ことでした。楽天トラベルから取得した約3.7万軒分のホテル情報を1つのファイルにまとめているのですが、料金もキャンセルポリシーも日々動きます。1ヶ月放置のデータを見せ続けるのは、見にきてくれた人にとっても自分にとっても気持ち悪い。
そして私には、もう一つ大事な前提がありました。
自分は絶対に「更新するの忘れた」をやる。
気合と根性で「毎週土曜にちゃんと更新するぞ」と決めたところで、3週間後には必ず破綻している。なので、最初から 「忘れる前提」で仕組みを組む ことにしました。
仕組みは3つだけ
仕組みは、地味な3つのパーツでできています。
- 毎週土曜に勝手に届くリマインダーメール
- ダブルクリックひとつで終わる更新ボタン
- 古くなったら画面に赤字で警告するバナー
私が忘れても、メールが届く。メールを見落としても、サイトを開けば赤字が出る。届いた瞬間にやる気になっても、ボタン1つで終わる。──この三段構えで、なんとか破綻せず続いています。
1. 毎週土曜に勝手に届くリマインダーメール
まずは、毎週土曜の朝に、自分のメール宛てに「そろそろ更新の時間ですよ」というメールが自動で届くようにしました。
ただ毎週同じメールが来るだけだと、3週目あたりから無視するようになる、というのは目に見えています。なので、メールが届く前に 「いま公開してるホテル情報は、何日前のデータか?」を自動でチェック してもらって、その結果でメールの件名が変わるようにしてあります。
- 7日未満:🟢 良好(更新は任意)
- 7日以上:🔴 更新推奨
- 取得失敗:⚠️ 確認要
緑のメールが続いている間は安心して放っておけて、赤が来た瞬間に「あ、更新しよう」と手が動きます。ただ吠えるだけのリマインダーじゃなく、状態を反映してくるのが地味に効きました。
この仕組み自体は、Claude Code に「毎週土曜に自動でメールを送って、しかもデータの古さで件名を変えてほしい」とお願いしたら作ってもらえました。中で何が動いているのかは正直あんまり追えていませんが、土曜の朝に毎週ちゃんと届いているので、ちゃんと動いているのだと思います。
2. ダブルクリックひとつで終わる更新ボタン
メールを見て「よし、更新するか」と思ったとき、何ステップも作業があると確実に億劫になります。
なので、Macのデスクトップ的な場所に 更新.command という見慣れない名前のファイルを置いてあって、これをダブルクリックするだけで、
- 楽天から最新のホテル情報を取りに行く
- 公開用のデータを作り直す
- サイトに反映する
の3つを順番に勝手にやってくれるようにしました。だいたい25分ほど待っていれば、サイトが新しいデータに置き換わっています。
お昼休みの始まりにダブルクリックして、ご飯を食べて戻ってくる頃には終わっている、というリズムです。
ターミナルだのコマンドだのを覚えていなくても、Finderでダブルクリックするだけにしてもらったのが、自分にとっては大きいです。「あの長いコマンドを思い出さなきゃ」と思った瞬間に、たぶん更新するのが嫌になります。
3. 古くなったら画面に赤字で警告するバナー
最後の保険として、サイトの画面側にも仕掛けを入れてもらいました。
公開しているホテル情報には「いつ作ったデータか」という日付がくっついていて、ブラウザでサイトを開いたとき、その日付が 7日以上前なら、画面の上に赤い文字で「データが古いです」と表示 されるようになっています。
これは「メールを見落としたとき用」の最後の砦です。土曜のリマインダーを見逃しても、サイトをチラッと開いた瞬間に赤字が目に入るので、一週間以上放置はほぼ確実に防げます。
楽天から取ってくるデータの扱い方
楽天から取ってきたホテル情報は、こちらが勝手にずっと表示し続けるわけにいきません。利用条件もありますし、何より 料金は刻一刻と変わる ので、古い数字を出し続けると見にきてくれた人にも申し訳ない。
ただ、3.7万軒すべてをアクセスごとに取り直すのは、楽天側にも負担がかかりすぎます。そこで、
- サイトのデータは 週1回まとめて更新する
- 料金や空室の最終確認は リンク先の楽天で見てもらう(こっちはあくまで参考値)
- サイトには 「表示価格は参考値」と注意書き
- ホテルの予約リンクは 楽天アフィリエイト経由
という形に落ち着きました。新鮮さと、楽天への負荷と、こちらの手間。どれも極端にせず、1週間というほどよい間隔に。
仕組みを作って気づいたこと
「自分は忘れる」という前提を最初に置いたのは、結果的にすごく大事でした。
完璧な人間を前提に作ったルールは、必ず3週間で破綻します。逆に、忘れる前提・面倒くさがる前提で組んだ仕組みは、忘れて面倒くさがっても回ります。
メールが届く・ボタン1つで終わる・忘れてもサイトが警告する──の三段構えにしたおかげで、しばらく経った今もなんとか回っています。
次は、楽天アフィリエイトの月次レポートも、似たような感じで「毎月勝手にメールで届く」形にしてみようかなと思っています。
← 他の制作記を見る | トップ | お問い合わせ