generator copy leaks

生成元を写して新サイトを作ったら、他サイトの計測IDと地名が残っていた記録

似たサイトを何本も作るとき、既存サイトの生成元(ページを書き出すコード)を写して語を置き換える方法は速いです。ただし置換は日本語のサイト名に目が行き、別の形をしたものが残ります。この面は、2026年9月19日に新サイトを作ったときに残っていた4種類と、2026年9月から10月に起きた「生成元を再実行したら差分の成果が全部消えた」「記憶から書いた標準文が範囲を狭めた」の記録です。計測IDなどの実際の値は書きません。

このサイトはAnthropicの公式サイトではありません。Claude Codeの機能・料金・提供範囲は変わる可能性があるため、重要な判断の前には公式のドキュメントと自分のアカウント設定を確認してください。

先に結論:写した直後に、この4種類を名指しで検査する

残ったもの起きること見つけ方
計測タグのID(生成元に直書き)新サイトのアクセスが、元のサイトのプロパティへ送られ続ける。画面に出ないので本番は正常に見えるgoogletagmanager を生成物全体から検索し、IDの持ち主を一覧表で確かめる
他サイトの地名と事実(本文に手書き)元のサイトの街名や調査結果が、新しいサイトの本文に出る生成物の本文を読む。元サイトの街名で検索する
英字の表記(ロゴなど)元のサイト名の英語表記が、ロゴに残る大文字8字以上の連続を検索する
PHPの関数名・保存ファイル名同じサーバーに同居する別サイトが、同じ名前のファイルに書く。数字が混ざる元サイトの接頭辞で検索する

サイト名の置換で終わりにせず、この4種類を、写した直後に1回ずつ確かめます。

手順:新サイトを写したら

  1. 計測IDは生成元に直書きしない。設定の1か所から引き、未作成ならタグを出さない(null)ようにする。他サイトのIDで代用しない。持ち主は一覧表で確かめる。
  2. 本文に他サイトの固有名詞や数字が手書きされている前提で探す。設定の差し込みに逃がしてある数字は安全ですが、生成コードに直書きされた文は残ります。
  3. サーバー側のPHPは、ビルドが作らない。生成物の一覧に出ないので、コピー漏れに気づけず、本番が500になります。require しているファイルを先に数えます。
  4. 関数名・保存ファイル名を新しい名前空間へ。公開領域の外に置くJSONを共有すると、数字が混ざります。
  5. ビルド後に、生成物全体(ページとPHP)に対して上の4種類を検索し、0件でなければ上げない。

この種の見落としは、検査の範囲が狭いと素通りします(手伝いの報告の確かめ方)。

実際に起きた記録

2026年9月19日:4種類が残っていた

ある一覧サイトの生成元を写して別の業態のサイトを作り、元のサイト名を全部置換したにもかかわらず、4種類が残っていました。計測IDは共通の部品に直書きで、元のサイトのプロパティへ送信し続ける状態でした。本文には、元のサイトの調査結果(街の数と特定の街だけという内容)が3か所に残っていました。ロゴは元の英語表記のままで、PHPの保存ファイル名にも元の接頭辞が残り、さらにコピー漏れのPHPが1つあって本番が500になりました。

2026年10月14日:生成元の再実行で差分が消えた

ページを丸ごと書き出す生成元を実行すると、その後に走らせた差分ビルドの成果が全部消えます。あるサイトの16枚で、深掘りした本文が14,863字から12,625字に減り、追加した節、CTAのブロック、ヘッダーとフッター、キャッシュ対策の版番号まで古い状態に戻りました。構文を確かめるつもりで node -e "require('./生成元.js')" と打つと、読み込みではなく実行されます。読み込みだけなら node --check を使います。

  1. 生成元を直したら、実行せずに、差分パッチ側(HTMLを書き換えるスクリプト)で本番を直す。
  2. 実行してしまったら、本番のページを取り直して手元に上書きするのが最短で確実。
  3. 復旧後に、差分パッチを当てる順(深掘り、CTA、内容、外枠、サイトマップ)で再適用する。

2026年9月28日には、配信される写しは0件なのに、生成元のデータには事実と違う表示が95件残っている例を数えました。刈り取りで面を410にしても、生成元から消さなければ、誰かがビルドを回した瞬間に復活します。

2026年9月26日:標準文を記憶から書いた

網の標準文を、ファイルを開かずに記憶から書き、元の文の範囲を狭めてしまいました。元の文は費用の負担について広い範囲を指していましたが、私が書いたのは特定の場合の費用に限る文でした。語が変わると約束の範囲が変わります。5サイト・121箇所に広がってから、管理側の指摘で標準文を開いて比べて気づきました。標準文は毎回、決まったファイルの該当節を開いて写すことにしました。一括の書き換えで起きる別の罠は一括置換の罠にあります。

写す前に決めておくこと

後から検査するより、写す前に決めておくほうが安く済みます。

  • 新しい名前空間を最初に決める:関数名、保存ファイル名、CSSの接頭辞を、置換の前に新しい名前で決めておく。
  • 差し込む値の一覧を作る:サイト名、計測ID、街名、店数など、サイトごとに変わる値を設定の1か所にまとめ、生成コードに直書きしない。
  • 写し終えたら生成物を読む:検索で0件を確かめた上で、トップと代表の数ページは目で読む。置換が文の意味を変えていないかは、検索では分かりません。
  • 差分パッチの順序を記録する:生成元の後に何を当てたか、当てる順を書いておく。再実行したときに戻せます。

よくある質問

計測IDを設定に持たせると、何が変わりますか。

未作成のサイトでタグが出なくなり、他サイトのIDを誤って送る事故が起きません。持ち主の一覧と突き合わせる確認も1か所で済みます。

生成元を直した後、本番はどう直しますか。

生成元の再実行ではなく、差分パッチで本番を直します。生成元の修正は、次の全面再生成のための備えです。

写した後の検査は、何本のページで行いますか。

4種類は生成物全体を機械で検索します。本文の読み込みは、全ページが無理なら代表ページを数本読み、検索で0件を確かめた上で、範囲を報告に書きます。

次に読むページ