ウェブサイトの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を設定されているサイトをリスト化しているものらしいです。
参考サイト
これは最終的にやりますか。