Rebounder Tech Blog

運用している当事者が書く、本番システムの記録。

Vercel で公開してから気づいた3つの落とし穴

公開 読了時間 約2分執筆: Rebounder 開発チーム(当該システムの運用当事者)

※本記事にはアフィリエイトリンクを含む場合があります。内容は広告の有無に影響されません。

結論

Vercel のカスタムエイリアスは再デプロイに自動追従しないため、更新のたびに貼り直さない限り、公開URLは古いデプロイを指し続ける。

結論から

デプロイ自体はつまずきません。問題はその先の3つです。

  1. カスタムエイリアスが再デプロイに追従しない
  2. 初期状態だと公開URLがログインを要求する
  3. 公開しただけでは検索に載らない

いずれも「上げてから気づく」類のもので、順に踏みました。

① エイリアスは再デプロイに自動追従しない

好きな名前のエイリアスを貼っても、次にデプロイし直すと、そのエイリアスが最新版を自動では指してくれないことがあります。

vercel alias set で貼り直す必要があると気づくまで、「更新したのに反映されない」と混乱しました。

定期的に中身を更新するサイトなら、この貼り直しを手順に入れておく必要があります。

② 初期設定だと公開URLがログインを要求する

Vercel には Deployment Protection という機能があり、初期状態だと、公開したはずのURLがログイン画面を出すことがあります。

社内向けや限定公開のツールならこれが正解です。ただし「誰でも見られる公開サイト」にしたいなら、この保護をオフにする必要があります。

「公開したのに他人が見られない」の犯人はこれでした。

③ 検索に載せたいなら sitemap / robots を置く

上げれば公開はされますが、Google に拾ってもらうのは別の話です。

検索流入を狙うなら sitemap.xmlrobots.txt を用意して、Search Console に登録するところまでやります。ここを飛ばすと「公開したのに誰も来ない」で終わります。

3つに共通していること

並べると、どれも「成功したように見える」形をしています。

  • ①はデプロイが成功する。ただし古い版が見えている
  • ②はURLが返ってくる。ただし自分にしか見えていない
  • ③はサイトが動いている。ただし誰も辿り着けない

エラーは一度も出ません。「上げた」と「届いている」の間に3つの段差がある、というのがこの3つの正体でした。

デプロイ先を選ぶときは、上げやすさだけでなく、上げた後に何を確認する必要があるかまで見ておくほうが、後の混乱が少なくなります。

よくある質問

Q1更新したのに反映されません。何を疑えばいいですか?

カスタムエイリアスが最新のデプロイを指していない可能性があります。エイリアスは再デプロイに自動では追従しないため、貼り直しが必要です。定期的に中身を更新するサイトなら、この操作を手順に組み込んでおきます。

Q2公開したはずのURLがログイン画面を出します。

Deployment Protection が有効になっています。社内向けや限定公開ならこれが正解ですが、誰でも見られる公開サイトにしたい場合はこの保護をオフにする必要があります。

Q3公開しただけでは検索に載らないのですか?

載りません。sitemap.xml と robots.txt を用意して、Search Console に登録するところまでが必要です。ここをやらないと、公開したのに誰も来ない状態が続きます。