ネット上のアクセスボリュームをUPさせ効率の良い集客をご提案します。

カテゴリー「wordpressテクニカル」の記事

サイトの設定情報をhttps仕様に変更 WORDPRESS (ログイン情報、メニュー情報、プログラムのパス等)

 / 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つのテーブルを置換すると良いと思います。



DB置換ではwp_postsとwp_optionsに限定して置換をかけたほうが良いです。その他のテーブル置換を行うと概ねWidgetやテーマ、プラグインの設定が飛んでしまうケースが多いです。置換後にSSL化でWEBサーバ起動し、その後にWPへログインし設定パネルへ移動しhttpをhttpsに手動修正してゆく方法だとうまく処理できる場合が多いです。DB上で変換しないで、管理画面>ツールにあるエクスポート機能で投稿、固定ページ、カスタムポストタイプのデータを事前に取っておいてインポートする方法があります。カスタムポストタイプだけ特殊な場合があり、うまくエクスポートできない事もありますが、事前にデータベースをバックアップしておけばやり直しができるので安全に試行してください。



3つ目の方法は無難な方法です。確実に再構築できると思います。https仕様でWORDPRESSを新規インストールし、後から記事データをDBレベルで流し込むかxml形式で流し込みます。widgetやプラグイン、サイトの設定は予めレプリカサイトを作り閲覧しながらコピーするやり方、もしくはテキストに設定をコピペしてそれを流し込んでゆく方法があります。時間が多少かかりますが確実な方法です。

https化で出てくる問題(https化した途端にmod_rewriteが効かなくなってしまう)

 / Linux Tips, Wordpress, wordpressテクニカル, トピックス, ノウハウ


Google Chromeの7月リリースバージョンでいよいよサイトのALL SSL化が始まる。
これによりhttpに対応していないサイトは「このサイトは安全でない」の画面が出てしまう。今でも
稀に見ることがある画面ですが、あの画面がでてしまったら当然誰もクリックor タップしないでしょう 。

ということでSSL化をしなければ行けないわけだけど、もう一つこれには考慮が必要なことに気づいた。
スマホとPCコンテンツを分離して作成している場合はアノテーション設定が必要だが、モバイルファーストインデックスも
開始宣言(2/21)が出ているし、何よりもアノテーション設定でURLをhttpsに変更しなければならない。

※レスポンシブで制作している場合は気にする必要はありません。WORDPRESSでデバイスプラグインを使っている人も問題なし

ということでSSL化をやってみると色々な新規顧客である特有の問題が出た。
一番ハマったのが、「https化した途端にmod_rewriteが効かなくなってしまう。httpのときにはmod_rewrite使えたのに!」という現象のサーバが幾つかあった。
つまりWORDPRESSなどではカスタムパーマリンクが使えなくなってしまう現象に遭遇しました。

原因を調べるために、約1日考え込み実験をしまくりました。
や~、これは気が付かなかった。httpd.confを普段触らずVirtualHostでサイト定義するから頭がそちらに向かなかった。
なんとhttpd.confを調べたら下記のようになっているではないですか! なるほど、それではTOPからその設定になっていると
下位で設定したコンフィグは無視されますね!

httpd.conf 修正前)

httpd.conf CentOSの場合修正後)

apache2.conf Ubuntuの場合修正後)



apacheを再起動してめでたくmod_rewriteがSSLで使えるようになりました。
上記の設定はDirectoryディレクティブを使用しているため、適切に範囲設定をその環境内で
望ましい設定を厳密には行う必要があります。上記のケースでは”/”でAllowOverride Allにしているためセキュリティを
高くするためにはフォルダーの範囲をもう少し狭めたほうが良い場合もあるので実験して良いバランスの設定を考慮スべきと思います。

他にも、https化で出てくる作業が多いのでメモをしておきます。

https化で遭遇する付帯作業

  • Google Search Consoleにhttpsでサイト登録が必要
  • 旧httpアドレスがインデックスされたり、他サイトと連携している場合はhttpアドレスからhttps転送設定が必要
  • 転送設定をjavascriptでやる場合は注意が必要。コンバージョンが拾えなくなる可能性がある。リファラーを追加する設定が必要かも
  • Google Analysticsの管理画面でプロパティ、ビューのURLをhttpsに切り替える。ビューのコンバージョンURLも変更。
  • sitemap.xmlをhttpsのアドレスになっているかチェック、なっていなかったら作り直し
  • WORDPRESSのプラグイン経由でanalysticsを設定、取得している場合は再設定が必要になる場合が多い

WORDPRESSでPHPエラー表示を抑制

 / Wordpress, wordpressテクニカル


WORDPRESSのエラー表示はあまり十分な情報を与えてくれないものである。こんな時はテーマファイルで該当するページにあてがわれているものに次のコードを挿入し詳しいデバッグをしましょう。

対象テーマファイルに以下のいずれかのコードを入れると抑制できます。

// エラーを画面に表示(0にすると画面上にはエラーは出ない、1にすると表示する) error_reporting(0); ini_set(‘display_errors’, 0);

タグ: ,

テーマ編集、プラグイン編集を停止させる

 / Wordpress, wordpressテクニカル


WORDPRESSにおいて、管理者権限を与えられたユーザはテーマ編集、プラグイン編集ができます。しかし、サイトを開発した人にとってやはりその編集を許すことは破壊につながるため機能を利用停止にしたい場合があります。

wp-config.phpに下記を挿入します。これでテーマ編集、プラグイン編集ができなくなります。

define( 'DISALLOW_FILE_EDIT', true );

タグ: , , ,

WORDPRESSの自動アップデート

 / Wordpress, wordpressテクニカル


WORDPRESSは、バージョン3.7移行はマイナーアップデートに関しては自動的にシステムアップデートをするようになりました。しかし、メジャーアップデートに関しては承認作業が必要でした。

これを完全に自動でアップデートしたいという人は下記のコードを挿入することで自動的にメジャーバージョンもアップデートします。


wp-config.phpに下記を挿入してください。WORDPRESSのメジャーアップデートも自動化されます。

define( 'WP_AUTO_UPDATE_CORE', true );

※注意として自動アップデートしてまずい場合があります。カスタマイズでWPのDBをかなりいじっている場合は自動化はやめた方がよいです。

次に、テーマやプラグインですが現状は管理画面上には更新が来ているマークが表示されますが自動化されません。これらも、もし自動化したいというのであれば次のコードをfunctions.phpに挿入することで実現が可能です。

functions.phpに下記を設置してください。テーマとプラグインが自動アップデートになります。

add_filter( 'auto_update_theme', '__return_true' ); //テーマアップデートの自動化
add_filter( 'auto_update_plugin', '__return_true' ); //プラグインアップデートの自動化

※注意としてテーマのアップデートやプラグインのアップデートはユーザ自身でカスタマイズを行うと、自動アップデートで消失します。そのようにならないためにもテーマやプラグインはフォルダー名をデフォルトから変更しオリジナルのものになるようテーマ設定箇所を書きかえましょう。

タグ: , , ,

TOPへ戻る