畳んだのは、登録者0人のまま終わった登録ページ

2026年10月24日に、登録ページ /lead/ を含むリード導線を本番に出しました。流れは、登録、確認メール、3分診断、無料本、ステップメール0〜2日目です。1時間ごとの見回り処理もつけました。

投入時の検証では、自動テストが122件中122件通過しています。わざと壊す検査は、リード系で23通り、診断ページで15通りあり、すべて検出できました。

登録ページへ直接送る導線は、作っていなかった

/lead/ へリンクしていたのは、本のページ /dl/book/ だけでした。10月24日からLINEのメニューに、特典一覧から診断と無料本へ進む経路はありました。登録ページへ人を直接送る導線は作っていません。

11月1日に販売LPへ一本化した

11月1日に、この導線を畳んで販売LP /pebblemint/offer に一本化しました。その時点で、データベースの4表(登録者・ステップ送信・診断・リンク使用)はすべて0行でした。登録者は0人です。

転送した12行と、200のまま残した3種類のURL

転送先は、畳んだページすべてを /pebblemint/offer にしました。転送規則は1行ずつ書いています。内訳は次のとおりです。

  • /lead、/lead/、/lead/confirmed、/lead/confirmed/ の4行
  • 旧登録ページ /newsletter-ai について、/newsletter-ai、/newsletter-ai/、/pages/newsletter-ai、/pages/newsletter-ai/ の4行
  • 旧登録ページ /newsletter-ec について、同じ形の4行

合計12行です。末尾スラッシュの有無は、両方とも書いています。

丸ごと転送にしなかった理由

3分診断 /lead/diagnosis/ は生かしました。LINEの特典一覧、本のページ、ニュースレターの確認メールから使われているためです。

/lead/ 配下をまとめて転送する書き方にすると、診断ページも巻き込まれます。そこで /lead/* のような規則は作らず、畳むURLだけを1行ずつ並べました。

登録後に使う /newsletter-ai/thanks、/newsletter-ai/confirmed と、EC側の同じ2つも、301に巻き込まず200のままにしています。

LP閉鎖の実例:301で転送したURLと、200のまま残したURL

301で転送した(12行)

  • 旧登録ページ /lead と完了ページ /lead/confirmed(末尾スラッシュの有無で各2行)
  • 旧登録ページ /newsletter-ai と /newsletter-ec(各4行)
  • 転送先はすべて販売LP /pebblemint/offer

200のまま残した

  • 3分診断 /lead/diagnosis/(特典一覧・本のページ・確認メールから使う)
  • 登録後の thanks ページ
  • 登録後の confirmed ページ

テストで固定している内容

転送の規則は、テストに書いて固定しています。この記事の制作ではテストを再実行していないので、書かれている内容だけを挙げます。

  • 畳んだURLが301で転送先に着き、転送先が200であること
  • /lead/diagnosis/ が200のままで、どの規則にも当たらないこと
  • /lead 配下を丸ごと転送する規則が無いこと
  • 畳んだページの実体が残っていないこと
  • サイト内の /lead/ への入口が診断ページだけであること(検査が空振りしないよう、診断への入口があることも確かめます)
  • thanks と confirmed が301にならないこと

消す順番は、デプロイ、確認、数え直し、削除の4段

消したものは、登録・確認・ステップ送信・配信停止の処理とページ、見回りのスクリプト、購入照合(既定で止めてありました)、配信サービスの連絡先への一度きりの追加と点検のスクリプト、「確認待ちに回す」処理です。

順番は次の4段です。

  1. コードをデプロイする
  2. 本番で登録と診断が動くことを確かめる
  3. 流す直前に、4表が0行であることを数え直す(11月1日の実測は4表とも0)
  4. 表を消すSQLを1回だけ流す

SQLの手順の冒頭には、消さない2つの表を明記しました。

閉鎖した登録導線のデータとコードを消した順番
  1. デプロイ登録・確認・ステップ送信・配信停止の処理とページを外したコードを本番へ出す
  2. 本番で確認残す登録と診断が本番で動くことを確かめる
  3. 数え直し消す直前に、登録者など4表が0行であることを数える
  4. 削除表を消すSQLを1回だけ流す。消さない2つの表は手順の冒頭に明記する

見回りの時計を止める

見回り処理の時計も止めました。止めないと、毎時、消えた口を呼び出して404を記録し続けます。

認証用の鍵2つと手元の控えは、消すかどうかを判断事項にしていったん保留し、その後に削除しました。ここまでの後片付けは、11月1日に完了と記録しています。時計の登録ファイルが残っていないかは、この記事の制作では確かめていません。

名前だけで判断すると壊れる表

受信箱ごとの送信枠を持つ表には、畳んだ導線の名前が付いていました。ところが実際には、ニュースレター登録、問い合わせ、代行の事前ヒアリングの3つの口が使っています。名前で判断して消すと、この3つが壊れます。

そこで、部品は共有の場所へ切り出し、表は名前のまま残しました。残したものは次のとおりです。

  • 3分診断(答えはその場で採点して見せるだけで、保存しない形に変えました)
  • 本のページ
  • メール形式チェックと、受信箱ごとの送信枠
  • ニュースレターの列の開始台帳
  • 配信サービス側の連絡先の項目

転送先のLPから旧URLへリンクが残っていた

2日後の11月3日に、堂々巡りが見つかりました。

サイトの無料の入口(「無料で整理する」のボタンなど)は、旧 /newsletter-ai を指したままでした。旧 /newsletter-ai は、/pebblemint/offer の先頭へ301で転送します。そのため、読み手は販売LPから無料の入口へ進むと、来たLPの先頭へ戻されました。登録フォームには直接着きません。

閉鎖した旧URLへのリンクが残ると、転送先のLPの先頭へ戻る
  1. LPを読む読み手が販売LP /pebblemint/offer を開く
  2. 入口を押す「無料で整理する」のリンク先は、閉鎖した旧 /newsletter-ai のまま
  3. 301で転送旧URLの規則どおり、販売LPの先頭へ転送される
  4. 先頭に戻る読み手は来たページの先頭に着き、登録フォームには直接着かない
  5. 直した後入口を販売LP内の登録フォームの節(#free-gift)へ直接向けた

301は正しく動いていた

転送の動きは設計どおりでした。問題だったのは、転送先へ人を送る入口が、転送元の旧URLを指していたことです。

12行の規則と転送の検査だけを見ていても、この状態は見つかりません。転送は旧URLにアクセスしたときの動きを決めるもので、ページの中のリンクがどこを指しているかは別の話だからです。

直し方

無料の入口を、/pebblemint/offer?…#free-gift に直接向けました。#free-gift は、販売LPの中の登録フォームの節です。

ヘッダーとスマホメニューの入口をすべて差し替え、テストでは入口を100件以上拾えていることを下限として確かめています。あわせて、次の2点も固定しました。

  • 販売LPの中に、自分の先頭へ戻すリンクが0件であること
  • 販売LPのヘッダーはロゴだけの専用のものにして、無料の入口が差し込まれないこと

ページの役割も同じ日に分けた

同じ11月3日に、ページの役割も分けました。販売LPと紹介ページは、どちらも全部入りで同じことを書いていて、読み手が今どこにいるのか分からない状態でした。そこで次のように分けています。

  • 販売LP: 気づいて、無料特典に登録するページ。料金・申込み・相談は置かない。最後に紹介ページへ1本だけリンクする
  • 紹介ページ: 中身を知って買うページ。料金は1回だけ。販売LPや無料特典へ戻るリンクは置かない
  • 買うページ: 紹介ページからだけ行く

この分け方もテストで固定しています。販売LPに申込み・料金・相談の入口が無いこと、紹介ページから販売LPと無料特典へ戻る入口が無いことです。

旧URLの検査が届いていない場所と、残っている課題

旧URLへのリンクが0件であることを確かめる検査は、コラム以外のページだけが対象です。

コラム本文の中ほどと記事末にある登録リンクは、今も旧URLのままです。コラムの生成スクリプトが、登録先の照合にこのURLを使っているためです。

つまり、コラムから来た人は、登録フォームではなく販売LPの先頭に着きます。コラムからLPへ進むので堂々巡りにはなりませんが、フォームへ直接は着きません。この点は、まだ直していません。

確かめていないこと

次の点は確かめていません。検索順位、流入、登録数の変化も測っていません。

  • /lead/ が検索結果に出ていたか
  • 301でクエリ文字列(utmなど)が引き継がれるか

LPを閉鎖するときに確かめる点

今回の実例から、確かめる点をまとめます。

  • 閉じるURLを末尾スラッシュの有無まで書き出し、生かすURLを巻き込まない形で転送する
  • 閉じるページと名前が同じでも、他の機能が使っている部品やデータがないか調べる
  • データは、コードを出して本番の動作を確かめた後、直前に数え直してから消す
  • 止まった処理を呼び出す定期実行が残っていないか確かめる
  • 転送の規則だけでなく、サイト内のリンクを旧URLの一覧で検索する