Top Banner
WordPress アカン パターン 五十嵐和恵  Kazue IGARASHI
35

WordPress アカンパターン

Jul 05, 2015

Download

Internet

Kazue Igarashi

WordOnsen in 福島飯坂 2014のセッション「WordPress アカンパターン」のスライド
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: WordPress アカンパターン

WordPress アカン パターン五十嵐和恵 Kazue IGARASHI

Page 2: WordPress アカンパターン

Who am I ?

• 五十嵐和恵 - Kazue IGARASHI

• 通称おかん

• @gatespace_k

• http://gatespace.jp/

WordCamp Kansai 2014 with Matt

Page 3: WordPress アカンパターン

デジタルキューブ My job : Code Wrangler / Frontend Engineer

• https://www.digitalcube.jp/

• WordPress CodePoet Directory コンサルタント

• Amazon Web Servicesアドバンスド コンサルティングパートナー

• 分散型ワークスタイル

• 営業ゼロ。100%インバウンド

• WordPress on AWS大規模ウェブメディア など

Page 4: WordPress アカンパターン

WordPressとの関わり• _s (Underscores)

http://underscores.me/

• Contributor

• WordPress日本語フォーラム http://ja.forums.wordpress.org

• 世話役

• WordBench仙台http://wordbench.org/groups/sendai/

• モデレーター

Page 5: WordPress アカンパターン

網元起動隊 https://www.facebook.com/

GHOSTINTHEAMIMOTO

網元起動隊 奥の細道

網元起動隊 in サンフランシスコ網元起動隊 沖縄班

Page 6: WordPress アカンパターン

本日のアカンパターン

• 真っ白になった!

• 管理画面にログインできません!

• コアファイル改変

• 公式テーマ・プラグインの改変

Page 7: WordPress アカンパターン

真っ白になりました!

Page 8: WordPress アカンパターン

管理画面にログインできません!

Page 9: WordPress アカンパターン

そのまえに

Page 10: WordPress アカンパターン

テスト環境用意してますか?

• いきなり本番でやらない

• 本番環境と同じサーバー環境を用意するのがベスト

• 無理ならローカル環境(VCCW、MAMP、XAMPP)

http://gatespace.jp/2013/01/07/underscores01/

Page 11: WordPress アカンパターン

物事には原因がある• 真っ白になるのはPHPのエラーが原因の場合が多い

• HTMLやCSSの間違いはレイアウトが崩れる程度で致命的ではない

• JavaScriptのエラーも動作はしないが真っ白になるほどではない

• 勝手に真っ白になるわけがない

• プログラムは「ソースに書かれた通り」に動作

• 直前の操作をがんばって思い出せ!

Page 12: WordPress アカンパターン

復旧と原因究明

Page 13: WordPress アカンパターン

どちらが先か

• 既に動いてるサイトなら復旧が先

• ローンチ(公開)前なら原因究明

Page 14: WordPress アカンパターン

素早い復旧のためには

• バックアップからの復旧

• 改変作業前、アップデート前、定期(例:毎日)などバックアップを取る癖をつけましょう

• 自動バックアップだけではなく、手動でもバックアップできるように

Page 15: WordPress アカンパターン

サーバー提供の機能を使う• 定期の他、任意で行えるか

• 世代管理

• ユーザーが戻せるか

• 例

• ロリポップ(オプション)http://lolipop.jp/service/option/#p-op-backup

• CPIhttp://www.cpi.ad.jp/shared/detail/backup.html

Page 16: WordPress アカンパターン

VaultPress

• https://vaultpress.com/

• WordPressのプラグイン

• リストア(復旧)も簡単

• セキュリティスキャンも

• 有料

Page 17: WordPress アカンパターン

バックアップを取る範囲• PHPやcss、js、画像、.htaccess などのファイル群

• 最低限: /wp-content/ 以下全て

• WordPress本体は公式サイトから再ダウンロード可能

• データベース(MySQL)

• 「エクスポート」では投稿タイプに紐付けられている情報しか書き出せない

• サイト設定情報などはデータベースに保存されている

Page 18: WordPress アカンパターン

一度は手動でバックアップを取り ローカル環境やテスト環境に復元することをお勧めします

Page 19: WordPress アカンパターン

原因究明

Page 20: WordPress アカンパターン

PHPのエラーの場合

• サーバーのログ確認

• WordPressのデバッグモードを有効化define('WP_DEBUG', false);

• PHPエラー意味を知るhttp://php-archive.net/php/error-message/

Page 21: WordPress アカンパターン

HTML、JS、css

• ブラウザの開発者ツールで確認

Page 22: WordPress アカンパターン

プラグインやテーマのコンフリクトhttp://gatespace.jp/2012/09/25/wordpress-plugin-troubleshooting-flowchart/

• デフォルトテーマに戻す

• エラーが起きなければ使っていたテーマの問題

• プラグインを全て無効化

• 正常に動作しなかったらコアファイルの破損かも

• プラグインを一つずつ有効化

Page 23: WordPress アカンパターン

管理画面にログインできないのでテーマやプラグインを無効化できません

><

Page 24: WordPress アカンパターン

(S)FTPによる強制変更手順• テーマなら /wp-content/themes/当該テーマ プラグインなら /wp-content/plugins/当該プラグイン のフォルダ(ディレクトリ)名を変更する

• 該当するテーマやプラグインがないと見なされ、 テーマならデフォルトテーマに、プラグインは無効化される

• ダッシュボードにログインできたらディレクトリ名を戻し、一つずつ有効化

Page 25: WordPress アカンパターン

エラーが起きたのでコアファイルを改変したら直りました

Page 26: WordPress アカンパターン

エラーが起きたので公式プラグインのコードを変えました

Page 27: WordPress アカンパターン

○○を変えたいので公式テーマを改造しました

Page 28: WordPress アカンパターン

アップデートでそのコードがなかったことになりますよ?

Page 29: WordPress アカンパターン

WordPressのコアファイル• コアファイルの範囲

/wp-admin/* /wp-includes/* /wp-*.php(wp-config.phpを除く)

• コアファイルで実装されてる関数が原因ではなく、その関数を使っているプラグインやテーマに原因があることも

• 全てのプラグインを無効化してデフォルトテーマでもエラーが起きるなら、バグの可能性も。

• 第3者でも再現できるバグであれば、Tracに報告をした方がみんなが幸せにhttps://core.trac.wordpress.org/

Page 30: WordPress アカンパターン

公式テーマ・プラグイン

• コアに同じく第3者でも再現できるバグであれば、本家のフォーラムで報告(各テーマ・プラグインの「Support」からリンク)

Page 31: WordPress アカンパターン

コアファイルやプラグインの実行結果を変えたいとき

• アクションフック・フィルターフックを使う

• do_action があればadd_action( $hook, $function_to_add, $priority, $accepted_args );

• apply_filtersがあれば、 add_filter( $tag, $function_to_add, $priority, $accepted_args );

Page 32: WordPress アカンパターン

公式テーマを変えたいとき

• 子テーマを作りましょうhttp://wpdocs.sourceforge.jp/%E5%AD%90%E3%83%86%E3%83%BC%E3%83%9E

• 最低限 style.css のみでOK

• テンプレートファイルは必要なものだけでOK

Page 33: WordPress アカンパターン

まとめ

Page 34: WordPress アカンパターン

• テスト環境を用意

• バックアップ大事!

• エラーの確認方法

• テーマ・プラグインのコンフリクト調査

• (S)FTPによる強制変更

• コアファイルや公式テーマ・プラグインの改変ダメ!

Page 35: WordPress アカンパターン

Thanks!