WordPressのブログサイトをSSL化する

結果
失敗しました
ん~というかURLを http ⇒ https はコンプリートしたんだけど、ものぉすごぉく遅くなっちゃった
キャッシュプラグイン(WP Fastest Cache Premium)を入れる前と同じかそれ以下になってるんでキャッシュが効いてない感じだけど原因不明
中身熟知しないで使ってるとこういう時ダメなんだよなぁ
この手の不具合を追究してるとキリがなくてWPやめたくなっちゃう

やる気満々で下の記事を書いていたのだがまことに残念な結果に。。

まぁなにかの参考になるかもしれないから興味ある方はどうぞ

/***** この記事書き終わって最後にふと思ったんだけど.htaccessのキャッシュプラグインが記述する部分が上手く書き換わってなかったんじゃないかと気づく。そこだけでも確認してみれば良かったorz *****/

以下、本文


今回ウチで一番稼いでくれているWordPressサイトをSSL化(https)する事にした

先々週あたりGoogle大先生がアルゴリズムのそこそこ大きい変更をしたという噂を聞いたがその影響なのか、先週からPVが半分近くになって泣いている

非SSL通信である事が関係してるかわからないけど、世間ではSSLデフォの波が押し寄せてきているので、やらない訳にはいかんくなったという状況

記事数は400弱だけど1記事が結構なボリュームで、DBエクスポートしてみたらテキストファイルで74MBもあるんで正直、あんまり触りたくなくて。。

そんなんでダラダラとSSL化を引き延ばしてしまったのだが今回そのような事情で重い腰を上げたという訳

以前から考えてはいたので、手順はそれほど迷わず以下の通りに確定

①DBバックアップ
②.htaccessバックアップ
③DB内のURL置換
④WP管理画面のURL変更
⑤301リダイレクト処理(.htaccess)
⑥Googleアナリティクス変更
⑦Googleサーチコンソール変更(httpの既存サイトを削除してhttpsを新規作成)

環境はCPIのレンタルサーバーで当然相手はLinuxでこちらはWindows7

LinuxのPCもあることはあるのだが、なにせ使い慣れていないんでトラブった時にあたふたするのが目に見えてる
親和性はベストではないかもしれないが、やはりこういう時こそ手慣れたPCでやるのが良いんだろうなとおじさん考えました

今回、一番悩んだのがDB内のURLをどうやって置換するか

DBダンプ(エクスポート)してローカルに落としてエディタで置換するのが一番早いかと思ったけど、Linux ⇒ Windows ⇒ Linux というのがどうも気になって、できれば避けたい

SSHでリモートサーバーにログインして、MySQLのコマンドで直接やるのが一番良いと思ったのだが、CPIってSSH経由で操作できる範囲が狭いみたいで、コマンドがきかなかった(熟知していないのでやり方悪いのかもだけど他のサーバーで試したらできたので、恐らく制約かと。。間違っていたらごめんなさい※Poderosa使用)

phpMyAdminからクエリで置換していくという手も考えたけど、DB全体を文字列で一括置換というSQLコマンドは存在しないらしく(たぶん)、対象のテーブルをピックアップして全部のカラムに対して置換をかけるというなんとも手間のかかる作業なのでそれも断念

もちろんWordPressのプラグインを使っちゃうというのもあるんだけど、中身がどうなってるかわからないからなぁと。
恐らくは↑の手作業をグリグリっとスクリプトがやってくれるだけだとは思うがトラブった時に何が悪いのかわからないのは嫌なので、これもやっぱり不採用

こうなるとやはり最初にあげたDBエクスポートしてローカルでテキストエディタで置換というのが最もシンプルなのかなぁと

問題は74MBもあるファイルを何で扱うか

手元にあるエディタでは開くだけでも数分かかり、置換が正しく行われるか怪しいので248GBまで扱えるという最強エディタEmEditorを使ってみることにした

永久ライセンスが18000円とテキストエディタとしてはかなり高額だが、30日間の試用期間があるので、とりあえず今回は試用で使ってみた

まぁ~チョッパヤだね

74MBのファイルが一瞬で開いた。さすが

.htaccessの変更は以下の構文を”# BEGIN WordPress”の前に挿入(実際はWP Fastest Cache Premiumのヤツが長々と# BEGIN WordPressの前に挿入されているので、その更に前に挿入予定)

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>
これも環境によって無限ループになる事があるようなので、要注意ですよ

手順をさらってみる

①CPIの管理画面からバックアップ用のDB作成

下の*****_dbが既存DB、*****_bup0219がバックアップ用

②phpMyAdminで既存DBの内容をバックアップ用DBにコピー

既存DBの管理画面から操作タブを選択してコピー先にバックアップ用DBを指定
バックアップ完成(+で開くと既存と全く同じ構成になってる)

③既存DBをエクスポートしてローカルに落とす

74MB弱。デカすぎw

④テキストエディタで http:// ⇒ https:// に一括置換する

他のURLまで書き換わらない様に http://example.com の様にドメインまで指定する

あとは書き換えたSQLファイルで既存DBをリストアすればOK

MySQLってインポートで上書きにはならないから、一度テーブルをすべて削除して、インポートする

そして、アクセスの少ない明け方4時頃を狙ってDBリストアした

WPの管理画面の設定⇒
WordPress アドレス (URL)
サイトアドレス (URL)
については、確認したらhttpsに変わっていた

そりゃそうだ、DB内のURL全部書き換えたんだから、ここも変わってなきゃおかしい

結果

URLの書き換えは上手くいった

しかし、何故かキャッシュプラグインが効いてないようで、ページ開くのに10秒とかそれ以上かかってしまう

全てのキャッシュを削除はやってみたが改善せず

CDNも変えてみたりしたけど変わらず

正直なにが悪いか全く思いつかなかったので、とりあえず戻すしかない

再度、既存DBのテーブルをすべて削除して、バックアップ用DBの管理画面に入り、操作タブからコピー先に既存DB指定をして実行

戻しは上手くいった

もちろんページの表示スピードも従来通りに戻っている

そんな訳で現状、SSL化は仕切り直しと相成りました。osamushi

PageSpeed Insightsでユーザーエクスペリエンス テストをしてみた

Googleのユーザー エクスペリエンス(UX)テストをしてみた
URL: https://developers.google.com/speed/pagespeed/insights/

この記事を書いている時点では、WordPress 4.7.2 Twenty Seventeen をカスタマイズ無しでキャッシュ以外のプラグインも無しのほぼ吊るしで使っているが、モバイル67点、PC75点だった

決してよい数字ではないよね

注意レベル?

当然のことながら、検索順位にも影響してくるからもう少し点数上げたいなということで、キャッシュのプラグインを強化した

WP Fastest Cache が使いやすいので元々導入しているが、有料版の WP Fastest Cache Premium にアップグレードした
※キャッシュ系プラグインは注意⇒ 英語(URL)の表示を折り返したい※キャッシュに注意!

他のサイトで使っていて実力は認識していたので、5000円弱のコストも特に高いとは思っていないので、すんなり導入

結果

ブラウザキャッシュの有効化とかCSS見直しとか、100点目指すのもそれほど難しくはなさそうなんだけど、WPやテーマのアップデートしたりすると、恐らくイタチゴッコみたいになるんで、このくらいで良いかと

このサイトはXサーバーのwpxクラウドというヤツでスピードも定評あるサーバーなので、レスポンスに関しては問題ないと思う(実際はサーバー側もWPに最適化されていてサーバー内部キャッシュも使われている)

キャッシュ系のプラグインで効果が大きいのは、PHPで一時的に作成したページをHTMLで吐き出して、リクエストに対しては静的ページを返す事でスピードも速くなるしCPUの負荷も減らしてくれる事だろうね

っと今回自力ではなくプラグインのお世話になっちゃったんで、技術的な話はないけど、正直、自力で何日もかけてやるより5000円払ったほうが早いよというつまらない話でした

おあとがよろしいようで。osamushi

iPhoneのバッテリーが急激に減る問題を解決した話し

iPhoneのバッテリーについていろいろ云われてるようだけど、手元の環境はiPhone6 でそろそろ使い始めて1年半くらいかな
ご多分に漏れず、最近バッテリーの減り早くなったなぁなどと気にしていて、音楽とか聴いてると30分程度で80%台とか・・

iPhone6s ではロットによってバッテリーに問題があったようで、キャリア経由でも交換してくれるらしい(ソフトバンクショップの店員さん談。自分は該当していないので詳細不明。キャリアかAppleに問い合わせてみてね)

自分の話に戻ると、先日フル充電の状態で朝家をでて、30分後に目的地に到着してみたらなんと45%だった

みるみるうちにソレが30%くらいになっちゃって、異常事態ということで一旦シャットダウンしてみた

ハイご臨終

っという訳でもないけど、バッテリー切れで起動しない

電源入れても赤のバッテリーマークがでて、既にemptyの状態になってた

もうダメかぁ

と思ったが、この症状を見てて気づいたのが、バッテリーそのものが問題なら、こんな急激に無くなるのはおかしいなと

もしや、バッテリー残量を検知するセンサーとか残量の数値を管理してるデータベースまわりに問題があるんじゃぁないかとオレ考えたね
※プリンターのインクカートリッジにも同じような現象が起こる話はまた別の機会にしたい

それで試してみました強制再起動

ライトニングケーブルで電源繋げてとりあえず起動

立ち上がったらホームボタンと電源ボタンを同時に押したまま、Appleマークが出るまで長押しする

リンゴが出たらすぐに離す

押し続けてると再起動しないで、そのままシャットダウンしちゃうので注意

はっはっは

無事解決

強制再起動すると微妙に残ってるメモリ的なヤツがクリアされるような感じ(かなりいい加減な表現だがニュアンスでよろしく)

全ての症状に効果があるわけじゃないけど、修理に出すしかないような事態の時には試してみる価値はある

そうなる前にバックアップは忘れずに


ダメならリセットかけてiOS入れなおしというのも考えてたけど、起因がソフトでなくバッテリーそのものならあきらめて修理か新調するしかないというところまでは切り分けしてた

今回は助かったけど、何れにせよバッテリーがかなり消耗してるのは確かだね

こんな薄っぺらいバッテリーだもん、やっぱり2年くらいが限界なのかな

でもおかげさまでとりあえずは使えるようになったんで、後半年残ってる交換時期まではなんとか使いたい

osamushi

すべてのプログラム の アクセサリ が Accessories になっちゃった【Windows 英語表記】

先日の記事 Windows Update 更新プログラムの確認 が終わらないを解決する の最後に書いたのだが、アクセサリやその中のメモ帳、電卓その他が英語表記になってしまった

スタートボタン ⇒ すべてのプログラム ⇒ アクセサリ
通常、日本語版のWindowsならこのようなカタカナ表記のはずが
「メモ帳」⇒「Notepad」
「アクセサリ」⇒「Accessories」
「電卓」⇒「Calculator」
こんな感じで英語表記になっていた

どのタイミングでなったか不明

Windows7 のOSをリストアしたので、最初からそうなっていたのかもしれないが今となっては追及不可

環境:Windows7 Home Premium SP1 64bit

くーちゃん@りんこさんのサイト http://ameblo.jp/wajiro/entry-11352864253.html を参考にさせてもらった

要約すると、2つのシステムフォルダにダミーのショートカットを作る
たったそれだけ

手順は以下

①デフォルトで見えないようになっているフォルダを見える設定に変更

まずは、現在Windowsにログインしているアカウントに管理者権限が与えられている事を確認する(標準ユーザーでできない事は確認してないけどシステムファイル・フォルダをいじるので管理者じゃないとダメかと。。アカウントが一つしかない場合は問題ないはず。)

エクスプローラの左上「整理」メニューから「フォルダーと検索のオプション」を選択

フォルダーオプションの「表示」タブを選択して

・1つ目
上から5行目くらいにある「ファイルとフォルダの表示」の「隠しファイル、隠しフォルダー、及び隠しドライブを表示する」のラジオボタンを選択する

一番下までスクロールする

・2つ目
「保護されているオペレーティングシステムファイルを表示しない(推奨)」のチェックを外す

準備OK
上記2つ目の変更はこの作業が完了したら必ず戻す事
Desktop.ini を誤って削除したりすると面倒な事になる

②2つのシステムフォルダにダミーのショートカットを作成する

以下2つのシステムフォルダーにショートカットを作る

エクスプローラを開いて、左のナビゲーションカラムにあるデスクトップ(ダウンロードでもOK)にカーソルを合わせて右クリックメニューから
送る ⇒ デスクトップ(ショートカットを作成)
でデスクトップにショートカットを作る
※下記のパスについて、webでの見え方はバックスラッシュ\ですがWindows上ではエンになります(半角の¥。バックスラッシュになってしまうのでここでは表示できない)

  • C:\Users\自分のログインユーザ名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories
  • C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories

この時、ちょっとしたコツがあるので注意

ショートカットは何でも良いわけじゃないみたい

やってみた限りでは、「ダウンロード」と「デスクトップ」は有効だった

でも「マイドキュメント」はダメだったのでWindowsのデフォルトフォルダなら良いという訳でもないみたい

各々、Desktop.ini を開いて確認してみる

最下行にデスクトップのショートカットリンクが追加されている


これで確認したところ英語表記がカタカナ表記になっていた

めでたしめでたし

最後に①で変更したフォルダーオプションを必ず元に戻してね

今回、気づいたきっかけはメモ帳を開こうとして「プログラムとファイルの検索」で検索してもヒットしなかった事

無くなった訳ではなくて、表記が変わってしまったからヒットしなかったんだね

こういうこともあるんで、検索でヒットしないからと言ってそのファイルやプログラムが存在しないとも限らないという教訓 osamushi

Windows Update 更新プログラムの確認 が終わらないを解決する

PCの動きが悪くなってきたので Windows7 をリカバリした

インストールは正常に完了したが、Windows Update が「更新プログラムの確認」状態から抜けられなくなった

Windows7がリリースされてから、現在までのすべての更新をインストールしようとしているのだから当然時間がかかると思い、そのまま一晩寝かせたがダウンロードどころか「更新プログラムの確認」すら終わっていなかった

ほっとけば何れアップデートは完了するとも考えられるが、SP1に上げないと使えない機能やソフトがあるので早急にアップデートする必要があったのだ

実際、今の状態ではアップデートの確認作業をしてくれてるのかどうかも怪しく、正しい動きとは思えなかったので、ググってみると、たくさんでてくるでてくる

中でも一番シンプルかつ明快に答えてくれているサイトを見つけた

解決!7とVista更新プログラムの確認が終わらない対策まとめ | パソコンりかばり堂本舗
URL: https://www.ikt-s.com/howto-check-for-update-rollup/
管理人 ikuta naoki さん ありがとうございます!

KB3020369 Rollup事前必須パッケージ
KB3125574 Rollup第一弾
KB3172605 Rollup第三弾

3つのKBをインストールするのだが、1つ目はサービススタック更新、2,3のKBはロールアップという更新プログラムをまとめたもので何れもブラウザ経由でダウンロードして一括インストールする

これで多くの更新プログラムを Windows Update を経由せず直接ダウンロードしてしまうので、対策後は最近の更新プログラムを Windows Update で地道にアップデートしていけばよい

ikuta naoki さんのサイトを参考にちょい足しして実施した手順を紹介します


手順

準備:まずは現在動いている Windows Update の「更新プログラムの確認」を止める

Ctrl + Alt + Delete キーを同時に押してセキュリティダイアログを表示させて、タスクマネージャーを選択する

サービスタブからwuauserv(Windows Update)を選択して「サービス」ボタンをクリック

Windows Update を選択して「サービスを停止」をクリック

Windows Update を停止したら準備完了

下記へ進む


①KB3020369

https://support.microsoft.com/ja-jp/kb/3020369
「方法 2: Microsoft ダウンロード センター」という表記の下にあるリンクから自分の環境にあったものを選んでダウンロードして、インストールする

自分のPC環境の確認方法は下記の通り

スタートボタン⇒コンピューターを右クリック⇒プロパティ

32bit ⇒ サポートされているすべての x86 ベース バージョンの Windows 7
64bit ⇒ サポートされているすべての x64 ベース バージョンの Windows 7

対象の「パッケージのダウンロード」から更新ファイルをダウンロードしてインストールする

インストールしたら一旦再起動する

②KB3125574

https://support.microsoft.com/ja-jp/kb/3125574
ページ中ほどの「Microsoft Update カタログ」リンク先へ飛ぶ
(http://www.catalog.update.microsoft.com/Search.aspx?q=KB3125574)


Microsoft®Update カタログから自分PCに該当する更新プログラムを選択してダウンロードしてインストールする

ここでもインストール後、再起動

③KB3172605

https://support.microsoft.com/ja-jp/kb/3172605
「方法 2: Microsoft ダウンロード センター」という表記の下にあるリンクから自分の環境にあったものを選んでダウンロードして、インストールする

インストール後、再起動

※実際のところ、上記の操作中にインストールが先に進まない状況があったが、キャンセル ⇒ 再起動でやり直したらうまくいった
なぜだか各KBとも、1回目はコケたけどリトライでイケました


おかげさまで Windows Update も正常に動くようになったが、別の問題発生

「すべてのプログラム」の表示が一部英語になってしまった

Windows Update の一連の作業が原因かどうか不明で、もしかしたらリカバリ後の初期起動時からなっていたのかもしれない

気づいたきっかけは「メモ帳」を使おうとしたら無かったこと

スタートボタン ⇒ プログラムとファイルの検索 ⇒ 「メモ帳」 ⇒ 検索結果なし

えっ??

実際はメモ帳が無いわけじゃなくて英語表記になってしまっていたので検索に引っかからなかったのだ

「メモ帳」⇒「Notepad」
「アクセサリ」⇒「Accessories」
「電卓」⇒「Calculator」

こんな調子

コイツの解決方法は後日、別記事にします

英語(URL)の表示を折り返したい※キャッシュに注意!

HTMLは、英文の場合ワードの途中では折り返さないという思想で設計されている(と思う)

長い英文の区切れないワードの場合、サイトの幅を超えてはみ出しちゃう事になる

日本人かつ昭和人なオレは馴染みがないが、英語は言葉の途中で折り返す(次行へ送る)のは非推奨なので、ブラウザもそれに則ってリフローしない設計になってるという事なんだろうね
※基本は半角スペースがワード区切り

当然、URLもアルファベット(半角・1バイト文字)の羅列なので、英文とみなされ、なにもしなければ、webページの右端で折り返さず、言葉の区切りまでハミ出す

たとえ英語圏の人たちだって、こんなのイヤだよね

現状においては、様々な幅のデバイスで閲覧されるので、コンテンツ側で丁度よく折り返るように文章を調整するなんて事をしても無意味

それでこんな対応

CSSに以下を追記
body{
word-wrap : break-word;
overflow-wrap : break-word;
}

※ word-wrap は旧タイプで overflow-wrap は未対応ブラウザがあるみたい
いずれは overflow-wrap に置き換えられるみたいだけど両方書いておくのが良いらしい

しか~し!

オレが運営しているあるサイトで、この対策が効かなかった

追記しても折り返らなかったのだ

検証サイトで全く同じ環境を作ったのにもかかわらず折り返り、対象サイトでは折り返らない

結論から言います

Word Press のプラグインで WP Fastest Cache Premium というのを導入している

wpで吐き出す動的ページをキャッシュして静的ページで渡す、CPUの負担を軽くしてくれるヤツだ

そいつはCSSもキャッシュするのだが、通常のwebページなどは、設定によって定期的にキャッシュをクリアするがCSS/JSは手動でクリアしないと、差し替えてくれない仕組みになってた

そんなんで、時間が経っても変更したCSSが書き換わらず、break-word が効いてなかったのだ

そいつをクリアして無事URLが折り返ってくれた

チャンチャン

※wpのテーマによっては、英文が折り返るようにCSSが書かれているのもある

参考:https://w3g.jp/blog/confusing_word-break_word-wrap

Forbidden You don’t have permission to access / on this server. とは

wordpressで運用している検証サイトをサーバー移行してみた

対象フォルダをzip圧縮して、データベースは phpMyAdmin から sql エクスポートして、移行先サーバーにすべてをインポートして完了(ダウンロード、アップロードはブラウザ経由)

検証用サイトなんで、22MB程のサイズで難なく完了と思いきや

開いてみると下記の通り

Forbidden
You don’t have permission to access / on this server.

クライアントからのリクエストに対して、サーバーが403エラーを返しているという事

permission(許可)が不十分

閲覧禁止とか訳される事もあるかな

ファイル・フォルダのパーミッションはもちろん変更していないので問題ないはずなのに。。

でも、一応対象フォルダのパーミッションを確認してみた

おぉ~なんと変わっちゃってるじゃないか

750じゃ開けないよね

コレって移行先サーバー(今回はさくらのレンサバ)でzipを解凍したのだが、その場合、最上位フォルダは750に設定されるようになってるのかもね(たぶん)

755に変更

はい解決

さくらのレンタルサーバーの場合ファイルマネージャから簡単にパーミッションを変更できる

対象フォルダを右クリックしてフォルダメニューを出す

プロパティを選択するとパーミッション設定画面ポップアップが出てくる

ffftpとかでも同じような操作で簡単に変更できるよね

よくみかけるのはサーバーメンテナンスで403が返ってくるケース

メンテナンス中、ユーザーからのアクセスを避ける為にサーバー側で上位フォルダの閲覧権限を狭くしてるんだろうね

Word Pressの子テーマ使用時の注意_001/Google AdSens

ワードプレスで子テーマを使っている時の注意点_001

子テーマを使う目的とは、親テーマを直接カスタマイズとか追記すると、アップデート時に上書きされて、デフォルトに戻ってしまう事を回避する為だよね

しかし Google AdSens の認証コードを貼りつける位置は、<head>タグの直後と指定されている

テーマを自作している場合なら良いけど、誰かの作ったテーマを使う場合は、必ずしも子テーマで追記したモノが期待した場所に挿入されるとは限らない

オレの場合、yhiraさん が配布してくれている Simplicity2 を使用しているサイトで、アドセンスの認証時にこの問題に直面した

<head>タグの直後でなくてもイケそうな気がするが、指定の場所以外に貼りつけて、認証は通ったとしても、その後 Google 側で変更があり不具合が起こるリスクもあるので、やはり指定されている方法で運用したい

なのでとりあえず、子テーマ(Simplicity2 child)では無く、親テーマ(Simplicity2)の header.php に Google AdSens の認証コードを直接貼りつけた

当然、親テーマのアップデート後に再度、追記をする必要がある

この程度なら自力でカスタマイズして解決できる気もするので、ヒマな時にチャレンジしてみよう

とりあえず、忘れない為に書いたとさ

Simplicity: https://wp-simplicity.com/

コントロールZ/ショートカットキー

このサイトのタイトル

こんとろーるぜっと

ctrl + Z キーを同時に押す操作

Windowsのショートカットキーでいろんな場面で操作を一つ戻れる

つまり直前の操作を無かったことにしてくれる、いわゆる”アンドゥ”

ショートカットキーの中ではコピペ(Ctrl + C コピー ・ Ctrl + V ペースト)同様、よくお世話になるね

実際はアプリケーションの中で使える操作で、なんにでも効くわけじゃないけど、メモ帳なら一回、エクセルなら2010で100回まで戻せる

MacだとコマンドZ

ちなみにゴミ箱を空にした操作を取り消したりは出来ないから、そんな時にはいろいろいじくり回す前に復元ソフトが役に立つ(この件は別の機会に書こう)

そんな訳で、全て我流でやってる間違いだらけのオレにとって、なくてはならないコントロールゼットをブログタイトルにしたという訳

よろてぃくび

※環境
Windows7 Home Premium SP1 64bit
Office Home and Business 2010