ホームページ制作を大阪で安く頼むならプロットハブ!

ホームページ制作を大阪で安く頼むならプロットハブ!
毎月5社限定企画実施中

プロットハブ技術ブログ

【リライトルールを修正】Bogoでタクソノミーのアーカイブが404になる

Ryota Ono

Ryota Ono

2024/6/28

こんにちは!株式会社プロットハブのエンジニア小野です。
前回に引き続きBogoについて紹介していきます。
今回はタクソノミーのアーカイブを多言語対応する方法を紹介します。
日本語ページのみ表示されて他の言語では404が発生して解決までに丸一日かかりました。
一度解決すれば簡単なことなので今後すぐに解決できるようにエラーの状況と解決方法をまとめました。
Bogoの設定方法や使い方については以下の記事を参考にしてください。
WordPressサイトをBogoで簡単に多言語化!手軽に始める方法を解説
コピペで完了!Bogoでカスタム投稿を多言語化する最速の方法
WordPressでBogoの言語スイッチャーをカスタマイズする

タクソノミーのアーカイブが404になる問題

冒頭でも書きましたが日本語のページでは表示されるのに他の言語では404が発生してしまいました。
カスタム投稿で作成したnewsを例に説明します。
CPTUIでnewsというカスタム投稿を作成しています。
この時以下のように設定しています。

  • リライト True
  • カスタムリライトスラッグ 空
  • フロントでのリライト False

CPTUI設定
news_categoryというタクソノミーを作成
この時以下のように設定しています。

  • リライト True
  • カスタムリライトスラッグ 空
  • フロントでのリライト False
https://example.com/news/news_category/
https://example.com/en/news/news_category/

このようなurlの構成になっていました。
英語のページでは404になっていたので解決方法を調査しました。

解決方法

リライトルールが正しく設定されていませんでした。
日本語のページはCPTUIで作成したのでリライトルールが自動で設定されていましたが、他の言語では設定されていませんでした。
リライトルールを設定することで他の言語でもアーカイブページが表示されるようになりました。
functions.phpに以下のコードを記載します。
functions.phpを変更する際は必ずバックアップを取ってから変更してください。

function myUrlRewrite($rules){
    $myRule = array();
    $myRule["^en/カスタム投稿名/タクソノミー/([^/]*)/?$"] = 'index.php?taxonomy=タクソノミー&tags=$matches[1]&lang=en';
    return array_merge( $myRule, $rules );
}
add_action('rewrite_rules_array', 'myUrlRewrite' );

functions.phpを更新したら管理画面の設定からパーマリンクを更新します。
この時何も変更せずに更新するだけで大丈夫です。
更新した際にflush_rewrite_rulesが実行されてリライトルールが更新されます。
functions.phpに記載してもいいのですがそのままにしておくと毎回リライトルールが更新されるためパフォーマンスが悪くなります。
リライトルールについては以下の記事を参考にしてください。

まとめ

リライトルールの設定をするまでに時間がかかりましたが解決方法は簡単でした。
今まであまり触れてこなかったリライトの設定方法についても学ぶことができたので良かったです。
BogoはSEO対策もしやすく、多言語対応も簡単にできるのでWordPressで多言語化をしたい方はぜひ使ってみてください。
弊社ではWordPressで多言語化をしたい方のサポートも行っておりますのでお気軽にお問い合わせください。

プロットハブはホームページ制作を
支援しています。
ご興味のある方はぜひお気軽に
ご相談ください。

一覧ページに戻る

全カテゴリ一覧

全タグ一覧

関連記事

コメント

コメントを残す

コメントが承認されると公開されます。※の入力欄は必須項目です

ホームページ制作が毎月5社限定5万5千円から!ご依頼の方はコチラ!