База данных WordPress Wordpress безусловно отличная CMS. Но и у нее есть свои минусы. Прежде всего это связано с использованием базы данных.

Сегодня я расскажу, как можно не прибегая к помощи плагинов, самому оптимизировать базу данных WP всего за пару кликов. Прежде всего зайдите в свою панель PhpMyAdmin.

Удаляем резервные копии постов

Проблема. WordPress так устроен, что при написании новых постов (или редактировании старых) он периодически создает их резервные копии. Что самое интересное, после опубликования конечной версии статьи, WP не удаляет эти резервные копии (post revisions). Получается, что при длительной работе с одним постом в базе данных может остаться от пары копий этого поста до бесконечности.

Решение. В панели PhpMyAdmin своей базы данных переходим на страницу SQL. Вставляем в окно строку и выполняем ее нажав кнопку OK:

DELETE FROM wp_posts WHERE post_type = "revision";

Разъяснение кода. Таблица wp_posts имеет поле post_type. Оно может иметь одно из следующих значений: “post”, “page” или “revision”. Т.к. мы хотим избавиться от всех резервных постов, то наше значение - “revision”. Просто запускаем команду, чтобы удалить все элементы в таблице wp_posts, в которой поле post_type равно “revision”.

Удаляем СПАМные комментарии

Проблема. Все комментарии, которые хотя бы однажды попадали на блог навсегда остаются в базе данных. Это касается одобренных, удаленных и спамных комментариев.

Решение. В панели PhpMyAdmin своей базы данных переходим на страницу SQL. Вставляем в окно строку и выполняем ее нажав кнопку OK:

DELETE FROM wp_comments WHERE comment_approved = 'spam';

На многих блогах имеется большое количество вообще не рассмотренных комментариев. Чтобы удалить их все, выполните следующую команду:

DELETE FROM wp_comments WHERE comment_approved = '0';

Разъяснение кода. Таблица wp_comments содержит поле с именем comment_approved. Именно здесь делается отметка для каждого комментария: одобрен - 1, удален или еще не одобрен - 0, спам - spam. Запустив поочередно эти команды, мы удаляем все комментарии, которые отвечают нашим критериям.

Строки базы данных WordPress по-умолчанию. Многие плагины создают свои строки (таблицы) в БД WP и не удаляют их после своей деактивации. Проблема решается простым удалением таких строк вручную. А чтобы было легче найти лишние строки, вот вам список строк, которые должны быть в базе данных по-умолчанию:

wp_comments
wp_links
wp_options
wp_postmeta
wp_posts
wp_terms
wp_term_relationships
wp_term_taxonomy
wp_usermeta
wp_users

Внимание: прежде чем удалять лишние строки убедитесь, что плагин действительно уже не используется.

RSS-Feed RSS-2-mail Twitter G-bookmarks BobrDobr Memori MoeMesto

Опубликовано: Воскресенье, 25 апреля 2010 в 19:09
Рубрика: Оптимизация WordPress
Комментариев: 9
Читать на:

Комментариев: 9

  1. TiamatInc (подписан на комментарии)

    Разве WP удаленные комментарии не убирает из БД? Много раз замечал, по размеру копии БД, что после чистки комментариев от спама её размер уменьшается.


  2. Seo

    TiamatInc Согласен с тобой!


  3. TiamatInc (подписан на комментарии)

    Интересен ответ автора поста.


  4. Ай Пи Мани

    Когда я чистил БД, то там были СПАМные комментарии, которые я не удалил, а просто отметил как “СПАМ”. Возможно, это еще зависит от наличия Акисмета (у меня он не установлен).


  5. TiamatInc (подписан на комментарии)

    Все правильно. Пока они просто помечены, то остаются в базе. А я их постоянно удаляю во время просмотра, вот и вычищаются.


  6. onjee

    http://www.ps-group.ru/ochistka-bazy-dannyx-wordpress/
    Эм… Поразительное сходство… Это тоже твой сайт или нет?


  7. Poltavtcev

    onjee
    01 2010 в 19:05
    http://www.ps-group.ru/ochistka-bazy-dannyx-wordpress/
    Эм… Поразительное сходство… Это тоже твой сайт или нет?

    Очевидно что да. При нажатии на “море” - перекидывает сюда…


  8. Ай Пи Мани

    Это один из сплогов, который ворует мой контент.


  9. Vladimir

    Ну почему сразу ворует, ведь на сплоге статья размещена не полностью, а только ее начало и дальше стоит ссылка на продолжение - на твой блог!
    Все по правилах копирования статей (кроме, конечно, согласия автора - его никто не спрашивал)!
    И неужели ПС такие тупые, что не могут различить сайт-источник и сплог?!
    Кроме того из этих сплогов к тебе приходят новые посетители, а также они увеличивают ссылочную массу твоего блога.
    Я в чем то не прав? Что не так?


Есть что сказать? Не молчи!

Пожалуйста, пишите по теме.
Комментарии о том, какой хороший сайт или его автор расцениваются как СПАМ и беспощадно удаляются.
Спасибо за понимание.

Для вставки php-кода используйте тег:
<pre lang="php">php-код</pre>


 Я не СПАМер!