wordpress SiteをSSL化する。-Xserver-


ウェブサイトのSSL化が進んでいるらしいのでgroschat on lineもSSL化してみました。

Xserverが独自SSL割引キャンペーンを延長していたので、申し込んでみる。

「CoreSSL」が1年無料!との事なので、物は試し。

参考サイト

一年間無料の「CoreSSL」を申し込む。プランも無料のネームベースを選択。SSL化が上手くいったらサブドメインの「nagisa.groschat.net」もSSL化しようと思ったのでコモンネームは「www」無しを選択。サブドメインは「www」を選択してもwww.nagisa.groschat.netでアクセスできないらしいので。

40分位でSSL証明書設定完了のメールが来た。

SSL化の手順

  • 1.サーバー証明書の取得
  • 2.HTTPSへのリダイレクト
  • 3.内部リンクの修正
  • 4.各種ツール・パーツのHTTPS動作確認
  • 5.すべてのコンテンツがHTTPSでダウンロードされているかを確認
  • 6.WordPressの設定変更
  • 5.rel=”canonical”の更新
  • 7.ウェブマスターツールへの登録
  • 8.サイトマップの更新
  • 9.ソーシャルシェアの引き継ぎ
  • 10.HSTSの設定
  • 11.外部リンクの更新
  • 12.高速化

と、言うことらしい。

参考サイト

「2.HTTPSへのリダイレクト」は5.の後でもいいらしいので、置いといて。

内部リンクの修正をする。これもプラグイン「Search Regex」で一括変換。
「http://groschat.net」を「//groschat.net」に変換。内部リンクは相対URLの方が良いらしいので。

WordPress アドレス (URL)とサイトアドレス (URL)を
「https://groschat.net」に変更。

メインメニューの各カテゴリーの一覧がhttps://になっていなかったので、もう一度設定し直す。

chromeのSecurityで確認してみると、http://にリンクしているコードがある。

「WP Social Bookmarking Light」の「Ever clip」へのリンク。これは削除した。
「Pz-LinkCard」のCSSが「http://groschat.net/〜」を参照していたので、何も変更しないで、保存をして解消。

この二つくらいでどうにかなった。

HTTPSへのリダイレクトの書く場所が分からない。

.htaccessファイルに下記のコードを追加すれば良いのだが…。

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

または

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://groschat.net/$1 [R=301,L]

.htaccessのどの辺?

参考サイト

で、こんな感じになりました。

suPHP_ConfigPath /home/groschat/groschat.net/xserver_php/
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/groschat/groschat.net/xserver_php/php-cgi" .php
FCGIWrapper "/home/groschat/groschat.net/xserver_php/php-cgi" .phps

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://groschat.net/$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

ウェブマスターツール(サーチコンソール)への登録を済ませて…。

サイトマップはまだ登録していないので、後日「All In One SEO Pack」の設定をしてからにしよう。

トラブル発生!

HTTPSへのリダイレクトを.htaccessファイルに記入したらrssにエラーが出た。

調べてみても原因不明。reeのエラーの記事にあったfunction.phpの空行を無くしたり、「wp-includes/feed-rss2.php」と「wp-includes/feed-rss2-comments.php」に「ob_end_clean();」を追加したりプラグインを再インストールしたり四苦八苦。直らない。

参考サイト

HSTSの設定で直る?

最後まできちんと設定しておけば良かったと言うことですな。

HSTSの設定の設定をしたら直った。

最終的な.htaccessはこんな感じ。

suPHP_ConfigPath /home/groschat/groschat.net/xserver_php/
AddHandler fcgid-script .php .phps
FCGIWrapper "/home/groschat/groschat.net/xserver_php/php-cgi" .php
FCGIWrapper "/home/groschat/groschat.net/xserver_php/php-cgi" .phps

Header set Strict-Transport-Security “max-age=31536000″ env=HTTPS

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$ [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://groschat.net/$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

プリロードHSTSを設定と言うのもあるらしい。

HSTSを設定されているサイトをリスト化しているものらしいです。

参考サイト

これは最終的にやりますか。