プラグインを入れる前に、自分で書けないか考えるようになった

小さな機能のために、大きなプラグインを入れていました。判断を変えた話です。

この記事の結論

  1. 小さな機能に、大きなプラグインは重い
  2. 数行で済むなら、自分で書くほうが軽い
  3. ただし、安全に関わるものは既存を使う
  • 小さな機能に、大きなプラグインは重い
  • 数行で済むなら、自分で書くほうが軽い
  • ただし、安全に関わるものは既存を使う

機能を足したいとき、まずプラグインを探していた。自分で書く選択肢も考えるようになってから、サイトが軽くなった。

プラグインの重さ

1つ入れると、何が起きるか理解した。

  • すべてのページで読み込まれる
  • 使っていない機能も含まれている
  • 設定画面や、他の機能も付いてくる

2つ目が無駄だ。1つの機能のために、十数の機能を抱えることになる。

自分で書く判断

こういう場合は、自分で書いている。

  • やりたいことが、明確に1つ
  • 数行から数十行で済みそう
  • 安全性に関わらない

3つ目が条件だ。入力を受け取るものや、権限に関わるものは書かない。

実際に書いたもの

自分で書いて済ませたものを挙げる。

  • 記事の文字数を表示する
  • 目次を自動で作る
  • 特定のカテゴリを一覧から外す
  • 画像に決まった処理を加える

どれも数十行で収まった。プラグインを入れていたら、それぞれ数千行が読み込まれていた。

プラグインを使う判断

逆に、自分で書かないものもある。

  • 問い合わせの仕組み
  • キャッシュや高速化
  • 安全性に関わるもの
  • 管理画面の機能

1つ目は何度も書いているが、入力を受け取るものは、既にあるものを使う。

頼むときの伝え方

自分で書くと決めたら、こう頼んでいる。

WordPressで次の機能を追加したいです。
(やりたいこと)

- 子テーマのfunctions.phpに書く形で
- プラグインは使わない
- 最小限の記述で
- 各行の説明を付けて

既存の機能で実現できる場合は、それを教えてください。

最後の1行が重要だ。書く前に、書かずに済む方法が見つかることがある。

書いたものの管理

自分で書いた分は、記録を残している。

  • 何のための記述か、コメントで書く
  • いつ、なぜ追加したか
  • どこに影響するか

3つ目を書いておくと、後から消すときに判断できる。

書いた後に測る

自分で書いた場合も、影響を確認している。

  • 追加する前の、ページの表示時間を測る
  • 追加した後に、もう一度測る
  • 重くなっていれば、書き方を見直す

数十行でも、全ページで動く処理なら影響が出る。必要なページでだけ動くよう条件を付けると、負担が減る。記事ページでしか使わない機能が、トップでも動いていたことがあった。条件を1行足すだけで解決した。

増えすぎないように

自分で書く分も、増えると管理が大変になる。

  • ファイルが長くなったら、分ける
  • 使わなくなった記述は消す
  • 定期的に読み返す

2つ目を忘れると、何のためか分からない記述が溜まる。

プラグインを減らした結果

見直して、いくつか外した。

  • 自分で書ける機能のために入れていたもの
  • 使っていないもの
  • テーマの機能と重複していたもの

3つ目が意外とあった。テーマに同じ機能があるのに、気づかず入れていた。

プラグインを選ぶときの基準

使うと決めた場合も、選び方を決めている。

  • 更新が続いているか。最終更新の日付を見る
  • 使っている人の数
  • 設定項目が少ないか。多機能すぎないか

3つ目を重視するようになった。多機能なものは、使わない機能も読み込まれるうえ、設定を把握しきれない。目的が1つに絞られたものを選ぶほうが、軽くて分かりやすい。更新が止まっているものは、問題が見つかっても直されないので避けている。

判断の順番

いまは、この順で考えている。

  • WordPressの標準機能でできないか
  • テーマの機能でできないか
  • 数十行で書けないか
  • それでも無理なら、プラグインを探す

1つ目と2つ目で済むことが、思ったより多かった。

まとめ

  • 1つの機能のために、十数の機能を抱えることになる
  • 明確に1つの目的で、数十行なら自分で書く
  • 入力を受け取るものと、安全に関わるものは書かない
  • 「既存の機能でできないか」を先に聞く
  • 標準機能とテーマの機能で済むことが多い

AUTHOR

北海道のWEB屋

北海道を拠点に、Web業界14年・サポート実績1,000件以上。WordPressの復旧、サーバー移転、独自ドメインとメールの設定、PHP・JavaScriptの修正まで対応します。相談と見積もりは無料です。

関連記事

RELATED