【WordPress】SSL化でログインできずスタイルが崩れる…の対処法

WordPressのSSL化については1年ほど前に記事を書きました。まだ当ブログが50記事にも満たなかったころ。簡単でした。

関連記事

「SSL化」とは何ぞや……という話ですが、ウチのメインのWordpressブログにはGoogle先生からずいぶん前に警告が来ています。Chrome のセキュリティ警告を表示します2017 年 10 月より、ユーザーが C[…]

SSL

その後、いくつかのSSL化経験を経て、やっとメインブログのSSL化に着手しました。

なぜ、メインをそんなに長い間放置していたのかって……だって、5000記事だから。

やはりブログは、テンプレートなどのカスタマイズにせよ、引っ越しにせよ、そしてこのような何かしらのアップデートにせよ、記事数が多いほど大変です。エラートラブルも起こりやすくなります。当然ですが。

そして、実際にとんでもないエラーを引き起こすハメになったわけです。

という忘備録。

「一般設定」の「WordPress アドレス (URL)」の変更には気をつけなされやという話

探す

エックスサーバーでSSL化の設定を済ませたら、まず、URLの頭に「https://」をつけてみてアクセスできるかどうか確認しますよね。

まぁ、ここではまず、アドレスバーにきちんと鍵が付いているかどうか確かめてみる。通常はヘッダー画像がssl化されていないので「ああ、まだカギが付いてないなぁ」などと、ガッカリするシーンが来るわけですが……

hatena-ssl2

今回はそれどころじゃなかったのです。

スタイルが崩れている!!サイドバーがメインの下に付き、その下にフッターがダラダラくっ付くというみっともなさ。なぜだか分からないけれども、 cssが読みこまれていません。

この時点で、「今回は5000記事もあることだし、ssl化したらとりあえずトップページだけmixコンテンツを何とかして個別記事はゆっくり手入れして行こう~~」というノンキな計画は一気に潰れました。

ほんとうに……Wordpressって、時々、変な汗かかせてくれる。

まずサイトURLを変えてみようじゃないか

とりあえず、ダッシュボードの「設定」→「一般設定」から、WordPress アドレス (URL)サイトアドレス (URL)を「https://」に変更するという普通の手順を踏んでみました。

通常なら、これをやった途端にダッシュボードから強制ログアウトさせられるはずです。

管理画面もssl化されて「https://」になるので、今までのログインアドレスに「s」を入れてアクセスし直すわけです。

そして、ダッシュボードがどうなろうが、とりあえず「https://」が付いたssl化済みのブログ自体は表示され続けているはずなのです。

しかし、何ということでしょう……。URLを変更した途端にサイトも表示されなくなった真っ白です。

ダッシュボードにも入れないので入力のし直しも当然できません。

で、どうするかというと、プラグインのせいで画面真っ白になった時と同じようにファイルマネージャー(←左記はエックスサーバーの場合)に接続します。

関連記事

私、常々「プラグインはやたらと入れない方がいいですよ」「特に表示が早くなるという文句に釣られるキャッシュ系プラグインにはご注意を」「何かする前にはバックアップをーー!」と、書いておりますが、人にそう言う割には自分自身はバックアップも[…]

エラー

ファイルマネージャーから「WordPress アドレス (URL)」の設定をし直し

ダッシュボードで「WordPress アドレス (URL)」の設定を間違えて入れなくなった場合は、「wp-config.php」を編集します。

「wp-config.php」の場所はフォルダ直下、「wp-admin」などのフォルダや「.htaccess」などの並びにあります。

セキュリティ対策のために「wp-config.php」のパーミッションは皆さん400などに変更してありますよねよね

まずはパーミッションを600に変更してから編集しましょう。終ったら400に戻しておくことを忘れずに。

「wp-config.php」にサイトアドレス変更の記述を加える

「(function() {var dropdown = document.getElementById( "archives-dropdown-2" );function onSelectChange() {if ( dropdown.options[ dropdown.selectedIndex ].value !== '' ) {document.location.href = this.options[ this.selectedIndex ].value;}}dropdown.onchange = onSelectChange;})();