「Moeriumを多言語化したい。Claudeにお願いすればすぐ終わるだろう」と思って始めたら、トップメニューが全部消えました。バイブコーディングの落とし穴を体験した記録です。
やりたかったこと
既存の日本語記事146本を維持しつつ、英語版を `/en/` 配下に置き、hreflangタグで言語切替をGoogleに伝える。多言語SEOの王道パターンです。
Claudeに相談した結果
Claudeは「Polylangというプラグインが定番です。サブディレクトリ構造で言語分離でき、hreflang自動出力に対応しています」と即答。手順も全部書いてくれました。
- 無料版で十分(80万インストール、信頼性◎)
- デフォルト言語のURLは無変更にできる設定あり
- hreflang自動付与
- 既存日本語記事は影響を受けない(はずだった)
実装は順調だった、ある瞬間まで
ChromeのMCP経由で、プラグインインストール → セットアップウィザード → 言語追加 → URL構造設定 → テスト記事1本英訳投下 → ペアリング検証。全部スムーズに動きました。hreflangも双方向出力されてました。
そして公開ページを開いた瞬間――トップメニューが消えていました。「ホーム」「Moeriumとは」「使い方」「ブログ」「ギャラリーへ」「記事一覧」、全部が画面から消失。
バイブコーディングで「動いた」と思った瞬間に別の機能が壊れる。これが個人開発のリアルです。検証は本番環境でやらないこと(やった)。
原因究明:テーマがプラグインと非互換
調べた結果、TCD NUMEROテーマが Polylang のメニュー言語管理仕様に対応していないことが判明。各メニュー項目に言語属性が必要なのに、テーマ側で言語選択UIを表示していない。結果、Polylangが「言語不明な項目は非表示」として全部隠した。
Claudeも知らなかった失敗
Polylangが優秀なのは事実。ただし「テーマ次第で破綻する」という具体的な互換性情報は、Claudeも教えてくれませんでした。ドキュメントに書かれていない罠は、AIにも見えない。
切り戻し:5分で完全復旧
- Polylangを無効化 → メニュー即復活
- プラグイン完全削除 → DB残骸クリーン
- テスト記事1本をゴミ箱へ
- パーマリンク再保存
- 全URL動作確認
幸い大事には至りませんでした。が、これがバイブコーディングの怖さです。「動いた」の意味が、人間が見ているものとAIが見ているものでズレる。
教訓
- 本番環境で多言語化のような大きな変更を試さない(ステージング環境を作る)
- Claudeの「定番です」を鵜呑みにせず、テーマとの互換性を先に確認
- プラグイン有効化前にバックアップを取る
- 影響範囲(メニュー・widget・テンプレート)を網羅的に洗い出してから着手
多言語化は今回見送り。Chrome翻訳機能の精度がそれなりなので、海外ユーザーはそれで対応してもらう方針に切り替えました。
バイブコーディングは万能じゃない、でも便利
こうした失敗を含めて、Claudeとバイブコーディングだけで動くSNSは作れる時代です。完成形がこちら。
コメント
この記事へのコメントはありません。
この記事へのトラックバックはありません。