AI・テック

AIと組んでWordPressのテーマを改造したら、危うくサイトを真っ白にしかけた話|”バージョン違いで残す”が正解だった

AIと組んでWordPressのテーマを改造したら、危うくサイトを真っ白にしかけた話|”バージョン違いで残す”が正解だった

ブログを見返してたら、ふと気づいた。「人気の記事」と「新着の記事」、並んでるのがまったく同じ。これランキング機能してなくない?と。

軽い気持ちで直そうとした。そしたら、危うくサイトを真っ白に吹き飛ばしかけた。今日はその全工程を、焦った瞬間も含めて正直に残しておく。AIを相棒にWordPressのテーマをいじる人にとって、たぶん他人事じゃない話だ。

先に結論だけ言っておく。テーマやソースをいじるなら、元を消さずに「バージョン違い」で残せ。これに尽きる。

そもそも「人気の記事」が新着とまるかぶりだった

うちのブログのトップには「🔥 人気の記事」と「✏️ 新着の記事」が並んでる。ところがある日見たら、人気の記事のRANK 01〜04に出てる記事が、下の新着エリアと一字一句同じ。これじゃ「人気」の意味がない。

「これ、放っといたら自然にいい感じのランキングになるのかな?」と最初は思った。だってアクセスが増えれば、よく読まれた記事が勝手に上に来るはずでしょ、と。

そこで相棒(AI)に相談してみた。返ってきた答えは、わりとはっきりした「ノー」だった。

原因は「アクセス数を一切見てない作り」だった

まずプラグイン一覧を確認した。人気記事を自動で並べてくれる定番プラグイン(WP Popular Postsとか)が入ってれば、それが動いてるはず。でも見事に入ってなかった。スパム対策、問い合わせフォーム、バックアップ……人気記事系はゼロ。

ということは、テーマ自身が「人気の記事」を出してる。そこでテーマのコードを覗いてみたら、正体がわかった。

人気の記事のコードは「手動で先頭固定した記事を出す → 足りなければ新着で埋める」という作りだった。アクセス数(PV)はどこも見ていない。

つまり、固定記事をひとつも指定してなかったから、4枠ぜんぶ新着で埋まってた。それで新着とまるかぶりしてたわけだ。バグでも設定ミスでもなく、「そういう作り」だった。

そして大事なのがここ。このままアクセスが増えても、自然にPV順になることは絶対にない。PVを数える仕組みがそもそも入ってないから。「放っといたらいい感じになる」は、PV自動のプラグインや機能が入ってる場合だけの話だった。期待してたぶん、ちょっとガッカリした。

直そうとして、危うくサイトを真っ白にしかけた

やりたいことは「アクセスが増えたら、それがランキングに反映されるようにする」。一時しのぎの手動固定じゃなく、ちゃんとした自動ランキングにしたい。そのためにはテーマのコード(functions.php)に手を入れる必要がある、という話になった。

で、WordPressの管理画面には「外観 → テーマファイルエディター」っていう、ブラウザ上で直接コードをいじれる機能がある。これで書き換えよう、と。ここからが地獄だった。

相棒の指示は「安全のため、まず今の中身を全部コピーしてメモ帳に保管しておこう(保険)」。なるほど、と。コードエリアで全選択(Ctrl+A)してコピー(Ctrl+C)、メモ帳に貼り付け……のはずが。

全選択してコピーしたのに、貼り付けるとたった一行の切れ端しか出てこない。「* ====== */」みたいな途中の一行だけ。何回やっても同じ。なんでだ。

原因は、コード欄の「外」をクリックした状態でCtrl+Aしてたから、らしい。コード欄の中をちゃんとクリックしてカーソルを点滅させてからじゃないと、全部選べない。知らんがな、という気持ちだった。

そして調子に乗って今度は中身を消そうとしたら、こっちも一文字ずつしか消えない。全選択してDeleteのはずが、うまく全部選べてない。画面のコードが中途半端に崩れていく。背筋が冷えた。

「やばい。やらなきゃよかった」

正直、本気でそう思った。動いてたブログのコードを自分の手で壊しかけてる、という感覚。心臓に悪い。

救いは「F5」だった(保存前なら何も起きてない)

パニックの中、相棒が冷静に言った。

「落ち着いて。まだ何も壊れてない。テーマファイルエディターは『更新ファイル』のボタンを押すまで、画面で何をしても保存されない。F5で再読み込みすれば元に戻る」

半信半疑でF5。「変更が保存されない可能性があります」みたいな警告が出たけど、構わず進む。すると——画面が、いじる前の元のコードに、まるっと戻った。ブログもいつも通り。何も壊れてなかった。

これは覚えておく価値がある。テーマファイルエディターは「更新ファイル」ボタンを押すまではサーバーに反映されない。画面でどんなにグチャグチャにしても、保存さえしてなければ、再読み込みで無傷で戻れる。逆に言えば、ボタンを押した瞬間が本番。そこだけは慎重に。

たどり着いた正解:「元を残して、別バージョンで試す」

コピペ編集はもう懲りた。相棒が「FFFTPでファイルを上書きする方法もある」と言ってきたけど、それも面倒。そこで、ふと自分でこう言ってみた。

「いまのテーマはそのまま残して、改造版を別の名前にすれば併用できるんじゃない? 新しいのがおかしくなっても、すぐ今のテーマに戻せばいいし」

相棒の返事は「それが一番安全」だった。あとで知ったけど、これは現場でも鉄則の発想らしい。新しいやり方を試すときは、動いてる元を絶対に消さない。ダメだったとき即戻せる状態を先に作る。電気工事の段取りと一緒だ。

やったことはシンプル。

  • 今のテーマ(仮に「v1」)はそのまま温存
  • 改造版を「v2」という別名のテーマとして用意
  • WordPressに「新しいテーマを追加 → テーマのアップロード」でzipごと追加
  • これで元テーマは残したまま、テーマ一覧にv2が増える

テーマを丸ごとzipでアップロードする方式なら、コピペもFFFTPもいらない。zipを選ぶだけ。さっきまでの苦労は何だったのか。

ライブプレビューで確認 → 有効化 → 無事公開

v2を追加したら、いきなり本番に切り替える前に「ライブプレビュー」で見た目を確認できる。崩れてないか、ロゴは出てるか、カードは並んでるか。プレビューでOKを確認してから、有効化。

結果、無事公開できた。見た目はこれまでと完全に同じまま、人気の記事だけが「アクセス数の多い順」で並ぶ仕組みに切り替わった。しかも元のテーマも一覧に残ってるから、万が一何かあっても「外観 → テーマ」で元のやつをワンクリック有効化すれば一瞬で戻せる。この安心感が、何より大きい。

ちなみに切り替えた直後は、まだ全記事のアクセスがゼロ集計なので、人気の記事の並びは前と同じに見える。これは正常。読まれ始めると、だんだんアクセス順に並び変わっていく。即効性はないけど、これでいい。

初心者がいじる前に知っておきたかったこと(まとめ)

  • テーマファイルエディターの直編集は、真っ白リスクがある。でも「更新ファイル」を押す前なら、F5で無傷に戻れる。慌てて変なボタンを押さない。
  • コード欄の全選択は、欄の中をクリックしてからCtrl+A。外をクリックした状態だと切れ端しか取れない(地味にハマる罠)。
  • 改造版は別名+バージョン番号で「追加」する。元テーマを消さずに残せば、ダメでもワンクリックで戻せる。
  • テーマはzipごとアップロードが一番ラク。「外観 → テーマ → 新しいテーマを追加 → テーマのアップロード」。コピペもFTPもいらない。
  • 本番切り替え前にライブプレビュー。見た目を確認してから有効化。

いじるなら、まず「戻せる状態」を作ってから

今回いちばん効いたのは、技術的なテクニックじゃなくて「元を消さずに別バージョンで残す」っていう段取りの発想だった。これさえあれば、多少失敗しても怖くない。怖くないから、思い切って試せる。

AIは確かに便利な相棒で、原因の特定もコードの修正もサクサク手伝ってくれる。でも「更新ファイルを押すか」「有効化するか」みたいな最後の引き金を引くのは自分だ。だからこそ、慌てない仕組みを先に用意しておく。F5の前に、ひと呼吸。

面白い説は一回立ち止まって裏を取る——これがこのブログの裏テーマなんだけど、今回も近い。便利な道具で何かをいじるときほど、一回立ち止まって「戻せる状態」を作ってから動く。焦って手を動かす前の、この一拍が全部を救う。

同じようにWordPressのテーマやソースをいじろうとしてる人は、ぜひ「別バージョンで残す」だけは先に覚えておいてほしい。真っ白画面に怯える夜が、ひとつ減るはずだ。