WordPressプラグインの記事管理を高速化|専用DBテーブル導入とページング対応の記録

WordPressプラグインの記事管理を高速化するための専用DBテーブル導入とページング対応のイメージ

Mybest Content Manager の内部構造を改善しました

WordPressプラグインを開発していると、最初は問題なく動作していても、記事数や管理データの増加に伴い、管理画面の表示速度やデータ取得処理に影響が出る場合があります。

今回、TK marketsで開発・運営している「Mybest Content Manager」において、将来的な記事数増加を見据えた内部構造の改善を実施しました。

今回の改善では、従来の投稿メタ(post_meta)中心の管理から、専用DBテーブルを利用した構成へ移行し、管理画面の高速化や拡張性向上を目的とした改良を行っています。

改善前の課題

従来のMybest Content Managerでは、キーワード構築状況やリライト状況などの管理データをWordPress標準の投稿メタ(post_meta)へ保存していました。

WordPress標準機能を利用することで互換性や安全性は高い反面、記事数や保存データが増加した場合には管理画面の負荷が大きくなる可能性があります。

  • 一覧表示時のデータ取得負荷
  • 記事数増加による管理画面表示速度の低下
  • 検索や絞り込み時の処理負荷
  • 将来的な機能追加時の拡張性

実際に今後の記事数増加を想定し、より安定して運用できる構成への改善を行うことにしました。

今回実施した改善内容

今回の改善では、管理データを専用DBテーブルへ保存する構成へ変更しました。

  • 専用DBテーブルの追加
  • 既存データの移行処理
  • 管理画面のページング対応
  • 表示件数切り替え対応(30件・50件・100件)
  • 既存データとの互換性維持
  • 検索・絞り込み処理の最適化

これにより、記事数が増加した場合でも管理画面が重くなりにくい構成へ改善しています。

なぜ専用DBテーブルへ移行したのか

今回の改善で最も大きな変更となったのが、投稿メタ中心の管理から専用DBテーブルによる管理への移行です。

WordPress標準の投稿メタは非常に便利ですが、記事数や管理データが増えてくると取得処理や検索処理の負荷が増える場合があります。

Mybest Content Managerは記事管理を効率化するためのプラグインであり、将来的に記事数が増加しても快適に利用できることが重要になります。そのため、キーワード管理やリライト管理などの専用データを独立したDBテーブルで管理する構成へ変更しました。

今回の構成変更により、データ取得処理の最適化だけでなく、今後の機能追加やデータ項目追加にも対応しやすい設計になっています。

Lite版で実施した改善

Mybest Content Manager Liteでは、キーワード構築状況やリライト状況などの管理データを専用DBテーブルで管理する方式へ変更しました。

実際の管理画面では、ページング機能や検索機能を搭載し、大量の記事を効率的に管理できる構成となっています。

Mybest Content Manager Liteのスラッグ管理画面とページング機能
ページング対応後のスラッグ管理画面
  • キーワード構築状況の管理
  • リライト状況の管理
  • 更新日時の管理
  • スラッグ検索機能
  • 作業状態による絞り込み
  • 表示件数切り替え機能

また、ページング機能を導入し、一度に大量の記事を表示しない構成とすることで、管理画面の表示速度向上を図っています。

Pro版で実施した改善

Pro版では、キーワード管理、一言メモ、解析結果、調整履歴などの管理データを専用DBテーブルへ保存する構成へ変更しました。

  • キーワード管理
  • 一言メモ管理
  • 解析結果保存
  • 調整履歴保存
  • 更新日時管理

将来的な機能追加やデータ量増加にも対応しやすい構成となっています。

ページング機能を導入した理由

今回の改善では、データ保存方法の変更だけではなく、管理画面の表示方法についても見直しを行いました。

記事数が少ないうちは問題ありませんが、数百件以上の記事を一度に表示すると、ブラウザ側の描画負荷や管理画面の表示速度へ影響する可能性があります。

そこで一覧画面へページング機能を導入し、表示件数を30件・50件・100件から選択できるようにしました。

これにより、大量の記事を管理する場合でも必要な範囲のみを表示できるようになり、管理画面の操作性向上にもつながっています。

実際のデータ移行と動作検証

専用DBテーブルへの移行では、既存ユーザーのデータが失われないことも重要な確認項目となりました。

そのため、テスト環境にて既存データの移行処理を実施し、キーワード構築状況やリライト状況、メモ情報などが正常に引き継がれることを確認しました。

さらに、phpMyAdminを利用して専用DBテーブルへの保存状況を確認し、管理画面で変更した内容が正しく反映されることも検証しています。

実際にLite版・Pro版の両方で確認を行い、データ保存、更新、検索、ページングなどの各機能が正常に動作することを確認しました。

また、スラッグ検索や作業状態による絞り込み機能と組み合わせることで、目的の記事を素早く見つけられる構成になっています。

実際にphpMyAdmin上でも専用DBテーブルへの保存状況を確認し、管理画面で変更した内容が正しく反映されることを検証しました。

Mybest Content Manager Liteのスラッグ管理画面
専用DBテーブルへの保存状況確認

テスト環境での確認内容

今回の改善では、実際のテスト環境にて以下の確認を行いました。

  • 管理画面表示確認
  • データ保存確認
  • データ更新確認
  • 更新通知機能確認
  • ライセンス認証確認
  • ページング動作確認
  • 専用DBテーブル保存確認

さらに、phpMyAdminにて専用DBテーブルへの保存・更新が正常に行われていることも確認しています。

まとめ

今回の改善では、投稿メタ中心だった管理構造を専用DBテーブルへ移行し、ページング機能や検索最適化を導入しました。

これにより、記事数や管理データが増加した場合でも安定した動作を維持しやすくなり、将来的な機能追加や拡張にも対応しやすい構成となっています。

TK marketsでは今後も実運用を通じて得られた知見をもとに、WordPressプラグインの性能向上や管理機能の改善を継続していく予定です。

WordPressプラグインの記事管理を高速化するための専用DBテーブル導入とページング対応のイメージ

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!