つ積み上げログ技術ブログ記事一覧へ

自主執筆記事

Vercelにpushしても反映されないのはGit未接続だから|canonicalが古いまま残る

リポジトリを直しても本番が何か月も古いままだった。プロジェクトがGitHubに接続されておらず、過去にCLIから手で流したビルドが配信され続けていた。独自ドメインのcanonicalがvercel.appを指したままになっていた。

サイト運営公開: 2026/10/02更新: 2026/10/02
VercelデプロイcanonicalGitHubSEO

01 / 本文

直したはずのものが本番に出ていない

リポジトリでは直っているのに、本番のHTMLが古いままだった。pushはできている。エラーも出ていない。

デプロイのログを探したが、そもそも最近のデプロイが1件も無かった。 最後のデプロイは数か月前で、そこから1度も走っていない。

02 / 本文

プロジェクトがGitに接続されていなかった

プロジェクト一覧を見ると、該当するものに Connect Git Repository と表示されていた。

過去にCLIから手で流したビルドがそのまま配信され続けていた。push しても何も起きないのは正しい動作で、接続されていないのだから当然だった。

同じアカウントの中に、接続済みのプロジェクトと未接続のプロジェクトが混ざっている。接続済みのほうを見ていると、未接続のほうも同じだと思い込む。

03 / 本文

何が起きていたか

古いビルドが配信され続けた結果、SEO上の実害が出ていた。

- 2つの独自ドメインの canonical が、どちらも *.vercel.app を指していた → 独自ドメインが自分自身をインデックスさせられない状態 - 別のサイトでは、サイトマップと canonical が308でリダイレクトするURLを指していた - トップページの本文が180字のまま(修正後は704字)

どれもコードでは直っていた。届いていなかっただけ。

04 / 本文

直し方

プロジェクト → Settings → Git → GitHub → リポジトリを検索して Connect。GitHub連携そのものが済んでいれば、承認画面は出ない。

ブランチ名を確認する。 master のままのリポジトリが混ざっていると、接続しても対象ブランチが合わずにデプロイされない。

project-a  →  owner/project-a   ブランチ master(main ではない)
project-b  →  owner/project-b   ブランチ main

05 / 本文

一覧で機械的に洗う

1つ見つかったら、他も同じ状態の可能性が高い。プロジェクト一覧で Connect Git Repository の表示を探す。

実際に確認したところ、6件が未接続のまま残っていた。どれも独自ドメインが割り当てられていて、古いビルドが出ていた。

06 / 本文

本番側から確かめる

管理画面だけ見ても、配信されている中身が新しいかは分からない。本番のHTMLを取って、直したはずの箇所があるかを見る。

curl -s https://example.jp/ | grep -oE 'rel="canonical" href="[^"]*"'
curl -s https://example.jp/sitemap.xml | grep -c '<loc>'

07 / 本文

まとめ

- push しても反映されないときは、Gitに接続されているかを先に見る - 未接続だと、過去に手で流したビルドが配信され続ける - canonical が *.vercel.app のままだと独自ドメインが評価されない - 接続時はブランチ名を確認する - 1件見つかったら、一覧で全部洗う

コメント

この記事へのコメント

お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。