WordPressのサイトが重い、DBのpostmetaのデータが大きい、などのご相談をいただき調査をしていたところ、WordPressのpostmetaに大量のSpectraプラグインによるCSS/JSデータが生成されていたので覚書。
症状
post meta
※テストサイトを作成し、spectraプラグインを有効化したWordPressのpostmetaです。
一つのpost_idに下記が紐づいているらしい。
・_uag_page_assets
・_uag_css_file_name
・_uag_js_file_name
この投稿がめちゃめちゃある。
wp-content/uploads/uag-plugin
※テストサイトを作成し、spectraプラグインを有効化したWordPressのpostmetaです。
よく見ると、wp-content/uploads/uag-pluginディレクトリ内にも大量のCSSとJSファイルが生成されていました。とにかく1KBのファイルが何十何百と生成されている。すごいスピードで。
それらのCSS/JSファイルとWordPressのpostmetaのエントリが紐づいているっぽい?
CSS/JSファイルの生成回避のための設定
初期設定としてCustom CSSは使用しないように選択しておきます。
それからAsetts Generation内のFile Generationの箇所はオフにしておく。
(できればオフを初期設定にしておいてほしい…)
また、Asset Regenerationボタンをクリックして、再生成。これでCSS/JSデータの無限生成は回避されたかと思います。
postmetaデータの削除
ただ、postmeta内の大量のデータの削除はどうしたらよいのか…。
現在下記のフォーラムを見守っています。
Problem with WP Table “postmeta” and Spectra CSS/JS Files ?
https://wordpress.org/support/topic/problem-with-wp-table-postmeta-and-spectra-css-js-files/
追記
- Connect to your database using a tool like phpMyAdmin.
- Go to the wp_postmeta table.
- Filter the results by meta_key = ‘_uag_page_assets’.
- Select all the rows where the meta_value is empty.
- Click on the “Delete” button.
フォーラムで回答がありました。
wp_postmetaテーブル内でフィルターをかけて、空のものを削除していく
という作業になりそう。
問題は以前からあったようです。開発チームはまだ気づいていないようですが…。
https://wordpress.org/support/topic/after-a-few-days-of-use-db-size-grew-hundreds-of-megabytes/