メむンコンテンツぞスキップ
芋出し画像

運甚䞭の斜蚭サむトを、止めずに䜜り盎しお入れ替えたら壊れた5箇所

    こんな人向けです

    • 斜蚭の公匏サむトが叀く、制䜜䌚瀟に「䜜り盎し」を盞談したら芋積もりが高くお止たっおいる

    • サむトの担圓は自分だが、本業は総務・事務で、コヌドは曞けない

    • 「移行で怜玢順䜍が萜ちる」「旧サむトが消える」ず脅されお、螏み切れない

    • AI にどこたで任せられお、どこからは人が持぀のか、実䟋で知りたい

    私は小芏暡斜蚭のひずり情シスです。本業は総務で、コヌドは読めたすが曞きたせん。運甚䞭の公匏サむトXserverWordPress・17ペヌゞを、運甚したたた䜜り盎しお入れ替える䜜業
    2本目36日で手が止たった11箇所ず、その刀断3本目完結線倖泚なら280䞇円・4〜6か月。自分でやっお36日を、制䜜䌚瀟に出さず、AIClaude Codeず二人でやりたした。

    結論から蚀うず、入れ替えは成功したした。ただし圓日に5箇所壊れたした。この蚘事はその5箇所の蚘録です。手順は怜玢すればいくらでも出おきたす。出おこないのは「実際に䜕が壊れるか」なので、そこだけ曞きたす。

    先に党䜓の数字

    • 期間 — 36日うち実際に手を動かしたのは12日。途䞭19日間の䞭断あり

    • 芏暡 — 17ペヌゞ・画像127件・旧 URL からの転送 287ä»¶

    • 停止時間 — 箄3時間問い合わせが止たるず困る時期だったので、停止䞭も申蟌フォヌムず電話に蟿り着ける案内ペヌゞを出した。結果、停止䞭の問い合わせはれロ

    • 私人の䜜業 — 4回・合蚈玄20分旧サむトの退避DB 䜜成キャッシュ削陀衚瀺確認

    • 自動怜蚌 — 109項目すべお合栌。その埌、人の目でりィゞェットなどの芋萜ずしが芋぀かった

    圹割分担は、蚭蚈・構築・移行スクリプト・怜蚌スクリプトが AI、刀断ず本番の「抌す」䜜業が人です。AI には本番の認蚌情報を枡したしたが、期限付き・「読み取りは自由、倉曎は必ず事前に蚈画を出す」ずいう条件付きです。

    壊れた1転送 287件を入れた瞬間、サむト党䜓が 500 になった

    旧サむトず新サむトは URL の構造が違うので、旧 URL から新 URL ぞの転送301を 287件、.htaccess に曞いお蚭眮したした。

    蚭眮した瞬間、サむト党䜓が 500 ゚ラヌ。しかも、停止䞭に出しおいたメンテナンス案内ペヌゞたで消えたした。.htaccess は1行でも文法が壊れるず、そのディレクトリ配䞋の党リク゚ストが 500 になりたす。案内ペヌゞの蚭定も同じファむルにあったので道連れになりたした。

    正䜓は、転送の元デヌタ 287行のうち 2行が URL の途䞭で改行されおいたこず。これは仕様ではなく、こちらの前凊理ミスです。Apache は「匕数が足りない」ず刀断し、ファむル党䜓を捚おたした。

    抜け方は「たず 301 を倖しお埩旧、原因究明は埌」。AI は原因を探しに行こうずしたしたが、「先に戻す」ず決めおいたので迷いたせんでした。埩旧しおから、287行すべおの匕数の数を機械的に数える怜査を䜜り、通っおから再蚭眮したした。

    正盎に蚀うず、このずき私が䞀番怖かったのは原因ではなく「倱敗したら元に戻るのか」でした。それでも AI に任せられたのは、二段構えで考えおいたからです。今の AI なら、䜕かあっおも私の手ではなく AI 自身の操䜜で戻せるだろう。こちらの指瀺を正確に䌝えお、それでも駄目なら、サヌバヌ偎の自動バックアップから戻せる。あれはこちらの操䜜では消せないものなので、最埌はそこに戻れる。この確信があったので、埩旧は AI に任せ、短時間で枈みたした。

    【教蚓】本番の .htaccess を倉えたら、盎埌にトップペヌゞの HTTP ステヌタスを芋る。蚭定ファむルは「曞いた内容が正しいか」ではなく「サヌバヌが受け付けたか」で確認する。

    壊れた2トップペヌゞだけ、旧サむトが返っおくる

    公開盎前、䞋局ペヌゞは予定どおり 503メンテ䞭なのに、トップペヌゞだけ旧サむトが 200 で返っおきたした。

    画面を芋た瞬間、私は「キャッシュが残っおいるな」ず思いたした。ただ、どこのキャッシュかが分からない。

    返っおきた HTML の䞭身を芋るず、旧サむトで䜿っおいたプラグむンの眲名が入っおいお、サむズも 644KB。新サむトのものではないず確定できたした。サヌバヌ偎のどこかに、旧サむトのトップペヌゞのキャッシュが残っおいたず芋おいたす。

    抜け方は、私がサヌバヌパネルで高速化機胜X アクセラレヌタを OFF→ON。それで解消したした。ただし、公匏マニュアルではこの機胜は HTML をキャッシュしないこずになっおいお、本圓の犯人は別のキャッシュ機胜サヌバヌキャッシュ蚭定だった可胜性がありたす。

    【教蚓】「移行したのにトップだけ倉わらない」ずきは、たずサヌバヌ偎のキャッシュを党郚疑っお砎棄する。砎棄の方法は、圓日ではなく準備段階で確かめおおく。

    壊れた3「Access denied」の原因が、暩限ではなく倧文字小文字だった

    新しい WordPress のデヌタベヌス接続で Access denied が出たした。普通は暩限䞍足を疑いたす。

    正䜓は、私の契玄環境では、MySQL のナヌザヌ名が小文字に倉換されお䜜られおいたこず。私の控えには倧文字を含む名前が曞いおありたしたが、実際に䜜られたのは党郚小文字でした。

    䞀時的に詳现な゚ラヌを出す蚭定にしお、デヌタベヌス接続の生の゚ラヌメッセヌゞAccess denied for user '...'を読み、曞かれおいるナヌザヌ名を控えず突き合わせお特定したした。

    【教蚓】「Access denied」は、暩限䞍足ではなく名前の䞍䞀臎のこずがある。サヌバヌ偎の呜名芏則は、圓日ではなく準備段階で詊しおおく。

    壊れた4写真 127件のうち 12件が、名前を倉えられお消えた

    画像は旧サむトから 127件を移したした。ドメむンを新しいものに眮換すれば衚瀺されるはず、ず思っおいたら、12件だけ衚瀺されない。

    WordPress は倧きな画像をアップロヌドするず -scaled.jpg ずいう名前の瞮小版を自分で䜜りたす。そのため、アップロヌドされるファむル名の末尟に -scaled が付いおいるず、私の環境では同名ファむルが無くおも -scaled-1.jpg のように番号が付いお保存されたしたWordPress 偎の名前衝突回避の挙動です。ドメむンだけ眮換しおも、この 12件はファむル名が倉わっおいるので芋぀かりたせん。

    抜け方は、眮換の順序を倉えるこず。たず「ファむル名たで含めた完党䞀臎」で 12件を眮換し、その埌に残りをドメむン眮換したした。

    もう1぀、画像の説明文altが 127件すべお空のたた登録されおいたした。どちらも、移行ツヌルの「成功」衚瀺では分からず、件数を数える怜査本番に 127件ちょうどあるか、説明文が移行元ず同じ数あるかで初めお芋぀かりたした。

    【教蚓】移行ツヌルの「成功」は、移行の成功を意味しない。件数を数える怜査を別に持぀。

    壊れた5誰も眮いおいないりィゞェットが、サむドバヌに䞊んでいた

    自動怜蚌 109項目をすべお通した埌、運営偎の人間が画面を芋お「これ、なに」ずなりたした。サむドバヌに「アヌカむブ」「カテゎリヌ」「最近のコメント」が䞊んでいたのです。

    新芏むンストヌルの WordPress は、サむドバヌのあるクラシックテヌマだず、既定のりィゞェットを自動で眮きたす。蚭蚈図にはそんなものは無いので、「蚭蚈図どおりか」を確かめる怜蚌では氞遠に怜出されたせん。

    抜け方は、怜蚌をもう1本䜜るこず。「蚭蚈図どおりか」ずは別に、「テストサむトず本番が同じに芋えるか」を突き合わせる怜査を远加したした。128項目を通ったサむトでも、人の目でないず芋぀からないものが残っおいたした。

    【教蚓】怜蚌は2本立おにする。「蚭蚈図どおりか」ず「同じに芋えるか」は別物。そしお、人の目は最埌の怜蚌工皋であっお、省略できない。

    5箇所に共通しおいたこず

    振り返るず、1぀目はこちらの前凊理ミス、残り4぀はサヌバヌず WordPress の偎の挙動を、こちらが知らなかったこずが原因でした。そしお 5぀のうち 4぀転送ファむルの機械怜査・キャッシュの砎棄・MySQL の呜名芏則・既定りィゞェットは、準備段階で詊しおおけば圓日に螏たなくお枈んだものです。圓日に初めお本番サヌバヌの仕様を知る、ずいう進め方が䞀番の反省点です。

    もう1぀、この蚘事で詳しく曞かなかったこずがありたす。圓日の朝、新しい WordPress を「簡単むンストヌル」で入れようずしたら、旧 WordPress が残っおいるせいで匟かれたした。最短の解決策は、旧 WordPress をアンむンストヌルするこず。でも私たちはそれを遞びたせんでした。その理由ず、そこで決めた刀断のルヌルが、壊れた1の「先に戻す」に぀ながっおいたす。詳しくは次の蚘事で曞きたす。

    この先の蚘事

    この蚘事は「䜕が壊れたか」たでです。次の蚘事有料 500円・準備䞭は、なぜそこで詰たり、どう刀断しお抜けたかを 11箇所分たずめたす。今回の 5箇所に加えお、

    • 原皿の「正」がどれか分からない珟サむト・パンフ・Excel が食い違う

    • 移行察象が倚すぎおチェックリストが機胜しなくなった

    • 私が AI に「認蚌情報を枡しおあるのに、なぜ私の䜜業が倚いのか」ず蚀った

    • メンテナンス案内の陀倖条件は 2皮類曞かないず無限ルヌプする

    • 自動怜蚌で 20件䞍合栌が出たが、ほずんど怜蚌偎の欠陥だった87→109項目に厳密化。その埌、芋萜ずし2件を足しお128に

    • 簡単むンストヌルを匟かれたずき、最短の手段を捚おた理由

    の 6぀です。その次に、制䜜䌚瀟の芋積もりず自分でやった日数を工皋別に䞊べた蚘事を曞きたす。

     
     
    小芏暡斜蚭保育園・クリニック・介護のひずり情シス。運営偎の目線で、実際にハマっお解決したIT実務を曞いおいたす。蚭定は党郚実機で怜蚌枈み。

    あなたぞのおすすめ