テーマ”Cocoon”にプラグイン”Bogo”を使っています。今回の目的はPHPなど、プログラムを変更せずに日本語と英語のページを完全に分離して、完全英語化の記事群を作ることです。
- 日本語と英語のページ切り替えはヘッダーナビゲーションと投稿記事のみとする
- 新着記事や人気記事などの設置をショートコードで簡単に仕分けできるように、日本語と英語のカテゴリーIDを分ける
- 日本語と英語のカテゴリーを整理してサイトマップをわかりやすくする
具体的な方法は、英語記事専用のカテゴリーを作り、それを該当する英語の記事に割り当てるだけですが、いくつかの問題があったので詳細を紹介します。
“bogo”は言語ごとにサブディレクトリ(例:https://exsample.com/en/)が作られるので、翻訳記事など同一内容の記事であっても、URLが違えば別記事として取り扱われているはずです。
SEOは詳しくありませんが、この方法で数百の記事がグーグルにインデックスされて、海外からのアクセスが大幅に増えたので、良い効果があったのは間違いありません。
では”WordPress”のカテゴリー、”bogo””Cocoon”の仕組みを考えつつカテゴリー分けをおこなった方法を紹介します。
なお”bogo”があらかじめインストールされているものとして解説しますので下記の記事を参考にしてください
英語記事のカテゴリーを作る
“WordPress”管理画面のメニューから、投稿のサブメニューの中から「カテゴリー」を選択し、英語の記事に使用するカテゴリーを新規に追加します。
追加するカテゴリーは、日本語で存在しているカテゴリーを英訳した名前を付け、スラッグは同一の名前が使えないので先頭に「en」を付けます。(※ 英語記事用にまったく違ったカテゴリーを作ってもかまいません)
日本語に「ダイエット」というカテゴリーがある場合で、英語ページに使用する同じ名前のカテゴリーを追加するには、日本語のスラッグを「diet」、英語のスラッグを「en-diet」とします。
- 日本語の記事に使用するカテゴリー
カテゴリーの名前:ダイエット
スラッグの名前:diet - 英語の記事に使用するカテゴリー
カテゴリーの名前:diet
スラッグの名前:en-diet
英語ページにあてがうカテゴリーが作れたら、該当する英語ページの記事を新たに追加したカテゴリーに変更します。
“bogo”の機能「翻訳を追加」で追加した英語記事は、故意に変更しない限り、日本語記事であてがったカテゴリーのままになっています。(日本語記事も英語記事も、同じスラッグ名になっている)
例えば”Wordpress”のパーマリンク設定で、URL構造に「%category%/%postname%(カテゴリー/記事の表題)」を付け加えている場合は記事のURLが下記になります。
- 日本語記事のURL:https://ドメイン/カテゴリー(スラッグ名)/記事の表題
- 英語記事のURL:https://ドメイン/en/カテゴリー(スラッグ名)/記事の表題
この場合、英語記事としての「/en/」は付加されていますが「カテゴリー(スラッグ名)」とカテゴリーIDは同じです。
これを追加したカテゴリーに英語記事を割り当てると「カテゴリー(スラッグ名)」が変更されます。
- 変更前:https://ドメイン/diet/記事の表題
- 変更後:https://ドメイン/en/en-diet/記事の表題
これで日本語と英語の記事が個別のスラッグ名になり、それぞれに別のカテゴリーIDが割り振られます。
カテゴリー変更の手順
過去に書いた英語記事が多い場合、”Wordpress”の投稿画面で一括変更するのが便利です。
- 投稿画面の「ロケール」の項目を「英語」にして、「絞り込み」をクリック(英語の記事が選択できます)
- 「カテゴリー」の項目を、変更する目的のカテゴリーにして「絞り込み」をクリック(ロケールとカテゴリーを一度に指定して絞り込んでもかまいません)
- 一番上の記事の「クイック編集」を選択する
- 「カテゴリー」の欄で適用させるカテゴリーにチェックを入れ、不要なカテゴリーのチェックを外す
- 記事一覧の上部に表示されている「タイトル」横のチェックボックスにチェックを入れる
- 左上の欄が「一括操作」にチェックが入っていることを確認して「適用」をクリックする
※ 元々のカテゴリー分けで複数のカテゴリーを選択している場合などは、不要なカテゴリーが残る場合があります。
カテゴリー分けの問題
“WordPress”のカテゴリーは一言語のみの対応なので、日本語と英語の区別はつけられません。従ってカテゴリーを追加するページ(管理画面)から英語記事を割り当てたカテゴリーを表示させても、URLに「/en/」が付かないので、英語の記事が選択されずに「NOT FOUND」となり記事が表示されないという問題があります。
これは”Wordpress”の初期設定で「サイトの言語」を日本語にしているため、カテゴリーのすべてが日本語と認識しているためです。
<ブラウザ表示>
しかし英語記事に表示させている「カテゴリー」や「パンくずリストのカテゴリー」から表示させると、新たに英語記事に割り当てたカテゴリーの一覧が表示されます。
これは表示されている記事の言語に関連付けされているためで”bogo”の機能だと思われます。いずれにしても読者が管理画面(カテゴリーのページ)を操作できないので問題はありません。
英語ページに表示されている「カテゴリー」をクリックした場合に表示されるURLには「/en/」が付加されて、該当するカテゴリーの英語記事一覧(インデックスリスト)が表示されます。
- カテゴリーの管理画面から表示させた場合
URL:https://ドメイン/category/en-diet/ - 英語記事の「カテゴリー」「パンくずリスト」から表示させた場合
URL:https://ドメイン/en/category/en-diet/
パンくずリストとウィジェットによるカテゴリーリストの表示
ウィジェットを用いてカテゴリー一覧(インデックスリスト)を表示させる場合は、表示させる場所によって言語を分ける必要があるので、日本語用と英語用のカテゴリーのウィジェット(同一場所に2つのウィジェット)を配置します。
“bogo”をインストールしている場合、ウィジェットに「次の言語のページで表示」という欄ができているので、片方を日本語で表示、もう片方を英語のページで表示させるにチェックを入れることで、日本語と英語のページにそれぞれに表示させるカテゴリーを分けることができます。
そして、ウィジェットの「表示設定」で日本語と英語のページで表示させるカテゴリーを「表示」または「非表示」を選択します。
カテゴリーのタイトルをわかりやすく表示させる
投稿ページに表示させている「カテゴリー」「パンくずリスト」「サムネイル画像」などのカテゴリータイトルは”bogo”の「テキストの翻訳」のページで翻訳した文字が反映されます。
テキストの翻訳方法は、こちらで解説しています⇒世界とつながる英語のブログ
カテゴリー一覧(インデックスリスト)のタイトルは、”Wordpress”管理画面のメニューから、投稿のサブメニューにある「カテゴリー」ページの「カテゴリーのタイトル」に書きこんだ文字が反映されます。(タイトルが空欄の場合はスラッグを表示)
まとめ
英語記事に専用のカテゴリーをあてがうことにより、サイトに設置したサイトマップ(HTML形式)が見やすくなり、グーグルに送信したサイトマップ(XML形式)もうまく認識できたようでインデックスの数が英語記事の数だけ増えました。
またホームページなどで、新着記事や人気記事をカテゴリーに分けて表示させる場合も、日本語と英語のカテゴリーIDが分離できるので、ショートコードでの仕分けが簡単になるなどのメリットがあります。
- カテゴリーIDが分離されて、ショートコードの使用が容易
- カテゴリー分けされたサイトマップが見やすくなる
- グーグルに別記事としてインデックスされる(詳しくは不明)
- 海外からのアクセスが急増
今回の記事はカテゴリー分けで英語記事の整理について紹介しましたが、完全英語化にするには「言語スイッチャー」や「目次設定」など、英語ページに表示される「日本語」を英語にする必要があります。
「言語スイッチャー」や「目次設定」については以下の記事で紹介しています。
この問題は設定当時からGoogleサーチコンソールで問題(エラー)になっていましたが、現在301リダイレクトで解消しています。
その方法はこちらの記事で紹介していますので参考にしてください。