UPD
1 091 11

Ускорить WordPress, что делать если сайт стал медленно работать и долго грузиться

Очищаем базу данных блога на WordPress для ускорения загрузки сайта. Гугл дал рекомендацию стремиться к производительность сайтов и блогов для лучшего ранжирования.

Очистка базы данных WordPress

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

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

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

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

Очистка базы данных WordPress

Решение. В панели 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

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

11
Обсуждение

500
11 Комментариев
0 Ответов
0 Подписчиков
 
Посмотреть лучший комментарий
Посмотреть самый обсуждаемый комментарий
8 Комментаторов
  Подписаться  
новые старые популярные
Уведомлять
TiamatInc

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

TiamatInc

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

Vladimir

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

TiamatInc

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

Poltavtcev

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

Очевидно что да. При нажатии на «море» — перекидывает сюда…

Администрация сайта

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

Seo

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

Администрация сайта

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

onjee

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

aaa

Удалить с помощью прямого запроса через phpmysql например.

DROP TABLE wp_posts убирает все посты.

Кури sql запросы к базе.

Роман

Подскажите, как удалить все 200 тысяч записей сразу?
По-умолчанию, в панеле управления можно удалить за раз только 20 записей. Есть ли какой-нибудь плагин, который полностью удаляет все записи в блоге?