案件で多言語サイトを作成したので、その際に参考になった記事を自分用にまとめてみました。
条件としては、
- 日本語、英語、中国語(簡体字、繁体字)、韓国語の5言語対応
- 翻訳プラグインは使用せず、各言語のテキストをそれぞれ用意
- 複数サイトを作成せず、サブディレクトリで外国語サイトを作成
- ブログなどの日々更新されるコンテンツは日本語サイトのみ。
しました。
僕自身初めての多言語サイト案件だったので至らないところは多々あるかと思いますが、同じように未経験の方のお役に立てれば幸いです。
また、多言語サイトを作成した経験者でもっと有益な情報等をお持ちの方はご教示いただけると嬉しいです。
多言語サイトを作る時のポイント
多言語サイトを作る際に参考になったのが、サルワカさんのこちらの記事。
![](https://saruwakakun.com/wp-content/uploads/2017/05/gagagaga-04-min.png)
この記事だけで多言語サイトの作り方についてはほぼ網羅していると思います。
中でも、以下の4点において非常に参考になりました。
1.URLをどうするのか?(マルチサイトで対応するのか、サブディレクトリで対応するのか等)
2.各言語のページの作成
3.多言語サイトのメタタグの設定
4.言語別のXMLサイトマップについて
サイトの階層構造について。
一番上の親の固定ページを取得する。
今回、日本語サイトのサブディレクトリ(各言語のカテゴリを作る)として、各言語のサイトを作成しました。
その際にちょっと困ったのが、固定ページの親子構造です。
日本語サイトのカテゴリとして、各言語サイトを作成していくので階層がどうしても深くなっていってしまいました。
![](https://yzkzk365.com/wp-content/uploads/2021/02/img_0446-644x483.png)
一番上の親ページ(祖父母ページ、曾祖父母ページとでもいうのでしょうか)の情報が欲しいけど、デフォルトでは取得できません。(※get_postなどで得られるのは、親ページの情報まで。)
この時に以下の記事が参考になりました。
あとは特定の親を持つ固定ページだけ出力したい時も出てきます。
そんな時に参考になったのが、こちらの記事です。
![](https://deep-space.blue/main/wp-content/uploads/2017/02/deepspace.jpg)
多言語サイトを作る時の言語属性の設定とSEOについて
多言語サイトを作る際に、どの国の言語向けに作られているのかを示すhreflang属性の切り替えが必要です。
日本語サイトを作っているだけでは、あまり馴染みがないhreflang属性の書き方や、各国の言語コードがまとめられているので非常におすすめの記事です。
![](https://technical-seo.jp/wp-content/uploads/2024/02/16.jpg)
各ページに設定を書くのは面倒くさいので、自動で設定してくれる処理をまとめてくれた記事もありました。
プラグインを使用せずに設定ができるのでおすすめです。配列、変換処理などサンプルコードについての説明も丁寧なので僕のような初学者にもわかりやすいです。
![](https://migi.me/uploads/2020/03/hreflang-none-plugin.png)
各言語のフォントをどうするか?
英語だけだったら、日本語のフォントでもある程度対応できます。
だけど、韓国語とか中国語となると、フォントをしっかり用意しないと綺麗に表示されません。
そこで必要なのが各言語のフォントの設定。
以下の記事では、タイ語、中国語(簡体字、繁体字)、韓国語のフォントについてまとめてくれているので、非常に助かりました。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU1JUE0JTlBJUU4JUE4JTgwJUU4JUFBJTlFJUU1JUFGJUJFJUU1JUJGJTlDJUUzJTgxJUFFZm9udC1mYW1pbHklRTYlOEMlODclRTUlQUUlOUElRUYlQkMlODglRTclQjklODElRTQlQkQlOTMlRTUlQUQlOTclRTMlODMlQkIlRTclQjAlQTElRTQlQkQlOTMlRTUlQUQlOTclRTMlODMlQkIlRTMlODIlQkYlRTMlODIlQTQlRTglQUElOUUlRTMlODMlQkIlRTklOUYlOTMlRTUlOUIlQkQlRTglQUElOUUlRUYlQkMlODklRTMlODAlOTAlRTklOUElOEYlRTYlOTklODIlRTYlOUIlQjQlRTYlOTYlQjAlRTMlODAlOTEmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWViYzk3ZmE2ZjBjNDE3MWM2MTc2ZGVkMTY1MDc5YTU2&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtYW5hYnV5YXN1ZGEmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTBkYTI1YjM4YmM2NjI3OTNiMjg2OGMwM2YwNDdkMDY4&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4gVEFN&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=29128b09b26f5b5b49c3c206a3e44f44)
基本GoogleフォントのCDNで対応できますが、中国だけgoogleなどのアクセスを禁止しているので、簡体字のフォントファイルをサーバーにアップすることが必要らしいです。(実際に確認することはできないので、一応念のためアップしました)
ありがたいことに中国語フォントのサブセット化を行ってくれている方がいるので、そのファイルをお借りしました。
サブセット化とは、フォントに含まれる文字の中から必要な文字だけを抜き出しファイルサイズを小さくすることです。(そのまま使うとファイルサイズが結構な大きさになるので、必要な作業です。)
お問い合わせフォームのエラー文の英語化について
今回お問い合わせフォームはMW WP Formを使用したのですが、お問い合わせフォームを英語表記するにあたって困ったのが、エラー文の表示。
フォームの項目やプレースホルダーはフォーム作成時にどうにかなりますが、エラー文については管理画面側で設定ができませんでした。
その時に参考にしたのがこちらの記事。
![](https://scarab-v.com/wp-content/uploads/2019/06/AdobeStock_105983411-1024x569.jpeg)
使用可能なバリデーションルールについてはプラグイン公式のマニュアルが参考になりました。
![](https://mw-wp-form.web-soudan.co.jp/wp-content/themes/mwform/images/common/ogp.png)
イレギュラーな問題について
サイトの作成していく中で起こった想定外の問題について。
URLを設定しても思った通りのページに行かなかったりすることがあったときに参考になったのがこちらの記事。
WordPressが標準で備えている機能が逆に厄介になったりすることがありました。
最後に
実際に制作にあたって、どこまで共通のテンプレートを使って、どこから専用テンプレートにするかなど通常のサイトの作成に加えて、言語ごとに考えることが多かった印象です。
当たり前ですが、最初にいろいろなことを綿密に計画した上で制作に臨んだ方がよりスムーズに進められるかと思います。(本当に当たり前のことですが…)
基本的な設定のところを間違えると、後々修正が大変になるので。。
僕自身初めての多言語サイト案件だったので至らないところは多々あるかと思いますが、同じように未経験の方のお役に立てれば幸いです。
また、多言語サイトを作成した経験者でもっと有益な情報等をお持ちの方はご教示いただけると嬉しいです。