上毛印刷株式会社

【WordPress】マルチサイトでドメイン直下をリダイレクトさせる

【WordPress】マルチサイトでドメイン直下をリダイレクトさせる

2024年07月29日
WEBサイト制作
  • #PHP
  • #WordPress
  • #HTML
  • #tips

こんにちは!
上毛印刷WEB制作担当のソーヤです。

WordPressのマルチサイト機能はご存じでしょうか。
親となるWordPressで、複数の子WordPressを管理する機能です。
こんな感じのイメージ↓↓↓

雛形となるWordPressを作成して、複数のWordPressを量産する際など本当に便利ですよね。

そんなWordPressのマルチサイト機能ですが、以前ある問題が発生しました。

・ドメイン/tokyo/
・ドメイン/yokohama/
・ドメイン/nagoya/
・ドメイン/osaka/
上記のように、複数の子WordPressを量産していたのですが、
ある時、「ドメイン直下にアクセスしたらどうするの?」とWEBディレクターに聞くと、
「親会社のサイトにリダイレクトさせてください」との指示がきました。

「リダイレクトね、じゃ.htaccessに記述するか」と短絡的に考えていたのですが、
実際に下記のように.htaccessに記述すると・・・

Redirect permanent / https://親会社.com/

もちろん、すべてのディレクトリが親会社のサイトに飛んでしまいます・・・

さて、どうしたものかと・・・
色々調べてみたのですが、
WordPressのマルチサイト機能をONにした際、.htaccessの記述がかなり複雑になるので、あまり.htaccessをいじらないほうがいいという記事をみました。
でも、なるべくGoogle様が推奨されているように、meta refreshJavaScriptでのリダイレクトを使わず、301 リダイレクトさせたいと思っていました。

そんな問題を解決する画期的な関数がWordPressにありました!

テンプレートファイル例

<?php
/*
Template Name: マルチサイトトップページ
*/
?>
<!doctype html>
<html <?php language_attributes(); ?>>
<head>
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name='robots' content='noindex,nofollow' />
</head>
<body>
  <?php wp_redirect( '★リダイレクト先のURLを記載★', 301 ); exit; ?>
</body>
</html>

上記コードをindex.phpに記述してテーマを作成。
親のWordPressに適用させると、きれいに301 リダイレクトさせることができます!

まとめ

少しでもクオリティの高いWEBサイトを作るために、辛抱強く調べ続けることは、
本当に大事ですね。

WEB制作担当ソーヤ

ソーヤ

上毛印刷WEB制作担当
前職は東証プライム企業の本社WEB受託チームにてフロントエンドエンジニアを3年経験。


この記事に対するご意見・ご感想・ご質問等ありましたら、
ぜひ下記フォームにてお送りください。

    お名前必須
    メールアドレス必須
    お問い合わせ内容必須
    PAGE TOP