【多言語サイト構築】簡単でプラグインに依存しない方法

WPMLとBogoとqTranslate(mqTranslate,zTranslate)を試した結果、Multisite Language Switcherにした話。

今回言いたいこと:Multisite Language Switcher

・プラグインへの依存が少ない

・マルチサイト構築は驚くほど簡単

・マルチサイトにした方がシンプルで問題も発生しない

 

この記事はマルチ言語サイト構築での教訓から、心からMultisite Language Switcherをお勧めする内容です。

Multisite Language Switcher以外のプラグインを止めた理由

上記で述べた3つのメリットがすべてですが、とにかくプラグインに依存したくなかったのが一番の理由です。

まずはそれぞれのプラグインが合わなかった理由を説明します。

WPMLやBogoを使うと他のシステムと干渉した

まずBogoやWPMLを止めた理由ですが、Bogoのような1言語1記事方式のプラグインはサイト内検索のプログラムを複雑化したためです。

通常であればget_postsのsuppress_filtersをfalseにすれば解決するようですが、該当サイトでは条件検索を構築していたため複雑になり過ぎました。

get_postsのsuppress_filtersで参考にしたサイト

凝ったシステムやプラグインを使う場合、多言語プラグインの多くは干渉しがちです。

それに1言語1記事方式でプラグインへの依存度も少ない(qTranslateと比較した場合)のだけど・・・大量に記事を書いた後にプラグインを外すと大変なことになります。

今後の値上げや更新の停止を思えば、プラグインへの依存は避けたいところです。

qTranslateは重い・・・それ以上に先が読めない

WPMLやBogoとの比較では動作が少し重かった。これから規模を拡大するには不安を感じます。

それ以上にqTranslateの更新は一年前で止まっており、今ではzTranslateやmqTranslateに移行しつつあります。

1記事複数言語方式のqTranslateではプラグインへの依存は非常に大きく、プラグインを外せばサイトが目茶苦茶になります。

qTranslate自体がどうなるのか解らないのだから、これではあまりにもプラグインに頼り過ぎていると思います。

Multisite Language Switcherなら全て解決できた

ここまでの批判的な意見はMultisite Language Switcherの特徴を引き立たせるためでもあります。他のサイトに当てはまるとは限りませんが説明します。

Multisite Language Switcherがプラグインに依存しない理由

それはプラグインを外しても問題ないからです。

Multisite Language Switcherが行っている作業は【異なる言語同士をリンクする】程度に留められているため、他のプラグインのような不具合は発生しません。

もしプラグインを外したとしても、今までマルチ言語サイトだったものが、『日本語のサイト』『英語のサイト』『中国語のサイト』・・・と分裂するだけで、サイトそのものは通常通り運用できるのです。

 

その状態であればプラグインに不具合が出ても、慌てて代替プラグインを探す必要がありません。

最悪のケースでも、Multisite Language Switcherを真似たシステムを組めそうなぐらいシンプルな仕組みといえます。

極端な話をすると、手作業でも主要部分のリンクを貼っていけば同じ状態まで持っていけるということです。

wordpressのマルチサイトは簡単に構築できる

Multisite Language Switcherと聞いて嫌悪感を抱いた人の中には、『マルチサイト』の構築を思い描いた人がいるかもしれません。

しかしマルチサイトの構築なんてものは、慣れれば10分程度で出来る作業なので、『手順通り』に作業をすれば何も恐れることはありません。

 

Multisite Language Switcherほどのメリットを数十分の作業で得られるのだから、是非オススメします。

MULTISITE LANGUAGE SWITCHER 使い方 インストール

以下はマルチサイトの構築を含めたMultisite Language Switcherのインストール方法がまとめらた、非常に親切なサイトの引用です。

リンク先も載せておきますが、リンク切れになって情報を得られなくなるのは勿体無いので、文章も残しておくことにしました。

私もPHPが好きな方ではないし、パッと見ただけで拒絶したくなるものですが、手順通りに作業すれば直ぐに出来てしまうはず。

何も考えずにコピペで出来てしまうような、素晴らしい記事だと思うのですが如何でしょう。

MULTISITE LANGUAGE SWITCHER 使い方 インストール

この『Multisite-Language-Switcher』は非常に高機能な、ブログを多言語化するツールです。

このWordpress用のプラグインの情報が日本語でほとんどないので、使い方を書いておきます。自己責任で使用願います。

①多言語化ネットワーク設定

wp-config.php を書き込み可として、以下を挿入。

/* Multisite */
define( ‘WP_ALLOW_MULTISITE’, true );
(『// 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。』の上に挿入)

リロード。

②ツール>ネットワークの設置

画面に従いインストール。

画面に従いwp-config.phpと.htaccess(RewriteEngine On以下のメイン部を入れ替え)を書き換えて、再ログイン。

③ネットワークの親画面から

サイトの追加をする。 パスはen等。

④言語ファイル.mo .poをwp-content/languages/ に コピー。it_IT.mo等。

⑤親からプラグインの新規追加。

Multisite Language Switcherをインストール。

それぞれのサイトの言語設定を行う。私はフラグのみ表示。

⑥試しにhelloWorldを同期してみる。右メニューから更新。

スクリーンショット 2014-09-08 2.17.50

⑦私は wp-content/themes/twentyfourteen/header.php の中程に以下を挿入。

<?php if ( function_exists( ‘the_msls’ ) ) the_msls(); ?>

⑧お疲れさまでした。ヘッダーに国旗が表示されれば成功です!

<おまけ>

⑨コメントもMultisite-Language-Switcher−Commentsをインストールできます。<?php comment_form(); ?>に替えて以下を挿入して下さい。

<?php global $mslsJoinedComments; switch_to_blog($mslsJoinedComments[‘primaryBlogId’]); ?><?php comment_form(array(), $mslsJoinedComments[‘primaryBlogPostId’]); ?><?php restore_current_blog(); ?>

注:上記は当方環境でのインストールとなり、参考するには自己責任でお願い致します。

ちなみにマルチサイト構築の説明に的を絞った素晴らしいサイトも見つけたのでリンクを貼っておきます。

WordPress マルチサイト機能を使ったんで、手順・やったことをまとめて綴ります

 

最後に

wordpressでマルチ言語サイトを構築する場合、複数言語を一つのシステムで処理しようとすれば、プログラムが複雑になるし不具合も起きやすい。

その点、Multisite Language Switcherでマルチサイトを構築することでwordpressのシステムはシンプルになる。

しかも、突然プラグインを使えなくなった場合でもサイトは崩壊することなく、各言語のサイトへと分裂するだけ。

 

マルチ言語サイト構築にとって、これほどメリットがあり、しかも簡単に構築できる方法は見当たりませんでした。

これからマルチ言語サイトの構築を考えている人はMultisite Language Switcherを検討してみてはいかがでしょう。

 

ちなみにマルチサイト構築時にケアレスミスをしたので、ケアレスミスをしそうな方には以下の記事もお勧めします。

wordpressのマルチサイトで【参加サイトに表示されない】

 -

コメント一覧

  1. Reiko より:

    ①多言語化ネットワーク設定

    wp-config.php を書き込み可として、以下を挿入。

    /* Multisite */
    define( ‘WP_ALLOW_MULTISITE’, true );
    (『// 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。』の上に挿入)

    リロード。

  2. Reiko より:

    申し訳ありません。 さきほど間違えて送ってしまいました。上記の記載通り、
    wp-config.php を書き換えて
    「①多言語化ネットワーク設定
    wp-config.php を書き込み可として、以下を挿入。
    /* Multisite */
    define( ‘WP_ALLOW_MULTISITE’, true );
    (『// 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。』の上に挿入)
    リロード。」

    をやりました。
    リロードをログインしなおし、の意味かと思い、ログアウトしたら、ログインできなくなってしまいました。
    ワードプレスインストール、ようこそワードプレスへの最初の設定画面になってしまいます。

    wp-config.php の追加記載を消して再度FTPしましたがダメです

    どうかお助けいただけませんでしょうか?

    • japan3d より:

      確認が遅れて申し訳ありません。その後はいかがでしょうか?

      リロードすると強制的にログアウトされるはずなので、作業自体は正しいかと思います。
      また、define( ‘WP_ALLOW_MULTISITE’, true ); を削除すれば元に戻る段階です。

      wp-config.phpの内容を間違えた場合、【データベースにアクセスできない】と表示されるか、【Wp-config.php自体の作成画面が
      表示される】かの2パターンだと記憶していて、私も経験したことのないケースかもしれません。

      どこのレンタルサーバーを使用しているか、あるいはVPSなのか等で考え方も変化しますが、MySQLを見るのが一番早そうです。

      お力になれるか解りませんが、コメント欄やコンタクトフォーム(あるいはメール:infoあっとまーくjapan3d.net)から気軽にご連絡ください。

      それとブラウザのキャッシュを消しても解決しない問題が、PCを再起動するだけで解決した経験が何度かあります( ;∀;)
      意味不明な事態は辛いですよね。早く解決できれば幸いです!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

同じ分類

Active Previewの代替プラグイン!真っ白になったビジュアルエディタも回復

PrettyPressのご紹介です。 これはActive Previewと同様にwordpressの投稿画面でのリア〚…続き〛

カスタム投稿でもマイリストを実装!wordpressプラグインのFavoritesが色々と優秀

こんにちは。今回はwordpressネタです。 現在進行形で会員サイトを作っていまして、マイリスト機能が欲しくなりま〚…続き〛

ニコニコ動画風の動画投稿サイトをHTML5とJavaScriptで作った話1

最近はFreeGA.netの製作が一番の楽しみなので、ここでのネタもフリーガばかりですね。 ニコニコ動画風の動画投稿〚…続き〛

ConoHaオブジェクトストレージをマウントしてWordPressでのメディア保存先にする

追記:フリーガにてConohaサーバーおよびConohaオブジェクトストレージの試運転を継続中です。動画や数百MBの〚…続き〛

プラグインのCSSを探し当てて停止する私的なコツ

作業はfunctions.phpの編集で行います。 この手の作業は使用プラグインとバージョンによって微妙に異なるので〚…続き〛

G+