多言語サイトのお仕事をしている時に言語切替のプラグイン「Bogo」を使って開発させて頂きました。「Bogo」は日本語ページと多言語ページを紐付けて生成してくれる便利なプラグインです。翻訳自体は別途行わなければなりませんが、システム的に大変な翻訳ページを準備するのが非常に楽なので重宝しています。
気がついたら言語切替ができない!?
テストサーバーに開発したWordPressを実装して幾日か経った頃です。何気なく言語切替のリンクボタンを押してみたところURLがトップページになってる…。
「Bogo」の言語切替リンクボタンを設置すると上記のようなスイッチが出現します。本来はhoge.com/1234
というページから英語ページへのリンクを押すとhoge.com/en/1234
へ推移します。これがただのhoge.com/en/
になってしまったわけですね。
ローカル環境では正しく動作しています。テスト環境だけの動きです。
その違いをじっくり検証した結果、たどり着いた答えが…
メンテナンスモードプラグイン
「LightStart」
お前か
「LightStart」とはサイトの更新作業中などに一時的にページを全て見れなくできるプラグインです。使っている人も多くいると思います。
「Bogo」のリンクがおかしいということはパーマリンク系に関わる何かだとは思っていました。まさか「LightStart」とは思いませんでしたけど…。
もう二度と使わない・・・
二度と使わないと思ってしまった理由があります。それは管理画面内の設定に影響したり書き換えたりするからです。それは今後のアップデートで更に酷くなる可能性もあります。
例えば↓のサイトでは表示設定を勝手に固定ページに変えてしまうという厄介な仕様もあります。
そういえば何かホームが表示されないで困ったときあったよ!自動インストールが余計なお世話してたのかと思いました。
「Bogo」の言語切替スイッチのリンクを復元する方法
プラグインの設定内から停止させる。管理画面>設定>LightStart
にあります。
プラグイン一覧からプラグイン停止後に削除します。
消さないと復元できません(怒)
管理画面>設定>パーマリンク
で更新させます。パーマリンク画面の項目は触らずに「変更を保存」を押すだけで良いです。
管理画面>設定>表示設定
の「検索エンジンでの表示」のチェックを外して更新する。
もしオフの場合は一度チェックを入れて更新、再びチェックを外して更新する。
「Bogo」と「LightStart」は共存できません。なのでメンテナンスが終了、および本番公開の際は「LightStart」を停止した後、必ず削除して上記の作業を行ってください。
もしかするとBogo以外にも影響あるんじゃ?
今回はたまたま「Bogo」で発見しましたが、他のパーマリンクに影響があるプラグインが正常に動かないのも「LightStart」が悪さをしている可能性があります。
もしメンテナンスプラグインを探しているなら「WP Maintenance」の方が良いかもしれません。
意外とメンテナンスモードにするプラグインって少ないんですよね。殆どはベーシック認証で事足りますし。今回の案件はベーシック認証が上手く使えないサーバーだったのでプラグインを利用しました。今後また使う機会があるなら「WP Maintenance」を利用したいと思います。
コメント