常時SSL化後は必須!httpからhttpsへ自動転送する方法







SSL証明書を取得してWEBサイトを常時SSL化しても、通常のサイトへもアクセスできてしまうんですね。

常時SSL化したURL(https)と並行して従来のURL(http)が存在するという事は、ブックマークや履歴からアクセスした場合はもちろん、Googleクローラーも旧URLをインデックスしたままなので、しっかりと変更後のURLへ転送してあげる必要があります。

http から https へ自動転送する

無料SSL証明書

コチラの記事でも紹介していますが、最近は「Let’s Encrypt」のような無料SSL証明のおかげで、常時SSL化の敷居がだいぶ低くなったので個人レベルでの導入もしやすくなりました。

ですが常時SSL化した時点では、新URL(https)と旧URL(http)が同時に存在しているので、適切なリダイレクトを設定しないと、SSL化した事を知らないユーザーやGoogleクローラーが新URLへアクセスする事ができません。

既存サイトを常時SSL化した場合、サイト移転時と同じように「301リダイレクト」でサイト情報を引き継いだまま自動転送する必要があります。

「301リダイレクト」を使って転送する

301リダイレクト

WEBサイトをリダイレクトさせる場合、閲覧者だけでなく Googleなどのクローラーの巡回も考慮しなければいけません。
301リダイレクト」はサーバー上にある「.htaccess」というファイルに記述を追加するので、WEB初心者には敷居が高いかもしれませんが、この方法は Google も推奨しているので、しっかり対応していきたいと思います。

サーバーから .htaccess ファイルをダウンロードする

.htaccess ファイルは大抵、WEBサイトのデータが保存されているルートディレクトリにあります。.htaccess ファイルは不可視ファイルなので、ダウンロードする為に表示させる必要があります。

FTPクライアントはによって操作は違うと思いますが、私が使っている「Cyberduck」では+Shift+Rで不可視ファイルの表示/非表示を切り替えます。

不可視ファイル表示

.htaccess ファイルを表示させてダウンロードしても、PC側も不可視ファイルを表示できる状態にしておかなければ、.htaccess ファイルが表示されません。

Macの場合は+Shift+.(ピリオド)で不可視ファイルの表示/非表示ができます。ターミナルからも可能ですが、やっぱりショートカットが便利ですね。

PC側も不可視ファイルが表示される状態になったら .htaccess ファイルをダウンロードします。

.htaccess に301リダイレクト用の記述を追加する

ダウンロードした .htaccess ファイルをダブルクリックで開いて下記の記述を追加します。

たった三行追加するだけで、変更後のURLへ自動転送してくれます。
一行目の「RewriteEngine On」の記述が既にある場合は、省略しても構いません。

最後の[R=301,L] の部分が恒久的な http から https へのリダイレクトを指しているので、絶対に省略しないようにしてください。

.htaccess ファイルはサーバーの設定を制御できる便利なファイルですが、記述を間違えるとWEBサイトが表示されなくなったり、WordPressをインストールできなくなったりと不具合が出るので、取り扱いには注意してください。

.htaccess ファイルをアップロードする

リダイレクトの記述をした .htaccess ファイルを常時SSL化する前のWEBサイトデータのルートディレクトリへアップロードします。

WordPressの場合は index.php が保存されている階層ですね。

アップロードが完了したら、旧URLへアクセスして新URLのサイトが表示されていればリダイレクト完了です。それ以降はサイト閲覧者が旧URLへアクセスすることはありませんし、Googleクローラーも常時SSL化された新しいURLをインデックスすることになります。

HTMLやCSSの絶対パスの記述を変更する

常時SSL化した後で見落としがちなのが、サイト内リンクやファイル読み込み用のアドレスです。

WordPressの「get_page_link()」を使わずに、サイトアドレスを使ってリンクを貼っている場合は、https のURLへ記述を変更することをお勧めします。

旧URLのままでも自動転送してくれるので、表示上の問題はありませんが、アクセスがある度に転送をしている事になるので、やはり正規のURLを指定した方が良いと思われます。

まとめ

WEBサイトにとって、常時SSL化は今後ますます必須条件になると思います。

制作段階から常時SSL化を想定している場合はともかくとして、既存サイトを常時SSL化する場合には「301リダイレクト」で新しいURLへ転送することをお忘れなく。

「常時SSL化後は必須!httpからhttpsへ自動転送する方法」でした。