エフアンダーバー

個人開発の記録

クトゥルフTRPG Webアプリ 移転しました

クトゥルフTRPGツールβ版のドメインとサーバを移転したのでそのお知らせです。

www.f-sp.com

移転先

coc.f-sp.com

機能自体は特に変更ありません。

移転の理由

ざっくりと言うと、もともと使っていたサーバが使いづらかったため変えました。 ドメインはそのサーバを提供するサービスのものを使っていましたが、 ちょうどいい機会だったので自分の所有するドメインに変更しました。

以下、技術者向け。

当該アプリはSPAなのですが、元サイトのGitHub Pagesにはリダイレクトやリライトの機能がなく、 フラグメント(ハッシュ)を用いたルーティングをせざるを得ませんでした。 ただこれはSEOとしてよろしくなく、その結果……かどうかはわかりませんが、検索流入がほぼありませんでした。

そこで、サイトの評価を上げるべくフラグメントを用いないルーティングに切り替えることにしました。 最初は404ページのカスタマイズによって無理やり実現させようと思ったのですが、 ステータスコードが404なので、Search Consoleが存在しないページと認識してしまってインデクスされないようでした。 結局GitHub Pagesではどうしようもないと判断し、リライト機能のあるNetlifyへの移行を決めました。

ドメインについてはサーバ移行のため引継ぎができず、 また同様の事態が再度起こる可能性を考慮して、 所有するドメインのサブドメインにしました。

データ移行の方法

アプリのデータはIndexed DBというブラウザの機能によって保存されていて、 これはドメインごとにデータを記憶するため、 旧サイトのデータを新サイトから読みだすことはできません。 そのため、データを新サイトに移動する必要があります。

旧サイトのトップページに移行用の機能を用意したのですが、 技術的な問題でなかなか表示されないかもしれません。 お手数ですが、以下の手順で表示させてください。

  1. 旧サイトのトップページを開いてブラウザの更新ボタンを押す
  2. 旧サイトを開いているすべてのタブを閉じる
  3. 旧サイトを再度開く
  4. 表示が変わっていなければ1に戻り、時間を置いて何度か繰り返してみる

移行機能を用いてもデータが移せない場合には、別の方法を考えますのでご連絡ください。

なお、このデータ移行機能の提供は三月末頃までを予定しています。 それ以降はデータを移行できなくなるので注意してください。

技術的な問題って?

一般向けに説明するのは難しいので、技術者向けに。

当該アプリはService Workerによってオフラインでも動作するように設計されています。 そのためすべてのリソースはキャッシュされていて、Service Workerが更新されない限りキャッシュされた内容が表示され続けます。 特にこのアプリはSPA用に特定パス以外へのリクエストをすべてルートへのアクセスに書き換える実装がされているため、 別ページに誘導してService Workerを無効化するコードを実行させることもできません。 つまり、新しいページを表示させるにはService Workerを更新するしかありません。

Service Workerの更新はその変更が検出されてからすぐに行われるわけではなく、 対象となるページを開いているタブがすべて閉じられた後に行われます。 そのため上述のような手順を踏む必要があります。 ブラウザの開発者ツールが利用できるのであれば手動で無効化してもかまいません。

おわりに

正直このアプリを使っている人が存在するのかさえよくわかっていないのですが、 とりあえず検索にすら引っかからないのは悲しいので、 少しでも検索結果がよくなるように足掻いてみました。 身内でしかTRPGに触れないので検索以外の宣伝用チャンネルがないのですよね……。

そういえば公開時にあとで記事を書くとか言っておきながら書きませんでしたが、 開発支援に関するページを作りました。 よろしければお願いします。