wwwの「有り/無し」の統一リダイレクトの設定方法


wwwの有り無しを、そのままにしていませんか?


両方のインデックスは不都合です!


検索エンジンに対しても、どちらか1つに統一を!



301 Redirect(301リダイレクト)で、URLの正規化!

GoogleはURLの正規化を「301リダイレクト」を推奨
リダイレクトとは


検索エンジンでは、「www有り」も「www無し」も、それぞれ別々のページと認識します
つまり、同じページを2つ持ってる事になります。「index.html|php」も同様です

※ 但し「index.html|php」関しては、CMSのシステム上の問題で出来ない場合も


同じページをインデックスすることは、検索エンジンにとっても良くありません
そこで、301のリダイレクトを使って、それぞれ統合して、1つのページとして認識


好きな方を選んでも問題ない!
「www」に関しては、検索エンジンにとっても、どちらが有利と言うことではない


Googleウェブマスターツールで、「www」の有り無しを統一の設定にし、
かつ、301リダイレクトで、「www」の有り無しを、正規化しておきましょう




<link rel=”canonical” href=”http: //〇〇〇.com”> について

「rel=”canonical」とは、<head>タグ内に記載されている検索エンジン向けの記述
重複コンテンツを統一する上で、重要な設定の1つで「URLの正規化」

CMSによっては、設定方法が異なるが
例えば、WordPressの場合は、一般設定に記載するURLが「rel=”canonical」

301リダイレクトと「rel=”canonical」の両方の設定が、
分散しているURLを統一する上で好ましい環境になる

仮に、301リダイレクトの設定をしても「rel=”canonical」が異なれば
「rel=”canonical」を、優先される場合もあるので注意


CMSの構成上、重複するURLが、4個6個8個と、たくさん出てくる場合があるが
少なくとも「rel=”canonical」の統一、wwwの統一、Google ウェブマスター

この3つの設定を行っていれば、検索エンジは、ちゃんと正規にインデックスしてくれる






Googleウェブマスターツールで設定

Googleウェブマスターツールで「www有り」「www無し」を設定する事が可能

ウェブマスターツールの右上のある「サイトの設定」をクリック

サイトの設定

www有り無しを設定





リダイレクトで「www」有りと無しの統一する具体的な設定手順

「.htaccess」のファイルを利用する方法

「.htaccess」ファイルの作成と記述

「.htaccess」のファイルを利用する方法です。
「.htaccess」のファイルの作り方は、テキストエディタを使います。

テキストエディタで.htaccess.txtというファイルを作り以下の記述を記載します。
メモ帳で作成しても問題無いようですが、出来れば、高性能なテキストエディタで

テキストエディタが無い方は、こちらからダウンロードして下さい
【FREE】テキストエディタの定番と言えば!Windows10対応




【注意】


ファイル名は「.htaccess」にするのですが、Windowsでは
「.」を拡張子として認識する為、仮に「a.htaccess」とした名前で作成しておく

FTPにアップロードした後に、「.htaccess」に名前を変更します。
「.」ドットは、必要ですので消さないでくださいね。

元々「.htaccess」が、存在ていている場合は、新たに作成する必要は無いです
但し、FTP上で上書きだとトラブルの原因になるので、ダウンロードして作成する事




wwwの有り・無しを統一したい場合

「www有り」→「www無し」に統一する場合

"# wwwなしに統一"
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.○○○○○\.com$
RewriteRule ^(.*)$ http://○○○○○.com/$1 [R=301,L]



「www無し」→「www有り」に統一する場合

"# wwwありに統一"
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^○○○○○\.com$
RewriteRule ^(.*)$ http://www.○○○○○.com/$1 [R=301,L]



URL「www.○○○○○.□□□□.com」の場合(サブドメイン)

RewriteCond %{HTTP_HOST} ^www\.○○○○○\.□□□□\.com$



上記のコードを、コピペして記述する場合の注意事項

1.ドメイン名(○○○○○.com)を、置き換えて下さい
2.通常はバックスラッシュの箇所は「\」が正しいのですが
  環境の問題で「\」が「バックスラッシュ」バックスラッシュになっている!''
3.https環境の場合は「s」の付け忘れが無いように!

※ テキストエディタに、コピー貼り付けの際は「\」に戻っていると思われますが、戻っていなければ、「\」に置き換えて下さい



「Options +FollowSymLinks」は、
必要がないサーバーもある様だが、記述していても害はない


但し、仕様によっては、500のエラーが表示されて、失敗する場合があるようだ
その場合は、1行目の「Options +FollowSymLinks」をはぶきます




「index.html」「index.php」の有り・無しを統一したい場合

「index.html無し」に統一する場合

"# index.html なしで統一"
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://www.○○○○○.com/$1 [R=301,L]

※ www 無しにしている場合は、www を省く


「index.php無し」に統一する場合

"# index.php なしで統一"
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.php
RewriteRule ^(.*)index.php$ http://www.○○○○○.com/$1 [R=301,L]

※ www 無しにしている場合は、www を省く


「www無し」「index.html無し」に統一する場合

Options +FollowSymLinks
RewriteEngine on
"# wwwなしに統一"
RewriteCond %{HTTP_HOST} ^www\.○○○○○\.com$
RewriteRule ^(.*)$ http://○○○○○.com/$1 [R=301,L]
"# index.html なしで統一" 
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ http://○○○○○.com/$1 [R=301,L]



上記のコードを、コピペして記述する場合の注意事項

1.ドメイン名(○○○○○.com)を、置き換えて下さい
2.通常はバックスラッシュの箇所は「\」が正しいのですが
  環境の問題で「\」が「バックスラッシュ」バックスラッシュになっている!''
3.https環境の場合は「s」の付け忘れが無いように!

※ テキストエディタに、コピー貼り付けの際は「\」に戻っていると思われますが、戻っていなければ、「\」に置き換えて下さい



「Options +FollowSymLinks」は、
必要がないサーバーもある様だが、記述していても害はない


但し、仕様によっては、500のエラーが表示されて、失敗する場合があるようだ
その場合は、1行目の「Options +FollowSymLinks」をはぶきます




再度確認

新に「.htaccess」を作成する場合は
仮に「a.htaccess」と名前にして、文字コードを「UTF-8」で「txt」で保存

元々「.htaccess」が、存在ていている場合は、それに記述する
但し、FTP上で上書きだとトラブルの原因になるので、ダウンロードして作成する事




記載内容の概要

Options +FollowSymLinks
このディレクトリのシンボリックリンクをたどることを許可

サーバーによっては、必要が無い場合があるようだが害はない
mod_rewriteを使うディレクトリでは「Options +FollowSymLinks」が必要らしい

但し、仕様によっては、1行目の「Options +FollowSymLinks」を入れると、
500のエラーが表示されて、失敗する場合があるようです。

その場合は、1行目の「Options +FollowSymLinks」をはぶきます。


RewriteEngine on
リライト機能をONにする


RewriteCond
リライトを実行するための条件

%{HTTP_HOST} ・・・・・・ホストが「○○○.com」
%{THE_REQUEST} ・・・・・要請は 「/index.html or /index.php」


RewriteRule
リライトを適用する

[R=301,L]
R・・・・・強制的に外部へリダイレクション
L・・・・・マッチした時点で終了、以降の読み込みは行わない


「Options +FollowSymLinks」「RewriteEngine on」に関しては、
一度、書いていれば、その都度書く必要がないです




「.htaccess」ファイルのアップロード
作成した「.htaccess.txt」を、FTPソフトを使ってアップロードします。

アップロード先は、ルートディレクトリ
(トップページの「index.html」が入っている、一番上のフォルダ)

FTPソフトが無い方は、こちらからダウンロードして下さい
無料で使える高速FTPソフト

ステータスコードの確認したい場合は
リダイレクトチェック