Изчистване на CommentMeta от базата данни на WordPress

10 ное. 2013 | Оптимизация
wp_commentmeta-deleted

Ако имате WordPress блог или сайт, сигурно сте забелязали, че базата ви данни нараства. Една от таблиците, чийто обем се увеличава доста е wp_commentmeta.

Ако разгледате таблицата, ще видите, че тя съдържа предимно akismet_result, akismet_history и akismet_as_submitted мета данни. Те са акумулирани от плъгина Akismet, във връзка със спам коментарите. Дори при изтриване на спама от админ панела на сайта ви, тези редове си остават в таблицата wp_commentmeta. Затова е хубаво периодично да изтривате излишните редове от тази таблица.

Как става това?
Влезте в phpMyAdmin. Най-напред непременно си направете backup на базата данни. След това, от табовете отгоре изберете SQL и поставете в полето кода отдолу.

1. Изтриване на редовете в wp_commentmeta, които нямат връзка с wp_comments:

DELETE FROM wp_commentmeta WHERE comment_id
NOT IN (
SELECT comment_id
FROM wp_comments
)

Ако по време на WordPress инсталацията сте задали друг префикс за таблиците в базата данни, например user, заместете го с вашия в горния код – user_commentmeta вместо wp_commentmeta. Същото важи и за кода отдолу.

2. Изчистване на метаданните, свързани с Akismet:

DELETE FROM wp_commentmeta WHERE meta_key
LIKE "%akismet%"