こんにちは、ブジカエルです。
このブログを独自ドメイン&エックスサーバーにしてから、早くも1週間経ちました。諸々の設定や操作はかなり快適。
大満足です。
ただ、1点気になっていました。
www.があるのとないのと、どっちもアクセス可能にしてあるよ、という趣旨のメッセージを何度か見たことがあるからです。
私はwww.無しに統一したいんだけど…
と思っていました。
理由は2つ。
まず1つ目、URLはできるだけ短い方がいいと思います。
ドメインは、短い方が覚えてもらいやすいですよね。
覚えてもらった方が、再訪問が増える可能性は高いはず。
www.がなくてもいいなら、なくしてしまって、短くしたいと思いました。
2つ目は、SEO的な理由です。
www.の有無でリンクが分散するのは、SEO的には小さなことかもしれませんが、レッドオーシャンの中で生き残るには、小さなことも疎かにできない。後発組の私には、余裕がないのです(苦笑)
そういうわけで、私はwww.無しに統一する派。
昔からWebサイトを運営している人や、既にブログで地位名声(?)を獲得している方は、www.有りでも不統一でも全然いいと思います。
で、設定はどこでどうするのかというと。
Web系の仕事を十年以上もやっていれば、www.有無の統一は.htaccessでやるのだろうと察しはつきます。でも、.htaccessの設定が、サーバによって、またはサーバ会社によって微妙に違うことも経験済みです。
さらに、.htaccessって私にとっては結構厄介者で、よくわからないままあれこれいじるとろくな結果にならないので、このファイルはなるべくいじりたくないし、触らなければならない場合はかなり用心深くなります。
そして、エックスサーバーは今年今月になって生まれて初めて使い始めたサーバ。
未知の世界なので、調べてみました。
最初は、 使っているサーバがエックスサーバーであること、サイト制作にWordPressを使っていることから 「エックスサーバー www.有無統一」 「エックスサーバー WordPress www.有無統一」 などのフレーズで検索したのですが、なかなかビンゴな記事がでてきません。
おかげさまで幸いにも簡単に解決しました。
次に、「wordpress www.なしに統一」で検索したら、良さげな記事が上がってきました。
.htaccessに、下記のコードを置くだけ。
自分のドメインに書き換える必要無し。
# wwwなしに統一
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
なんて簡単な!
フク郎さん、ありがとうございました。
↓こちらの記事を参考にしました ↓
https://fukuro-press.com/wordpress-unify-www-of-url/
まとめ
エックスサーバーで、WordPressを使っていて、www.無しに統一する場合の.htaccessは結局、こうなりました。
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off
SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode
# wwwなしに統一
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
.htaccess中身解説
最初の2行
「SetEnvIf 」から「Ngx_Cache_StaticMode」までは、エックスサーバーで使われている、表示速度改善の機能「Xアクセラレータ」に関する記述らしいです。昨年からは標準装備になったようで、表示速度が速くなるなら消してはいけませんね。
# BEGIN WordPressから# END WordPressまで
これは、WordPressをインストールしたときに加えられたもの。
変えてはなりません。
www.有無の統一を指定する記述は、最初の2行「Xアクセラレータ」の次、WordPressの記述の手前に置く、というのが正解でした。