wp_postsテーブルの残骸ゴミ整理



データベースをいじる前は必ず バックアップを取ります。

phpMyAdminの開き方と構造の基礎
phpMyAdminインポートエラー

記載の行数は当サイトのただの記録になります(これだけ減らした!という自己満)

リビジョン削除

リビジョンは貯めないようにしていたはずなのですが482行もありました。

DELETE FROM wp_posts WHERE post_type = 'revision';

ただし、inheritは消さない方が良いかと。試してみたらアイキャッチやメディア一覧に画像が表示されなくなったのでバックアップしてあった wp_posts をインポートしました(バックアップ大切!)

DELETE FROM wp_posts WHERE post_status = 'inherit';

自動下書き削除

DELETE FROM wp_posts WHERE post_status = 'auto-draft';
DELETE FROM wp_posts WHERE post_status = 'trash';

oEmbed 削除

post_contentsには{{unknown}}
post_name(画像の名前)にはランダムな数値が並んでいました。

また、guid(画像URL)にもランダムな数値。post_typeには「oembed_cache」

記事内に YouTube などを埋め込むと自動的に生成されるらしいのですが、
2018年~2020年までのデータしかないんですよね(現在2022年)
中身を見てもほぼ空。
guidを開いても404エラー(例:https://zbnrk.com/d0130c70cd04234e084e1d8da7d26d02/

小一時間、考えてみたのですが結局分からないので、バックアップを取ってから300件ほど削除。
バックアップさえあればオカシクなってもすぐ回復できるし。

ある程度、中身を確認したら、このコードで一気に削除しても良いですね。

DELETE FROM wp_posts WHERE post_type="oembed_cache"

結果、何の影響もありませんでした。
なんなんだろう。

その他

プラグイン Contact Form 7 の残骸「wpcf7_contact_form」や、
データーを移行した時の名残や、なぜか simplicity2-child の CSS もあったので削除。

最後にデータベースを最適化

OPTIMIZE TABLE `wp_commentmeta`, `wp_comments`, `wp_links`, `wp_options`, `wp_postmeta`, `wp_posts`, `wp_terms`, `wp_term_relationships`, `wp_term_taxonomy`, `wp_usermeta`, `wp_users`;

最終的に、wp_postmetaの容量は21.6MiB→12.5MiB。行数は55,695→39,509に減らしたら、
結果、CLSに関する問題を解決することができました。

ページエクスペリエンスCLSに関する問題を解決してサイト高速化