2026年5月20日
2026年5月20日
WordPressのURLがwwwあり・なしで分かれてしまう場合の解決方法
はじめに
https://yoursite.comとhttps://www.yoursite.comは別のURLとして扱われます。両方でアクセスできる状態はSEO上の重複コンテンツ問題を引き起こし、Cookieの動作にも影響します。どちらかに統一して301リダイレクトを設定することが重要です。
wwwあり・なしを統一する理由
- SEO:重複コンテンツとして評価が分散する
- Cookie:wwwあり・なしでCookieが別管理になる
- PageRank:被リンクの評価が分散する
- SSL証明書:wwwあり・なし両方に対応しているか確認が必要
ステップ1:どちらに統一するか決める
どちらが正解はありません。 ただし既存のサイトなら被リンクが多い方に統一するのが一般的です。Google Search Consoleでプロパティを確認して決めましょう。
ステップ2:WordPressのURL設定を統一する
// wp-config.phpで統一(www なしに統一する例)
define('WP_HOME', 'https://yoursite.com');
define('WP_SITEURL', 'https://yoursite.com');
// www ありに統一する場合
// define('WP_HOME', 'https://www.yoursite.com');
// define('WP_SITEURL', 'https://www.yoursite.com');
または管理画面:「設定」→「一般」でURLを統一します。
ステップ3:.htaccessでリダイレクト設定(Apache)
www なしに統一する場合:
# .htaccessのWordPress設定の前に追加
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
www ありに統一する場合:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
</IfModule>
ステップ4:Nginxでのリダイレクト設定
# www なしに統一する場合
server {
listen 80;
listen 443 ssl;
server_name www.yoursite.com;
return 301 https://yoursite.com$request_uri;
}
# www ありに統一する場合
server {
listen 80;
listen 443 ssl;
server_name yoursite.com;
return 301 https://www.yoursite.com$request_uri;
}
ステップ5:Google Search Consoleで優先ドメインを設定
1. Google Search Consoleに両方のプロパティを登録
2. wwwあり・なし両方をドメインプロパティとして登録(DNS認証で一括管理)
3. カノニカルURLが統一されているか確認
DNSの設定確認
# wwwなしのAレコードを確認
nslookup yoursite.com
# wwwのCNAMEまたはAレコードを確認
nslookup www.yoursite.com
両方のアドレスが同じサーバーに向いていることを確認します。
まとめ
wwwあり・なしの統一は①wp-config.phpでURLを決定→②.htaccessまたはNginxで301リダイレクト→③Google Search Consoleに登録の手順で行います。301リダイレクトにより検索エンジンへのリダイレクト設定が伝わり、SEO上の重複コンテンツ問題が解消されます。
関連記事: