WordPress で多言語サイトを作成する. 一般的に、投稿はブログのように記事を日々追加していくもので、固定ページは会社概要やお問い合わせページなどあまり変わらない情報を書くために使われます。注意点としては、日本語のページに設置するリンクの文字は「英語」ではなく、「English」とかの方が分かりやすいと思います。なぜなら、「英語」という文字を読めない可能性があるからです。functions.phpの中などで日本語と同じ関数を使うときは、以下のような英語のページか判定する関数を作って、処理を分岐すると良いです。特に知名度の低い固有名詞は、間違った英語になることが多いので注意してください。カスタムフィールドから代替ページの情報を取得して、編集画面のリンクを生成しています。私たちユーザーからしても、日本語と一緒に自分が知らない言語で文章が書かれていたら、記事を読みにくいと思います。お金があればクラウドソーシングなどを利用してプロに翻訳を依頼するのがベストです。wp_headというアクションを使うと、headタグの中にHTMLタグを挿入できます。代替ページのURLを取得してhreflang属性のHTMLタグを作成し、headタグに挿入しています。WordPressでネットショップを作れるWooCommerceの使い方同じような手順で、英語の記事に対する代替ページのカスタムフィールドを作ります。例えば、日本の観光スポットを英語で紹介してインバウンドを誘致したり、オンラインショップで外国の人に商品を販売したりといったことが可能になります。先ほどのデモサイトのように固定ページを使うのではなく、カスタム投稿タイプを使って大規模な多言語サイトを制作します。Custom Post Type UIの基本的な設定内容は、以下の通りです。必要に応じて変更してください。Googleがページの言語を判断する際に、「lang=”ja”」や「lang=”en”」といったlang属性は使われていません。そのため、Googleが推奨している多言語サイトの作り方を理解して、なるべくそれに沿ってやることが大切です。この記事では、WordPressのカスタム投稿タイプという機能を使い、本格的な多言語サイトを作る方法を紹介します。そのため、例えば日本語のサイトは日本のサーバーを使用して、英語のサイトはアメリカのサーバーを使用するといった方法が考えられます。そのとき、「https://sample.com/en」というURLで英語サイトを作り、ブログの記事やお問い合わせページなど、日本語サイトと同じようなページを英語サイトでも用意します。この関数をheader.phpやheader-en.phpなどのテンプレートから呼び出して、言語の切り替えリンクを設置します。例えば、「https://sample.com」というドメインで日本語サイトを作るとします。「Custom Post Type UI」というプラグインを使い、「固定ページ」と「投稿」のそれぞれに対して、英語版のカスタム投稿タイプを作ります。白紙の状態から英語のテンプレートを作成するのは大変なので、上のように、日本語のテンプレートをコピーして、部分的に英語に変えていく方法がやりやすいと思います。テンプレートを英語に変えるときは、例えば、サイトのタイトル、フッターの著作権表記、サイドバーの項目名、パンくずリスト、メタディスクリプション、OGPタグなど、日本語の部分を全て英語に置き換えていきます。なお、この記事で紹介した手順やプログラムなどは、利用しているテーマや環境によって変わることがあります。カスタムタクソノミーとは、カスタム投稿タイプにおけるカテゴリーのことです。カスタムタクソノミーを作ると、上のように記事の投稿画面から割り当てができます。これからポイントを絞って紹介していきますが、詳細な内容は以下のリンク先をご確認ください。日本語のページに対して、それを翻訳した英語のページが別に存在する場合など、複数の言語のバージョンがあるときは、代替ページを指定することが推奨されています。例えば、リンク先の翻訳サービスでは、記載時点で600文字あたり1000円で英訳してくれます。イメージとしては、「日本語のページを表示しているときに、それを翻訳した英語のページはこちらのURLです」といった設定です。代替ページを指定することで、Googleが言語を判断しやすくなります。そのため、投稿(英語)であれば「single-en.php」、固定ページ(英語)であれば「single-page_en.php」というファイルを用意すれば、自動的に読み込まれます。まずは、どのような多言語サイトを作るのか、この記事の最終的なゴールを紹介します。具体例として、投稿(英語)の記事の一覧に、代替ページの編集画面のリンクを表示します。このリンクをクリックすると、日本語の記事の編集画面が表示されます。そのサイトがターゲットにしている国を伝える大きなヒントになるため、対象の国が明確で、しかも数が限られている場合には、使用を検討しても良いでしょう。なお、この記事では英語サイトの作り方を例に紹介しますが、別の言語でもやり方は同じです。ただし、言語が3つ以上になるときは、言語の切り替えリンクなど部分的に変わる内容もあります。多言語化するのは、WordPressの「投稿」と「固定ページ」になります。また、多言語化のやり方は無数にあるため、この記事ではあくまでも一例として紹介します。必要に応じてプログラムなどを変えてください。Googleが正しく言語を判断できるように、代替ページや言語ごとのURLなどの設定をしても、検索結果に間違った言語のページが表示される可能性はあります。多言語化にはWordPressのカスタム投稿タイプやカスタムタクソノミーという機能を使います。それが何か分からなかったり、作り方を知らない人は、事前に以下の記事をお読みください。そのため、サーバーもWordPressも日本語と同じものを使い、作成するサイトは一つだけで済みます。同様の手順で、その他のテンプレートも作成します。作成する主なテンプレートは、以下の通りです。manage_〇〇_posts_columnsというフィルターで管理画面に代替ページの項目を追加しています。そして、manage_〇〇_posts_custom_columnというアクションで代替ページの項目に表示する情報を設定しています(〇〇は投稿タイプのスラッグ)。「.com」や「.org」など、特定の国をターゲットにしないドメインを使用する方法です。カスタム投稿タイプを作ると、上のように管理画面のメニューに「固定ページ(英語)」と「投稿(英語)」が新しく追加されて、英語の記事を投稿できるようになります。以下にいくつか紹介しますが、多言語サイトの規模や管理のしやすさなどを考慮しながら、ご自身の用途に合った方法を選んでください。それぞれメリットとデメリットがあります。個人的には、別言語に翻訳する部分が少ないサイトなら、固定ページを使用する方法が簡単でおすすめです。参考として、実際にWordPressで多言語のデモサイトを作りました。上のように、言語ごとのトップページを固定ページで作成しています。英語専用のテンプレートとして、「page-en.php」や「header-en.php」を用意しました。なお、カスタムフィールドの説明や作成方法などは、以下の記事をお読みください。代替ページが存在する場合はそれをリンクのURLに設定し、存在しない場合はトップページを設定しています。【徹底解説】WordPressのWP-Membersで会員制サイトを作る方法ここからは、Googleが推奨する多言語サイトの作り方をベースに、WordPressで多言語サイトを作っていきます。一般的に、個別ページのテンプレートからは、ヘッダーをデザインする「header.php」、サイドバーをデザインする「sidebar.php」、フッターをデザインする「footer.php」というテンプレートが呼び出されます。記事の内容について正確性は保証できませんので、ご自身の責任で参考にしてください。言語ごとに複数のサイトを用意する必要がないので、慣れてしまえば比較的簡単に多言語サイトを作れると思います。サブドメイン方式はサーバーやサイトを分けられるので、言語に応じてプログラムを分岐させるといった処理は不要です。ただし、言語の数だけサイトを作る手間があります。そこで、英語版のテンプレートを作成して、表示内容を英語にしたり、デザインを変えたりします。ブログ歴は7年、通販歴は4年くらい。基本的にWordPressでサイトを作っています。地方の情報を発信するローカルメディアを立ち上げたり、企業のホームページや通販サイトの制作・運営をお手伝いした経験もあります。以前はシステムエンジニアとして働いていました。まずは、日本語の記事に対する代替ページのカスタムフィールドを作ります。そこで、言語の切り替えリンクを設置して、サイトの訪問者が言語を手動で切り替えられるようにしておくと親切です。一つのページに日本語と英語のように複数の言語が使用されていると、そのページがどの言語に向けたものなのか、Googleが正しく判断できない可能性があります。しかし、現実的にはそれが難しいケースが多いと思うので、予算やノウハウがあるならやった方が良いでしょう。英語で記事のタイトルや本文を書き、カテゴリーや代替ページを設定してください。単純に英語にするだけではなく、固定ページであればサイドバーを削除してワンカラムにしたり、英語サイトのトップページを記事の一覧ではなくランディングページのようにしたりと、デザインを変えても良いでしょう。プロに依頼せずにGoogle翻訳を使う場合には、不自然な英語になっていないか必ず確認しましょう。自動翻訳はGoogleから推奨されておらず、最悪の場合はスパムと認識される可能性があります。記事のタイトルや本文を英語にしても、サイトのヘッダーやフッターなどが日本語のままです。この記事では、WordPressのカスタム投稿タイプを使った多言語サイトの作り方を紹介しました。正しく言語を判断できないと、海外からGoogleで検索したときに、英語のページではなく日本語のページが表示されたり、もしかしたら検索順位が少し下がるかもしれません。© 2020 うぇぶファン All rights reserved.基本的な設定内容は以下の通りです。必要に応じて変更してください。設定のやり方は、以下のようにhreflang属性で言語や地域のコードを指定し、href属性で代替ページのURLを指定します。そして、このHTMLタグをheadタグの中に記述します。ロリポップで新しく作ったサイトに403エラーが出て表示できない原因get_fieldという関数を使って代替ページのカスタムフィールドから情報を取得して、代替ページのURLを返しています。なぜなら、中国にはグレートファイアウォールというシステムがあり、中国の国内から海外のサイトを閲覧できない可能性があるからです。その場合は、中国の国内にあるサーバーを利用するしかないかもしれません。大まかな流れとしては、投稿と固定ページのそれぞれに対して英語版のカスタム投稿タイプを作り、英語の記事を投稿していきます。カスタムタクソノミーが正しく作られると、上のように管理画面のメニューに「カテゴリー(英語)」が新しく追加されます。使用するカテゴリーが既に決まっている場合には登録してみましょう。これによって、もしも英語圏の人に日本語のページが表示されてしまったときに、英語のページに手動で切り替えることができます(その逆も同じ)。一つのページには一つの言語のみを使用します。日本語で文章を書いた後に、それを翻訳した英語の文章を書くようなことは推奨されていません。サブディレクトリ方式の場合、一つのサーバーと一つのサイトで言語を切り替えます。そのため、サイトの作成は一度で済みますが、プログラムに言語の分岐が入って、処理が複雑になります。私はグレートファイアウォールについて詳しくないので、ご自身で調べてみてください。自動翻訳はスパムとみなされる可能性があるため、基本的に使用は避けたほうが良いです。私の経験では、特に固有名詞や主語のない文章などが不自然な英語になりやすいです。多言語サイトの作り方については、以下の記事も参考にしてください。上の例では、「https://sample.com/en」という英語のページを表示しているときに、それを翻訳した「https://sample.com/」という日本語のページが存在することを示しています(その逆も同じ)。私はWordPressを使って多言語サイトを作った経験があります。具体的には、日本語と英語の両方に対応したサイトを制作しました。なお、作業時間を減らしたい方は、多言語対応したテーマを選ぶ方法もあります。詳細は以下の記事をお読みください。国や言語をURLに含めるには、「en.sample.com」といったサブドメイン方式か、「sample.com/en」といったサブディレクトリ方式があります。上記の記事では、例えば以下のカスタマイズ方法を紹介しています。WordPressで多言語サイトを作る場合、やり方は色々と考えられます。カスタム投稿タイプの個別ページのテンプレートを作るときは、ファイル名を「single-{post_type}.php」という形式にする必要があります。SNSやYouTubeなど情報発信のツールが多様化している現在においても、検索エンジンからの集客は依然として重要です。カスタムフィールドを作成すると、上のように日本語の記事を編集する画面で、代替ページとなる英語の記事を選択できるようになります(その逆も同じ)。外国の観光客がちらほらと来る場合、固定ページを一つ作成して、そこに英語でメニューや営業時間、地図などを掲載するという方法があります。最終的には、上のようなカスタムフィールドになります。なお、Settingsに関しては初期状態のままで良いと思います。スタイルや順番などは好みに応じて変えてください。WooCommerceで送料無料と都道府県ごとの送料を設定する方法そこで、英語版の「header-en.php」、「sidebar-en.php」、「footer-en.php」というテンプレートを新たに作成し、single-en.phpから呼び出します。多言語サイトはURLが何でも良い訳ではなく、以下のように言語や国を示すことが推奨されています。サーバーの場所は、Googleが国や言語を判断する際のヒントになります。代替ページのURLを取得する関数を作成して、headタグの中にhreflang属性のHTMLタグを挿入します。例えば、海外からGoogleで検索したときに、日本語のページが表示されてしまうかもしれません。代替ページを指定するには、hreflang属性のHTMLタグを挿入することが一般的です。しかし、特定の国ではなく、「英語を読める人に向けたサイト」などの用途には向かないかもしれません。呼び出すときは、以下のようにハイフン(-)より下の部分を関数の引数に渡します。URLはGoogleが推奨しているジェネリックトップドメインのサブディレクトリ方式を採用します。言語の切り替えリンクをサイトのヘッダーなど目立つ場所に設置します。必ずしも日本語サイトにある全てのページを翻訳する必要はありません。英語サイトには外国の方に伝えたいページだけを用意しましょう。また、カスタムフィールドを使うことで、言語ごとのhreflang属性やOGPタグを一元管理できるようにしました。Custom Post Type UIを使って、投稿(英語)で使うカスタムタクソノミーを作ります。位置のルールでは、投稿タイプが「投稿」または「固定ページ」を設定してください。これで、投稿と固定ページの編集画面にカスタムフィールドが表示されます。必須ではありませんが、WordPressの管理画面を編集します。「Advanced Custom Fields」というプラグインを使って、言語の代替ページを設定するためのカスタムフィールドを作ります。一応、lang属性を書いておくことは良いと思いますが、後述する代替ページや言語ごとのURLなどの設定をしっかりと行いましょう。「.jp」や「.de」など、特定の国をターゲットにしたドメインを使用する方法です。
WordPress多言語対応マルチサイトマニュアル | LIQUID PRESS : 日本語WordPress公式テーマ&プラグイン。レスポンシブWebデザイン、Bootstrap4対応、SEO対策済。商用サイトでもご利用頂ける、最新ブロックエディター対応WPテンプレート。
サイトの言語設定によって出力する値を翻訳できるようにするため、翻訳リソースファイル(.po ファイル)と翻訳ファイル(.mo ファイル)を作成する場合の例。 以下のサイトが参考になります。 WordPressを使った多言語化の方法は大きく3つ. WordPressを使った多言語サイトの作り方には、10通り以上のパターンがあります。 多言語化プラグインもたくさんありますが、最もメジャーな方法は以下の2つ。 WordPressのマルチサイト機能+プラグイン「Multisite Language Switcher」をつかう(無料) プラグイン「WPML」をつかう(有料) それぞれ … 編集した後にFileZillaを使ってアップロードします。このソフトは優れものでドラッグするだけで簡単にアップロードやダウンロードができます。ちなみに新しく作成したサイト用にテーマを追加する場合は、左側のメニューに表示されている【外観】ではなく、【参加サイト】→【ネットワーク管理】→【テーマ】から追加する必要があるのでご注意ください。この段階で嫌になる人も多いかもしれませんが、『wp-config.php』ファイルは単なるテキストファイルなので、簡単に編集できます。左側のメニューから【プラグイン】を選択し、【プラグイン】の横のチェックボックスをクリックして印をつけて、【一括操作】をクリックして【停止】を選択。そして【適用】をクリックします。どうしてもFTPソフトを使用したく無いという方は『WP Config Editor』というプラグインを使用して『wp-config.php』ファイルを編集することも可能です。これですでに運用中のサイトでもサブディレクトリ型のマルチサイトの設置が可能になるので、【ツール】→【ネットワークの設置】で【サブディレクトリ】を選択して【インストール】ボタンをクリックします。これらのファイルの変更が完了するとログアウトしているので、再びログインします。マルチサイトの運用では一部のメニューの場所が【参加サイト】下に移動します。たとえば先程行ったfunction.phpの編集なども、マルチサイトにした後は次の場所に移動しています。【参加サイト】→【サイトネットワーク管理】→【テーマ】→【テーマの編集】→【テーマのための関数】『wp-config.php』ファイルには次の表記を記入します。このファイルは最初のステップで編集したファイルです。このファイルに以下のコードを追加します。サイトアドレス、サイトのタイトル、サイトの言語、管理者メールアドレスを指定して【サイトを追加】をクリックするとサブディレクトリのサイトが作成されます。左上にある【参加サイト】から【サイトネットワーク管理】→【サイト】→【新規追加】を選択します。メールアドレスを記入して購読すれば、更新をメールで受信できます。.htaccessファイルも同様にテキストエディタで編集します。保管されている場所は『wp-config.php』と同じ『public-html』フォルダです。『.htaccess』ファイルについても管理画面から編集できる『WP Htaccess Editor』というプラグインが出ているので、FTPソフトを使いたくない方はこれを使って編集可能です。以下のコードを追加します。追加する場所は英語版のファイルの場合は以下のコメントの上になります。wp-config.phpファイルが日本語の場合は以下のようになります。マルチサイトにした後に、あれ、メニューが無くなってる!? という状況になったら【参加サイト】以下をチェックしましょう。つまり一見するとサブディレクトリ型での運用が不可能なように見えます。実際にWordPress関連の記事の多くが運用中のWordPressサイトではサブディレクトリ型のマルチサイトは不可能だと説明していますし、どうしてもサブディレクトリ型で運用したかったので、WordPressをインストールし直したという人もいるようです。管理画面の【ツール】で【ネットワークの設置】を選択します。新規サイトの場合は、ネットワーク内のサイトアドレスに【サブドメイン】と【サブディレクトリ】が表示されて選択することができるのですが、すでに運用中のサイトの場合は【サブドメイン】しか表示されません。無事にFTP接続ができたらローカルにサイトまるごと全部ダウンロードして、『public_html』フォルダに入っている『wp-config.php』に以下を追加します。Wordpressサイトにおける多言語サイトの最適な構築法を解説いたします。すると『wp-config.php』ファイルと『.htaccess』ファイルを編集するようにとの指示が表示されるので、それぞれのファイルに指定されたコードをコピペします。Wordなどのアプリではなくシンプルなテキストエディタで編集してください。Macの場合はTextEditでそのまま普通に保存すればOKです。Windowsの場合はメモ帳ではなくNotePad++を使って『UTF-8 BOM無し』で保存する必要があるようです。 ということで、WordPressのマルチサイト化機能&サブディレクトリを使った、多言語サイトの作り方でした。 サイトもつくり途中だけど、見てみてね。 https://fukudasakura.me/ 追記(2018-10-21) マルチサイト化するとパーマリンクにblogと入る Wordpressサブディレクトリに多言語化サイトを構築したい. 言語ごとにサブドメインをふる。www.example.com や ja.example.com など。 トップ ↑ 適切な多言語ソリューションを選択するために # 適切な多言語ソリューションを選択するために. では、WordPressで作ったサイトを多言語化するには、どのような方法があるのでしょうか? WordPressは、すぐにプラグインが頭に浮かびますが、プラグインを使わずに多言語化することもできます。 グローバル化が進み、英語や中国語など海外への情報発信が重要になっています。この記事では、WordPressのカスタム投稿タイプという機能を使い、本格的な多言語サイトを作る方法を紹介します。 qTranslate X qTranslate X.