Удаляем из БД WordPress неиспользуемые произвольные поля

Удаляем из БД WordPress неиспользуемые произвольные поля

21 июня 2015 121

Есть такой замечательный плагин, называется Easy Social Share Buttons (ESSB). Очень удобный, красивый, полезный и, я бы сказал, незаменимый для SMO плагин. Кроме гибкой настройки социальных счетчиков, плагин позволяет визуализировать и видеть полную картину социального цитирования сайта.

Reg.ru: Хостинг от 79 рублей
Reg.ru: Хостинг от 79 рублей

Для хранения данных плагин использует стандартные произвольные поля (Custom fields) WordPress. Все это прекрасно, но если по каким-то причинам вы захотите плагин удалить, будьте готовы к тому, что он после себя оставит массу неиспользуемых мета-данных. Это касается не только ESSB, но и большинства других плагинов, которые не имеют функции полной деинсталляции. С ручным удалением оставшихся от неиспользуемых плагинов таблиц в БД сложностей нет. А вот найти и удалить все неиспользуемые мета-данные удаленного плагина будет немного сложнее.

Конечно, жить это совершенно не мешает, особенно если на вашем сайте мало контента, он слабо посещается и, соответственно, цитируется. Если же дело обстоит иначе, тогда уже стоит задуматься. Объемы неиспользуемых данных в БД могут иметь критические значения. Размер БД может возрасти в десятки, а то и сотни раз. Естественно, это может сильно сказаться на времени генерации страниц, общей скорости работы сайта и, как следствие, на позициях сайта в поисковой выдаче и его посещаемости. Но даже если объемы минимальны, вас периодически может посещать мысль о том, что в БД вашего сайта лежит куча неведомого говна. В чем тоже мало приятного. А если вы активно пользуетесь произвольными полями WordPress, будьте готовы к тому, что это говно еще будет постоянно маячить у вас перед глазами. Например, в случае с ESSB, при добавлении мета-данных, постоянно отображается вот такой список полей:

  • esml_socialcount_facebook
  • esml_socialcount_facebook_comments
  • esml_socialcount_facebook_likes
  • esml_socialcount_facebook_shares
  • esml_socialcount_googleplus
  • esml_socialcount_LAST_UPDATED
  • esml_socialcount_linkedin
  • esml_socialcount_pinterest
  • esml_socialcount_TOTAL
  • esml_socialcount_twitter
  • esml_social_aggregate_score
  • esml_social_aggregate_score_decayed
  • esml_social_aggregate_score_decayed_last_updated
  • esml_social_aggregate_score_detail
  • essb_hidefb
  • essb_hidepinfollow
  • essb_hideplusone
  • essb_hidetwitter
  • essb_hidevk
  • essb_hideyoutube
  • essb_off
  • essb_pc_facebook
  • essb_pc_google
  • essb_pc_mail
  • essb_pc_pocket
  • essb_pc_print
  • essb_pc_vk
  • essb_pc_twitter

Приятного мало. Этот список по-дефолту в WordPress лимитирован, и однажды вы просто не найдете в нем нужных вам полей. Проблема решается очень просто. Откроем БД в phpMyAdmin и выполним несколько простых SQL-запросов.

Внимание! Перед выполнением SQL-запросов обязательно создайте резервную копию вашей БД.

Чтобы не поудалять лишнего, для начала воспользуемся просто поиском поля в БД. Meta_key — имя искомого произвольного поля. В нашем примере это условный esml_socialcount_facebook.

SELECT * FROM wp_postmeta WHERE meta_key = 'esml_socialcount_facebook'

Обязательно проверьте. Если это именно то, что вы планируете удалить, тогда переходим непосредственно к удалению. Для этого воспользуемся таким SQL-запросом.

DELETE FROM wp_postmeta WHERE meta_key = 'esml_socialcount_facebook'

Данные процедуры можно произвести для каждого поля, которые остались от удаленных плагинов.

Это еще одна из причин почему не стоит «тестировать» плагины на боевом сайте.
Успехов!

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее