functions.php修正を外注する場合のトラブル防止策

この記事はこんな人向けです
  • テーマのfunctions.phpを直したいが、自分で触るのは不安で外注も検討している
  • 過去にfunctions.phpの編集で真っ白(WSOD)になり、怖くなっている
  • 外注先とのやり取りを効率化してやり直し・行き違い・追加費用を避けたい

WordPressレベル別 対応難易度

Lv1 Lv2 Lv3 Lv4 Lv5 Lv6 Lv7
レベル判断は、右のレベル表(スマホは画面下)を参考にしてください。

赤:外注推奨 オレンジ:条件付き自力可 緑:自力対応可

functions.php修正の全体像と対応方針

functions.phpの編集は一文字のタイプミスでサイト全体が落ちる“全体影響型”の作業です。
まずは子テーマ・バックアップ・検証環境の3点セットを用意し、再現手順と受け入れ基準を決めてから着手します。
自力でいくか外注するかは、作業内容の難度とダウンタイム許容度、そして切り戻しの準備状況で判断しましょう。

functions.php修正 ~WordPressレベルごとのおすすめ対応

まずは“壊さない準備”を優先

functions.phpはテーマの読み込み時に実行されるため、ここでPHPエラーが出ると管理画面ごとアクセス不能になることがあります。プラグインの有効/無効より復旧難易度が高く、FTPやサーバーパネルに慣れていないような赤レベルの方にはハードルが高めです。

このレベル帯は、要件の言語化現状の共有に集中するのがベストです。
例えば「何を実現したいのか(例:カスタム投稿タイプのアーカイブで抜粋末尾にCTAを自動付与)」「いまの不具合(例:ヘッダーのWarning表示)」「再現手順」「希望納期」「ダウンタイム許容の有無」を書き出します。

外注先に伝えると良い情報は次のとおりです。
・テーマ名/バージョン
・子テーマの有無
・PHP/WordPressバージョン
・導入プラグインの一覧
・サーバー環境
・直前の更新履歴
・対象URLのスクショや動画
・期待する表示例
これだけで原因特定と影響範囲の見立てが一気に早くなります。

また、“禁止事項”を先に決めておくと、のちのトラブルが減ります。
例)
・親テーマ直編集は不可
・コアや他ファイルの同時修正は事前承認制
・サイト全体に影響するwp_head/wp_footerのフックは要相談
・自動アップデートを一時停止してから作業
など。
契約前にこの方針を共有しておくと安全です。

検証環境+切り戻し前提で小さく進める

日常的にFTPやファイル編集を触れるオレンジレベルの方なら、内容が軽微なケース(アクションフックの追加、不要フィルターの除去、管理画面の小カスタマイズなど)は自力実装も視野に入ります。ただし本番直編集は避け、ステージング(検証)環境を用意して動作確認→検証→本番反映の順で進めます。

このレベルでの要点は次の通りです。
子テーマ化(親テーマアップデート耐性の確保)
差分管理(変更前後のファイル保存/Gitが理想)
バックアップ(ファイルとDB両方)
ログの確認(PHP error_log、WP_DEBUG_LOG)

また、autoloaderやComposerを導入していないテーマに大規模ロジックを追加しないなど、保守性の観点も大事です。

「条件付き」の理由は影響範囲です。
ヘッダー/フッターのグローバルフック、クエリ書き換え(pre_get_posts)、リダイレクト系(template_redirect)、出力バッファリング、REST APIやAJAXのエンドポイント追加などは、パフォーマンスやSEO、管理画面の操作性にも波及します。
要件が増えたり仕様が曖昧なときは、一旦外注へ切り替えて設計から支援してもらう方が結果的に早いです。

最後に「切り戻し」(変更前の状態に戻す計画)を明文化します。
反映ウィンドウ、バックアップ取得時刻、失敗時の担当窓口、もとに戻す手順(ファイル差し替え/デプロイやGitリバート/キャッシュクリア)をメモして、「いつ/誰が/どうやって戻すか」を決めてから本番に出しましょう。

“要件定義”と“受け入れ基準”をサボらない

PHPの例外処理・フック体系・ロード順・トランジェント/オプションの扱い・REST/AJAX・CLI運用に長けている緑レベルの方なら、functions.phpではなく専用のモジュール化プラグイン化を前提に進めるのが王道です。
テーマは見た目、ロジックはプラグインの原則に寄せると長期運用が安定します。

ただし“速攻で1行足す”のは本番事故の温床です。
最低限、テストケース(再現手順→期待結果)受け入れ基準(Doneの定義)を短く書き、レビュー観点を決めてからコミット。キャッシュ層(サーバー/プラグイン/CDN)やObject Cache、OPcacheの挙動も含めて「表示が古い/反映されない」を潰します。

さらに、パフォーマンス/SEO/セキュリティの副作用チェックも忘れずに。
・フロントへ不必要なフックで余計なクエリを増やしていないか
・wp_head周りでメタが重複していないか
・管理画面の一覧が重くなっていないか
・ノンス/権限チェックは十分か
・オプションのautoloadは肥大していないか
など。

ここまで見ておけば、外注に切り替えるとしても設計書だけ渡して実装だけ依頼など柔軟に進められます。

functions.php修正を外注する場合のポイント

「落とさず早く直したい」「設計から任せたい」なら外注が安全です。費用感・進め方・事前準備をサクッと把握しておきましょう。

項目ポイント
費用の目安 軽微な調整(フック追加/表示制御の微修正/Warning解消):5,000~15,000円
影響範囲が広い修正(クエリ調整/REST・AJAX追加/管理画面拡張):20,000~60,000円
設計からの対応(要件整理/プラグイン化/回帰テスト一式):80,000円~
緊急枠・夜間/休日対応・即日反映は割増になることがあります
依頼の流れ 1. 要件共有(現象・再現手順・期待結果・影響ページ・期限)
2. 見積と方針の合意(子テーマ前提/検証環境/切り戻し計画)
3. 検証環境で実装→確認→本番反映(作業時間帯と停止可否を事前合意)
4. 受け入れテスト(表示/機能/ログ/検索流入/管理画面の動作)
5. 納品物受領(差分一覧・変更理由・リリースノート・復旧手順)
準備しておくと便利 テーマ名とバージョン/子テーマの有無、PHP・WordPressバージョン、最近の更新履歴
対象URLとスクショ/動画、エラーログ抜粋、プラグイン一覧(有効/無効)
テスト観点(表示崩れがNGのページ/計測したいスコア/検索タイトルの変化など)
本番反映の時間帯・キャッシュ運用(LSCache/Cloudflare等)・連絡手段
まとめ

functions.phpの修正は、小さな変更でも全体停止につながる点が難所です。だからこそ「子テーマ・検証環境・バックアップ・切り戻し」の4点を最初に固めなければなりません。

は外注で安全最優先、オレンジは条件付きで小さく検証、は設計から固めて長期運用に耐える実装、これが基本方針です。

要件の言語化と受け入れ基準が整っていれば、外注でも自力でも迷いが減ってスムーズに進みます。
事故らせない準備をして、最短で気持ちよくリリースしましょう。

この記事を書いた人
著者アイコン

桐山智行(株式会社H.T.P. 代表)

2007年よりWeb制作に従事し、現在は企業サイトやWordPressの保守・改善支援も行っています。これまで100社以上・500サイトを超える案件を担当し、トラブル対応から集客サポートまで幅広く経験しています。

その他のWordPress関連記事はこちら

  • Lv1 初心者 初心者 … ログインなど基本も不安
  • Lv2 基本操作 基本操作 … 投稿OK/更新は不安
  • Lv3 投稿メイン 投稿メイン … 記事更新・差替えはできる
  • Lv4 更新ユーザー 更新ユーザー … テーマ/プラグイン更新経験あり
  • Lv5 データ操作 データ操作 … DBやバックアップを理解
  • Lv6 カスタマイザー カスタマイザー … 子テーマ・CSS修正が可能
  • Lv7 マスター マスター … コード/サーバーまで自走可能