プログラミング備忘録

忘れない様にメモ

*

wordpressをhttps化、画面が真っ白になったときの対策もあり

      2019/08/10

SSL化していないサイトに対してGoogleから警告が来るようになってから結構経ってしまった。
やらなきゃやらなきゃと思いつつも、まだやってなかったのです。
一番の不安はhttpからhttpsにURLが変わることによるSEO的な影響。これが一番気になっていました。

でも気がついたらまわりはみんなhttpsに変わってますよね。
いいかげんウチもやるか、という事でいまさらながらwordpressをhttps化してみます。

SSL化したら画面が真っ白になったときの対策も書いときます。

SSL化とは

SSLとはウェブサイトとユーザーのやりとりを暗号化しますよ、って事です。

ショッピングサイトでクレジットカード情報を入力して送信したとき、SSL化していない、つまり「http」のままだと暗号化されずにクレジットカード情報がネットを介してショッピングサイトまで届きます。

これは悪意あるハッカーなら盗む事が出来る状態なんです。

これをSSL化、つまり「https」のURLで送ると暗号化された情報が送られるのでハッキングされないという事なんですよ。

wordpressのhttps化スタート

作業の流れ

  • バックアップをとる
  • サーバーの設定をする
  • URLの設定をする
  • 内部リンクをhttpからhttpsに変更する
  • httpへのアクセスをリダイレクト

こういった流れになるのですが、変更箇所を元に戻す方法も確認しておいてください。
FTPソフトで直接ファイルを触れる人はいいのですが、レンタルサーバーのファイルマネージャーなどで操作するしか方法の無い人は特に変更箇所を元に戻す方法を確認しておいてください。

バックアップをとる

エクスポートじゃだめなの?

管理画面メニューの「ツール」内のエクスポートは投稿記事やその他の情報が保存出来る機能です。
しかしデータベースの内容を保存する機能はついていないのです。

プラグインを使う

データベース情報のバックアップをとるにはデータベースにアクセスしてごっそりバックアップをとれば確実ですが、面倒くさいし普通の人では難しい作業。

プラグインを使いましょう。
BackWPupというプラグインをインストールします。

管理画面左メニューのプラグイン→新規追加
BackWPup」で検索。

BackWPup – WordPress Backup Plugin 」が出てきました。これでいいです。
インストールして有効化してください。

使い方はこちらの記事を参考にさせていただきました。

データベースのバックアップの設定について
初期状態では今回の「BackWPup」プラグインをインストールしたwpのバックアップを取るようになっているのでそのままでいいです。
同じデータベース内に他のwpがある場合はそれのバックアップも取れますが、それはそのwpの方でバックアップを取った方がわかりやすいでしょう。

念のため、バックアップファイルを自分のpcに保存しました。

レンタルサーバーの設定

ロリポップでのサーバー設定

最近ではどこのサーバーでもSSL設定が出来るはずなので各サーバーでやってください。

「独自SSL(無料)を設定する」ボタンを押す。

5〜10分程度で

出来てました。

出来てますが、内部処理のSSL化終了までには結構時間かかるみたいです。
次の作業まで1時間以上あけておかないとだめです。(失敗したという人の記事ではそうなってます)

ちなみにこの状態で、すでにhttpsのURLでサイトにも管理画面にもアクセス出来ています。(ロリポップだけかも)

URL設定

サーバー設定が終わって1時間たったら次の作業に移ります。

wordpressの管理画面からURL設定を行います

管理画面左サイドバーメニューの「設定」から「一般設定」に行きます。

WordPress アドレス (URL)
●サイトアドレス (URL)
特別な事をしていなければこの二つは同じアドレスのはずです。
両方とも先頭の「http」を「https」に変更します。

WordPress アドレスはwpをインストールしたURL
サイトアドレスは公開サイトのURL管理画面のURLはWordPress アドレスの方になる。
レンタルサーバー提供のwpを使うと
WordPress アドレス (URL)
サイトアドレス (URL)
が違う場合がある。

これで一番下の「変更を保存」ボタンを押せば変更されるんだけど、押したとたん真っ白になるんじゃないかという恐怖感がある。

wordpressってどこか一箇所エラーがあると真っ白、管理画面も真っ白でどうにもならなくなる事があるんですよね。

真っ白になったときの予防策

FTPで直接ファイルを編集するしかない。

WordPress アドレス (URL)
サイトアドレス (URL)
この二つを変更した直後に真っ白になった場合にそれを元に戻す方法。

wp-config.phpに以下を追加
define(‘WP_SITEURL’, ‘http://サイトURL’);
define(‘WP_HOME’, ‘http://サイトURL’);

使っているテーマ内のfunctions.phpに以下を追加
update_option( ‘siteurl’, ‘http://サイトURL’);
update_option( ‘home’, ‘http://サイトURL’);

これでいいはず。(どちらか一方でいい)

これをやると管理画面からは
WordPress アドレス (URL)
サイトアドレス (URL)
を変更できなくなるので、問題解決したら削除した方がいいですね。

管理画面から変更出来なくなるのはwp-config.php、functions.phpでの設定を優先するからです。

今回はなんの問題もなく変更出来た。よかった〜。

 

内部リンクをhttpからhttpsに変更

サイト内の内部リンクや画像のリンクまで一括で変更してくれるプラグイン「Search Regex」を使う。
Search Regexをインストール、有効化します。

管理画面左メニュー「ツール」→Search Regex
ここで内部リンクをhttpからhttpsに変更するのですが、
内部リンクだけを置換するには単に「http」から「https」に置換するのでなく、

うちのサイトの場合
https://stray-light.info/wp/
https://stray-light.info/wp/
このように置換します。(変更箇所は「s」一文字)

テンプレートファイルやウィジェットに直書きしている箇所はSearch Regexで見つけられないので手動で書き換えました。

 

httpへのアクセスをリダイレクト

http://stray-light.info/wp/でのアクセスをhttps://stray-light.info/wp/にリダイレクトします。

現時点ではhttps://stray-light.info/wp/でのアクセスしてきてもhttps://stray-light.info/wp/にリダイレクトされています。
どこでやってんのか、多分サーバーの方で処理されているのでしょう。(うちの環境ではの話ですよ)

でもそのうちhttp://stray-light.info/wp/でのアクセスすると「ページが見つかりません」と表示されるようになるでしょう。

.htaccessを設置する

以下をサイトルートの.htaccessに書き足す
.htaccessがなければ新規に作ってアップロード。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://サイトURL/$1 [R=301,L]

「サイトURL」のとこは自分サイトのURLですからね。

このままでアップしたら「ページが見つかりません」になってしまった。
URLはhttps://サイトURL/ってそのまま出てる。つまり書いたとおりに機能している(リダイレクト)のが確認出来たのです。失敗だけど。

 

プラグインにおまかせ

さてここまで頑張って設定してきたんだけど、
「WordPressのURL設定」「内部リンクをすべてhttpsに書き換える」「リダイレクト設定」
これをまとめてやってくれるプラグインがあった。

さきに言わんかい!

手っ取り早くやりたい人はこれでいいかもしれません。
ただ書き換えをやってくれるわけではないのでプラグインが無効になると元に戻ってしまいます。

https化は恒久的なものなのでず〜っとこれに頼るわけにも将来的にはいかないとは思いますが。

まとめ

https化、やってみると、それほど大変でもないでしょう?

どうせみんなhttps化しないといけないわけで、時間作ってやっちゃいましょう。

SEO的にはどうなるかは今後のデータをみていくしかないですね。
それに関してはあらためて記事を書きます。

補足

ここまではうまくいったのですが、サーチコンソールの設定のためDNSサーバー設定を変更したらドツボにはまりました。

 


以上「wordpressをhttps化、画面が真っ白になったときの対策もあり」という記事でした。
気に入ってもらえたらシェアしてくれると嬉しいです。

 - WordPress