新しいSEO機能、パフォーマンスと安定性の向上、そしてWordPress 3.4に完全対応したWPML 2.5.1のリリースをお知らせします。
リリースによっては、1つの巨大な機能に6週間を費やすこともあれば、全体にわたって小さな変更を大量に詰め込むこともあります。WPML 2.5.1は後者です。1つの巨大な新モジュールではなく、ほぼすべての箇所で多くの改善点が見つかるはずです。
WordPress 3.4への対応
WordPress 3.4のリリースが間近に迫っています。まだベータ版(4)ですが、非常に良い仕上がりです。WP 3.4で完全なQAサイクルを実行し、いくつかの不具合を修正した結果、WPML 2.5.1がWordPress 3.4でスムーズに動作することをご報告できます。
URL内の非ASCII文字の置換
日本語の文字が含まれたURLを見るのは素晴らしいことではないでしょうか。

素晴らしいものの、どうやら悪影響もあるようです。このURLがASCII形式(コンピューターが「見る」形式)でどのように表示されるか見てみましょう。

それでも素晴らしいと思いますか?そうでもないでしょう。むしろ「問題がある」と言えます。日本語の各文字が、長いASCII文字のシーケンスに変換されています。ブラウザは人間が読める形式で表示するためにデコードを行いますが、エンコードされたバージョンをWebブラウザに送信し、それがWordPressに渡されます。そして、WordPressは私たちが実際にどのページを探しているのかを把握する必要があります。
そしてご存知の通り、WordPressはこれらのURLを解析して理解するためのリライトルールを生成します。では、なぜこれが問題だと考えるのでしょうか。理由は以下の通りです。
- 壊れやすい – 何か問題が起きると、真っ先にこれが壊れます。 URLデコードチェーンのどこかでURLの一部が切り捨てられたり、誤ってデコードされたりすると、この種のURLは最初に機能しなくなります。サイトのページ数が15ページ程度なら、おそらく問題ありません。しかし500ページある場合、あちこちで404ページが表示される可能性が高くなります。残念ながら、こうした問題は、WordPressの新しいバージョンがリリースされた時や、キャッシュプラグインをアップグレードした時など、最も準備ができていないタイミングで発生します。私たちも経験済みです。
- このURLを他の人と共有するのは不可能です。 確かにURL短縮サービスはありますが、長大なURLを生成しているという理由だけで、ユーザーにその使用を強制したいでしょうか。
- 検索エンジンはこれらのURLを嫌います。 これは私たちにとって少し直感に反していましたが、テストと検証で確認されています。Googleは技術的にこれらのURLをデコードして活用できるはずですが、そうしようとはしないようです。忙しいGooglebotには、他にやるべきことがあるのかもしれません。私たちのサイトで主要なURLを日本語からASCII文字に置き換えたところ、トラフィックが大幅に増加しました。
非ASCIIのURLが最適ではないという点に同意いただけるなら、それを回避する方法を見てみましょう。手動で翻訳する場合、これは問題になりません。スラッグを編集して、適切なURLを入力するだけです。ASCII文字を使用すれば問題ありません。
WPMLの翻訳エディタを使用して翻訳する場合、スラッグを制御できるようになりました。

これで、翻訳されたページのスラッグを制御できます。1つ目のオプションは、これまでと同じ動作です。2つ目のオプションは、翻訳者が翻訳エディタでスラッグを明示的に入力することを意味します。3つ目のオプションは、翻訳先の言語が非ASCIIのURLを使用する場合に、WPMLが元の言語のスラッグをコピーすることを意味します。私にとっては、これが最もシンプルなオプションです。つまり、すべてがこれまで通りに機能しつつ、「問題のある」言語に翻訳する際には、スラッグが英語と同じになります。
翻訳についてGoogleに伝え、評価を向上
私たち以外に、細部にこだわるのは誰でしょうか。そう、Googleです。
Googleはサイトに関するすべてを知りたがっており、最近では、何が何の翻訳であるかを伝える方法も追加されました。これは、リンク内のhreflang属性を使用して行われます。
Googleの要件を満たすため、WPML 2.5.1ではこれらのタグのサポートを追加しました。これにより、WPMLの言語スイッチャーを使用すると、このページの翻訳がどこにあり、どの言語であるかをGoogleにも伝えることになります。

Googleによると、これによりサイトの構造がGoogleにとってより明確になります。明確になれば、ランキングも向上します。
バグ修正と改善
多くのバグを修正することができました。幸いなことに、どれも致命的な問題ではありませんでしたが、全体としてかなりの数の修正と改善が含まれています。
メニュー同期
WPMLのメニュー同期モジュールは、今回のリリースで大幅な見直しが行われました。かなり複雑なロジックですが、より堅牢になりました。より幅広い条件下でメニュー同期がはるかにうまく機能することがわかるはずです。これには、メニュー内のカスタム投稿タイプ、カテゴリー、カスタムリンクなど、WordPressがサポートする便利な機能が含まれます。
大幅に高速化された文字列翻訳API
これは、PageLinesテーマとの互換性ステータスを確認している際に気づきました。PageLines Metaの管理ページにアクセスすると、読み込み時間が数秒からほぼ1分に跳ね上がりました。
ほぼ1週間かかった短い調査の後、WPMLの文字列翻訳APIのキャッシュメカニズムを完全に見直しました。これにより、APIや機能の変更なしに、WPMLは他のプラグインやテーマをはるかに高速に翻訳できるようになりました。数個の文字列を翻訳するだけであれば、影響を感じないかもしれません。しかし、管理画面に多数のテキストが含まれる複雑なテーマを使用している場合、その影響は絶大です。
Eコマースプラグイン向けの追加フィルター
このリリースには、WooCommerce、JigoShop、MarketPress用の連携プラグインが使用する多数の新しいフィルターが含まれています。これらのいずれかを使用している場合、以前は少し不安定だった動作が、今後は突然改善されるはずです。もちろんまだ改善の余地はありますが、このリリースにより安定性が大幅に向上します。当然ながら、Eコマース連携プラグインもアップデートする必要があります。
スティッキーリンクに関する多数の小さな問題の修正
WPMLのスティッキーリンクモジュールは、今回のリリースで大きく進歩しました。かなりの数の問題を解消し、はるかに堅牢になりました。カスタム投稿タイプで使用し、あらゆる種類の属性を持つ引数がある場合、スティッキーリンクの生成と復元が精密ツールのように機能することがわかるはずです。
Types関連のすべての問題の解消
Typesは、カスタム投稿タイプとカスタムフィールドを管理するための私たち独自のプラグインです。おそらく、すでに多くの方がご存知でしょう。Typesの最大の利点の1つは、WPMLと100%の互換性があることです。今回のリリースで、その約束が果たされました。数週間前にTypes 1.0がリリースされて以来、WPMLが新しい繰り返しカスタムフィールドを正しく同期しないケースがいくつかありました。現在では、すべてスムーズに機能しています。ちなみに、TypesとWPMLの間には小さな互換性の問題がいくつかありましたが、他のカスタムフィールドプラグインで予想される問題よりはるかにマシです。私たちは改善を続けていますが、他のCFプラグインでは、ユーザーがまだ基本的な部分で苦労しています。サイトにカスタム投稿タイプとカスタムフィールドが必要な場合は、ぜひTypesをお試しください。あなたのために作られたプラグインです。
IE9はそれほど悪くなく、WPMLも正常に動作(現在)
正直に認めなければなりません。私たちはInternet Explorerに関連することについて、完全に無頓着でした。開発はすべてFirefox、Chrome、Safariで行い、IE9で実行しようとしたことすらありませんでした。しかし、QA責任者のBigulがテストを行いました。全体的には機能していましたが、対処すべき表示上の不具合が多数ありました。おかしな場所に要素が表示されたり、Javascriptが暴走したり、本来あるべきものが表示されなかったりといった具合です。
私たちはこの教訓から学び、現在では開発者がInternet Explorerを含むさまざまなブラウザを常に切り替えて確認しています。
WPML 2.5.1の入手
このリリースには他にもバグ修正や改善が含まれていますが、すでに1,200語を超えています。そのため、WPML 2.5.1についてこれ以上読むのに時間を費やすのではなく、実際に試してご意見をお聞かせください。
これはメジャーアップグレードです。必ずデータベースのバックアップを行ってください。問題は予想していませんが、常に推奨しており、私たち自身もアップグレード前には必ずサイトのバックアップを行っています。
その後、「プラグイン」管理ページにこの新しいリリースが表示されるはずです。また、WPML.orgアカウントのダウンロードから、いつでも手動でダウンロードできます。
ぜひお楽しみいただき、ここにコメントを残してご意見をお聞かせください。

