SSL対応できているつもり

httpからhttpsに変更するだけでSEO評価が上がるという噂を聞いて、よく分からない状態でSSL対応をする人、多いと思います。
僕もそのうちの一人です( ´_ゝ`)

よく分からないけど、安全に接続する仕組みなんでしょ?程度にしか分かっていないので、URLの先頭がhttpsになりさえすれば大丈夫なんだと思っていました。

僕はXserverを使っているんですが、Xserverでは簡単にSSL化が出来ちゃうんですよね。

何を持って出来たと思うってしまうかというと、httpsで接続できてしまうから、安易に成功したと思ってしまうんです。

SSL化対応、実はこれだけではダメなんです。

URLの正規化忘れてる

今までhttpで接続できていた物とは別に、SSL化したことによって新しくhttpsで接続できるようになりました。

素人考えでは、SSL化を行った後は自動的にhttpで接続できなくなると思っていたんですが、httpでもhttpsでも両方から普通に接続出来ちゃうんです。

そんなもんなのかと思っていたんですが、実はこの両方から接続出来る状態はSEO的にマイナスポイントになります。

例えばAという記事があるとしましょう。
URLの正規化が行われていない場合、下記の様に同じ記事がhttpとhttpsの2種類混在している状態になっているんです。

一つの記事がURLの違う状態でインターネット上に2個ある状態になっており、検索エンジンはこの状態を「重複コンテンツ」という風に扱います。

検索エンジンは基本的に同じドメインの記事を同じ検索結果に載せません。
他に良いコンテンツが無ければ結果に表示されることもありますが、多様性が求められるため、同じ場所に同じ記事を出さない仕組みを取っています。

これを防ぐためにURLの正規化を行うわけです。

僕はこれを数ヶ月間やっていなかったので、何をしてるんだ馬鹿野郎と過去の自分に言ってあげたいです(´Д⊂ヽ

自分で自分のSEO評価を落としていることになるのです。

やり方は簡単のはず・・・

じゃぁ、URLの正規化をやってやろうじゃ無いか!となるのですが、どこを調べてもhtaccessにコピペするだけだとしか書いていないのです。

当然Xserverにも「Webサイトの常時SSL化」として、手順が載っていました。

たったこれだけをコピペするだけ出来る様に見えますよね。

Xserverではhtaccessファイルを編集する方法が2種類あります。

  • 管理画面から編集
  • FTPから編集

どれだけググってもただ編集すれば良いだけとしか書いていないので、ここで1時間ほどハマりました。

他の参考サイトを見ても触っているファイルのパスは合っているし、実際に変更したデータもFTPでちゃんと確認出来ているのに、一向にhttp→httpsにリダイレクトしないんです。

マジでおかしい、どう考えてもおかしいと思って色々ググると、編集内容も編集箇所も皆微妙に違うんです。

どれが合ってるんだよ・・・って何回も試しますよね?普通。

50回は試した。
ファイルの上に入れたり、改行無くしたり、いろんなバージョンで試した。
でも出来ないw

ちなみにこのブログで設定した内容は下記の通りです。

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

<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

Xserverに書かれていた内容とちょっと違うのはご愛敬として、なんでリダイレクトしないのか、この時点でお手上げ状態です。

サブドメインが原因

僕はブログをサブドメインで運用しているので、サブドメインの場合、Xserverの管理画面から編集できないんです。

FTPでもう一個下の階層まで移動した該当ブログのhtaccessを直接編集しなくてはいけなかったんですw

誰も書いて無くてマジやばかったw

普通は「/greeds.net/public_html/.htaccess」を触るんですが、これは多分サブドメインじゃ無い人の場合ですよね。
皆この書き方だから、自動的にサブドメインはリダイレクトしてくれる便利な機能だと思い込んでしまいました。

サブドメインの人は「/greeds.net/public_html/affiliate/.htaccess」を触ります。

冷静に考えて、リダイレクトしたくないブログもあるわけで、リダイレクトさせたいのなら該当箇所を触らないとダメですよね(;´Д`)

とにかく、サブドメインの人はFTPでしか編集できませんので、ご注意くださいませ。