サイトの設定情報をhttps仕様に変更 WORDPRESS (ログイン情報、メニュー情報、プログラムのパス等)
2018年3月20日SEO関連, Wordpress, wordpressテクニカル, テクニカル
サイトは必ずしも静的ページで作られているわけではありません。プログラムで構成されていればその中にもファイルやリンクのパス名が入っています。それらを書き換えないとhttps化の動作ができない場合もあります。やはり、WORDPRESSもhttps化を設定やデータベースの中身のレベルで書き換えが必要です。フレームワークも同様ですし、オリジナルのプログラムもそうなると思います。作業を行う前に必ずコンテンツ、プログラム、データベースをバックアップして切り戻しができるようにしてから作業を行いましょう。
尚、今回はWORDPRESSでのhttps化に特化して説明したいと思います。
WORDPRESSのhttps化方法
https化する方法としてざっくり3種類考えられます。どの方法がいいか!?というよりもどれが最短でできるか?という観点で私はやっています。
- https化プラグインを使う。設定の中にあるパス名を書き換える。
- WORDPRESSのデータベースの中をhttpからhttpsに置換する。
- DB置換もしくはxml形式で記事をエクスポートして、新規にhttpsでWORDPRESSを設置してからインポート、設定をやり直し。
上記の方法では、間違いなくhttps化プラグインが一番簡単です。でも、正直いうとどの方法も完璧ではないので最短でできる方法から試して駄目だったら次の方法という感じでやっています。
https化プラグインで有名なのは「Really Simple SSL」です。これは簡単にいうとプラグインで内部のhttpを正規化表現か何かで引っ掛けhttpsに置換しているのだと思います。複雑なプラグインやテーマを使っているならまずは、これでやってみて様子見がいいと思います。
2つ目のDBの中を置換する方法ですが、これは私がよく使っている方法です。直接MySQLでクエリー行で置換を行うケースとSQLファイルにして吐き出したテキストを置換する場合があります。サイトのプラグインやテーマ、カスタマイズの状況を把握してやり方をチョイスしています。
【置換SQLサンプル】
下記の3つのテーブルを置換すると良いと思います。
1 2 3 |
update wp_posts set guid=replace(guid,"http://www.abc.com","https://www.abc.com"); update wp_posts set post_content=replace(post_content,"http://www.abc.com","https://www.abc.com"); update wp_options set option_value = replace(option_value,"http://www.abc.com","https://www.abc.com"); |
DB置換ではwp_postsとwp_optionsに限定して置換をかけたほうが良いです。その他のテーブル置換を行うと概ねWidgetやテーマ、プラグインの設定が飛んでしまうケースが多いです。置換後にSSL化でWEBサーバ起動し、その後にWPへログインし設定パネルへ移動しhttpをhttpsに手動修正してゆく方法だとうまく処理できる場合が多いです。DB上で変換しないで、管理画面>ツールにあるエクスポート機能で投稿、固定ページ、カスタムポストタイプのデータを事前に取っておいてインポートする方法があります。カスタムポストタイプだけ特殊な場合があり、うまくエクスポートできない事もありますが、事前にデータベースをバックアップしておけばやり直しができるので安全に試行してください。
3つ目の方法は無難な方法です。確実に再構築できると思います。https仕様でWORDPRESSを新規インストールし、後から記事データをDBレベルで流し込むかxml形式で流し込みます。widgetやプラグイン、サイトの設定は予めレプリカサイトを作り閲覧しながらコピーするやり方、もしくはテキストに設定をコピペしてそれを流し込んでゆく方法があります。時間が多少かかりますが確実な方法です。