WordPress 初心者からの脱出五十嵐和恵 Kazue IGARASHI
Who am I ?
• 五十嵐和恵 - Kazue IGARASHI
• 通称おかん
• @gatespace_k
• http://gatespace.jp/
デジタルキューブ My job : Code Wrangler / Frontend Engineer
• https://www.digitalcube.jp/
• WordPress CodePoet Directory コンサルタント
• Amazon Web Servicesアドバンスド コンサルティングパートナー
• 分散型ワークスタイル
• 営業ゼロ。100%インバウンド
• WordPress on AWS大規模ウェブメディア など
WordPressとの関わり• _s (Underscores)
http://underscores.me/
• Contributor
• WordPress日本語フォーラム http://ja.forums.wordpress.org
• 世話役
• WordBench仙台http://wordbench.org/groups/sendai/
• モデレーター
網元起動隊 https://www.facebook.com/
GHOSTINTHEAMIMOTO
網元起動隊 奥の細道
網元起動隊 in サンフランシスコ網元起動隊 沖縄班
WordPress トラブル あるある
(もろもろの理由で)バージョンアップしない
脆弱性が残ったまま。超危険!
WordPress 日本語版の動作環境
• PHP バージョン 5.2.4 以上 (PHP 5.4 以上推奨)
• MySQL バージョン 5.0 以上 (MySQL 5.5 以上推奨)
WordPress 4.3 “Billie”
• 2015年8月19日 リリースhttps://ja.wordpress.org/2015/08/19/billie/
• 2015年8月6日 リリースhttps://ja.wordpress.org/2015/08/06/wordpress-4-2-4-security-and-maintenance-release/
• 3 個のクロスサイトスクリプティングの脆弱性、1 個の潜在的な SQL インジェクションを含む、6 個の問題に対応
• 4 個のバグの修正
WordPress 4.2.4
パスワード忘れてログインできない!
パスワードの 再発行
ログインユーザー名または
登録されているE-mailアドレスが必要
登録している E-mail アドレスが間違っていた
wp_users テーブル当該ユーザーの user_email を修正する
画面が真っ白になりました!
そのまえに
テスト環境用意してますか?
ぶっつけ本番でやらない
• 本番環境と同じサーバー環境を用意するのがベスト
• 無理ならローカル環境(VCCW、MAMP、XAMPP)
http://gatespace.jp/2013/01/07/underscores01/
原因は?
• 真っ白になるのはPHPのエラーが原因の場合が多い
• プログラムは「ソースに書かれた通り」に動作 • 勝手に真っ白になるわけがない
復旧 or 原因究明
• 既に動いてるサイトなら復旧が先
• ローンチ(公開)前なら原因究明
素早い復旧のために
バックアップがあれば素早い復旧が可能
• 改変作業前 アップデート前 定期(例:毎日)
• 外部サーバーへのバックアップ
• 自動バックアップだけではなく、手動でもバックアップできるように
サーバー提供の機能を使う• 定期の他、任意で行えるか
• 世代管理
• ユーザーが戻せるか
• ロリポップ(オプション)http://lolipop.jp/service/option/#p-op-backup
• CPIhttp://www.cpi.ad.jp/shared/detail/backup.html
VaultPress https://vaultpress.com/
• WordPressのプラグイン
• リストア(復旧)も簡単
• セキュリティスキャンも
• 有料
バックアップを取る範囲
• PHPやcss、js、画像、.htaccess などのファイル群
• 最低限: /wp-content/ 以下全て
• データベース(MySQL)
一度は手動でバックアップを取り ローカル環境やテスト環境に復元することをお勧めします
原因究明
PHPのエラーの場合
• サーバーのログ確認
• WordPressのデバッグモードを有効化define('WP_DEBUG', false);
• PHPエラー意味を知るhttp://php-archive.net/php/error-message/
HTML、JavaScript、CSS
• ブラウザの開発者ツールで確認
プラグインやテーマのコンフリクトhttp://gatespace.jp/2012/09/25/wordpress-plugin-troubleshooting-flowchart/
管理画面にログインできないので テーマやプラグインを無効化できません
(S)FTPによる強制変更手順
• テーマなら /wp-content/themes/{use_theme} プラグインなら /wp-content/plugins/{use_plugin} のフォルダ(ディレクトリ)名を変更する
• ダッシュボードにログインできたらディレクトリ名を戻し、一つずつ有効化
エラーが起きたのでコアファイルを改変したら直りました
エラーが起きたので公式プラグインのコードを変えました
○○を変えたいので公式テーマを改造しました
アップデートでそのコードがなかったことになりますよ?
WordPressのコアファイル
• コアファイルの範囲/wp-admin/* /wp-includes/*/wp-*.php(wp-config.phpを除く)
• コアファイルで実装されてる関数が原因ではなく、その関数を使っているプラグインやテーマに原因があることも
• 全てのプラグインを無効化してデフォルトテーマでもエラーが起きるなら、バグの可能性も。
• 第3者でも再現できるバグであれば、Tracに報告をした方がみんなが幸せにhttps://core.trac.wordpress.org/
公式テーマ・プラグイン
• コアに同じく第3者でも再現できるバグであれば、本家のフォーラムで報告(各テーマ・プラグインの「Support」からリンク)
コアファイルやプラグインの 実行結果を変えたいとき
アクションフック・フィルターフックを使う
• do_action があればadd_action( $hook, $function_to_add, $priority, $accepted_args );
• apply_filtersがあれば、 add_filter( $tag, $function_to_add, $priority, $accepted_args );
公式テーマをカスタマイズしたいとき
子テーマを作りましょう
• 最低限 style.css のみでOK
• テンプレートファイルは必要なものだけでOK
• http://wpdocs.sourceforge.jp/%E5%AD%90%E3%83%86%E3%83%BC%E3%83%9E
まとめ
• テスト環境を用意
• バックアップ大事!
• バージョンアップ大事!
• コアファイルや公式テーマ・プラグインの改変ダメ!
Thanks!