Удаление ненужных значений из базы данных WordPress | Заметки вебмастера






Удаление старых значений из базы данных WordPress

удаление старых значений в БДВсем привет!

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

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

Как появляются ненужные значения в базе данных

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

После того как вы удаляете ненужные плагины или шаблоны, большинство подобных значений не удаляются, а накапливаются в вашей базе. Я и сам сначала не поверил в это.

Мне казалось, что плагин WP-Optimize, которым я пользуюсь регулярно, очищает мою базу данных от ненужного хлама. Оказалось, я был не прав! Суровую реальность я увидел своими глазами и ужаснулся!

Что немаловажно, такого ненужного мусора на вашем блоге с годами становится все больше и больше.

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

Эту статью я пишу для начинающих блогеров, чтобы они знали, как удалить ненужные старые значения из базы данных.

Однако перед тем как приступить к мегаочистке своей базы, я вам советую обязательно создать резервную копию своей базы данных. В этом вам поможет функция экспортирования в phpMyAdmin.

Удаление старых значений из БД

Итак, после создания резервной копии можно начинать. Зайдите в phpMyAdmin и выберите свою базу данных. После этого отыщите таблицу wp_postmeta, которая расположена в панели справа и кликните по ссылке «Структура» напротив названия этой таблицы:

структура таблицы wp-postmeta

Вашему взору откроется несколько вариантов, а именно meta_id, post_id, meta_key и другие. Для нас сейчас важен meta_key. Отыщите там сточку с этим именем, а затем нажмите справа в конце строчки на треугольник «Ещё» и в выпадающем меню выберите вкладку «Уникальные значения»:

уникальные значения в таблице

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

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

Некоторая часть этих строк включает в себя стандартные настройки системы WordPress. Другая часть создана установленными вами плагинами и шаблонами.

Ниже я описал сами строки и их значения, которые прописаны в базе данных:

  • _wp_attached_file — стандартное значение для прикрепленного изображения
  • _wp_rp_related_posts_query_result_cache_3
  • _wp_rp_related_posts_query_result_cache_5
  • _wp_rp_related_posts_query_result_cache_expiration

Я не стал описывать последние три строчки. Посмотрите на них внимательнее:

старые значения related posts

Все как раз заключается в том, что данные строчки выводят специальные произвольные поля, которые необходимы для функционирования плагина Related Posts. Именно он выводит похожие записи после каждой статьи блога.

Так и есть. Когда то раньше я использовал данный плагин, однако потом я его удалил и прописал простой код.

И представьте себе, все это время строки этого плагина находились в базе данных моего блога мертвым грузом!

Я приведу вам пример со значением:

_wp_rp_related_posts_query_result_cache_3

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

На текущей странице в панели управления phpMyAdmin вам нужно нажать на вкладку Поиск, а потом напротив имя meta_key в поле с названием «Значение» пропишите значение, которое вы нашли ранее.

Далее нажмите кнопку OK:

удаление значений в related posts

В результате найдутся строчки, содержащие данные старые значения этих произвольных полей. Теперь можно их удалить, не беспокоясь о последствиях. Поставьте галочку возле «Отметить всё» и нажмите на ссылку «Удалить».

В моей базе данных я нашел аж 19 подобных строк. И это только в одном значении!!!:

выделение значений

Подтвердите необходимость удаления значений с помощью нажатия кнопки «Да»:

подтверждение удаления значений

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

Хочу отметить, что на сегодняшний день я пока не нашел плагин, который бы удалял неиспользуемые значения в базе данных блога на все 100 процентов. Они есть, но не справляются с этой задачей полностью.

Поэтому способ, описанный в этой статье, я считаю единственным спасением. Однако я также очень часто использую плагин WP-Optimize. Он хорошо чистит базу данных, но, к сожалению, не полностью, а только поверхностно. Например, свои значения плагина Related Posts, которые я привел в качестве примера в этой статье, он не находил!

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

И на прощание, хочу пожелать вам скорейшей очистки своей базы данных. Если у вас есть какой-либо другой способ для очистки баз данных, дайте мне знать. Буду очень рад о нём услышать в ваших комментариях.

До новых встреч, друзья. Пока.

Успехов Вам и Удачи
С Уважением,


Книга о заработке в интернете:
Книга о заработке в интернете

Комментариев к статье: 34

  1. Евгения Куварина:

    Я пользуюсь плагином WP Clean Up, но надо будет проверить, нет ли и у меня мусора в базе данных и почистить

    Ответить

    • Сергей:

      Привет, Евгения!
      Рад буду услышать о результатах проверки.

      Ответить

      • Alexandr:

        Вы по meta_key ищете мусор, а при удалении удалются их мусорные meta_id, post_id, meta_key, meta_value. Так?

        Ответить

        • Сергей Саранчин:

          Да, именно так

          Ответить

  2. Игорь Черноморец:

    Привет Сергей! У меня в таблице meta_key имеются непонятные цифры, ну кроме как значения каких-то плагинов, например — wp_noextrenallinks_mask_links (здесь понятно что это относится к плагину wp_noextrenallinks!
    А вот что значат эти цифры? Вот например эти — _1078, _1083, _1087 и т.п.
    Есть идеи?

    Ответить

    • Сергей:

      Привет, Игорь!
      Чтобы не ломать голову над этим я предлагаю тебе простое решение.
      Сделать резервную копию своей БД, а затем попробовать удалить эти значения.
      Только делать это необходимо поочерёдно, проверяя каждый раз работоспособность своего блога после удаления каждого неизвестного тебе значения из meta key.
      Если что-то пойдёт не так, ты всегда можешь всё восстановить с помощью резерва.

      Ответить

      • Игорь Черноморец:

        Хорошо, попробую! А всё-таки, ты не знаешь что это такое? Ведь интересно же! :)

        Ответить

        • Сергей:

          Ну вообще это уникальные ключи к метаданным, прописанным к определённой строке кода.
          А вот к каким строкам кода принадлежат эти ключи я тебе не могу ответить

          Ответить

          • Alexandr:

            Почему до сих пор никто не написал справочник по б/д к вордпресс. Я бы не подумал что в wp_postmeta в meta_key находятся старые значения.

            Ответить

    • Alexandr:

      Черноморец, meta_key не таблица. Таблица — wp_postmeta.

      Ответить

  3. Андрей Косолапов:

    Ох как все сложно. А плагин что не чистит базу? Или он просто ее оптимизирует? Нет ну его, лучше я пока плагином. А то если войду во вкус, то могу по удалять много нужного, потом восстанавливать. Не лишнего головняка не хочу. Хватит пока экспериментов. Я таким образом недавно чистил свои файлы на хостинге. Правда надо признать что все получилось, но страху натерпелся. Ужас.

    Ответить

    • Сергей Саранчин:

      К сожалению плагин Wp-Optimize не полностью удаляет все старые значения, которые хранятся в базе данных.
      В принципе в очистке базы нет ничего сложного. Просто нужно делать всё по шагам как написано в моей статье.

      Ответить

      • Alexandr:

        Откуда разрабы Wp-Optimize могут знать о тысячах плагинах к движку. Плагины могут с новой версией имя параметров изменить. Название плагина может изменится.

        Ответить

  4. Alexandr:

    Дубли страниц какой командой удалить можно? Или нет такой команды?

    Ответить

    • Сергей Саранчин:

      Не совсем понял вопрос, Александр.
      В статье речь идёт о старых значениях в базе данных блога :grin:

      Ответить

      • Alexandr:

        Я знаю. Меня интересует удаление из базы данных дублей страниц которые появляются после отправки каждого коментария. Точнее место их расположения в б/д.

        Ответить

        • Сергей Саранчин:

          А вы уверены, что они эти дубли страниц накапливаются в базе данных?
          И каким образом эти дубли комментариев генерируются? :grin:

          Ответить

          • Alexandr:

            Не уверен. Но тогда где дубли хранятся? Где на сайте найти эти страницы, чтобы вручную их удалить.

            Ответить

          • Сергей Саранчин:

            Может Вы имеете ввиду дубли страниц, которые находятся в поисковой выдаче?

            Ответить

          • Alexandr:

            Да, дубли страниц в поисковой выдаче. Они удаляются из б/д или их там нет?

            Ответить

          • Сергей Саранчин:

            В базе данных дубли могут быть только если вы напишете две одинаковые статьи :cry:

            Ответить

          • Alexandr:

            Мне не понять, в выдаче есть дубли, а в б/д нет. Как это возможно. Минус поисковикам.

            Ответить

      • Alexandr:

        Вы выборку в meta_key по алфавиту делали? У вас на скрине есть 503 строка. Трудно найти из полутысячи строк мусор.

        Ответить

        • Сергей Саранчин:

          Нет, не по алфавиту, а по поиску

          Ответить

  5. Alexandr:

    Вы бы привели все строки которые включают в себя стандартные настройки WordPress. Я как новичок откуда пойму стандарное и нужное значение или мусорное?

    Ответить

    • Сергей Саранчин:

      Спросите у меня и я постараюсь вам ответить

      Ответить

  6. Alexandr:

    У Вас три строки мусора в wp_postmeta. Это Вы считаете много? Насколько сильно строки тормозили загрузку сайта не считали?

    Ответить

    • Сергей Саранчин:

      Три строчки, Александр, но в каждом несколько десятков значений. В статье приведён пример 19-ти мусорных значений.
      Нет, по скорости загрузки страниц не тестировал

      Ответить

  7. Alexandr:

    Как в meta_key выбрать вкладку «Уникальные значения». У меня пхпмайадмин на английском. Ярлычка Уникальных значений нет.

    Ответить

    • Сергей Саранчин:

      В таком случае нужно видеть базу данных. Она ведь отличается от моей…

      Ответить

      • Alexandr:

        У меня в more («ещё») 4 пункта и все начинаются с add.

        Ответить

        • Сергей Саранчин:

          Ну add это добавление… :grin:

          Ответить

  8. Заработок в интернете:

    А как быть, если в коде не разобраться самому. Какой плагин будет лучшим вариантом для чистки базы?

    Ответить


НАПИШИТЕ СВОЙ ПЕРВЫЙ КОММЕНТАРИЙ НА ЭТОМ БЛОГЕ И ПОЛУЧИТЕ ПОДАРКИ!

Нажимая кнопку "ОТПРАВИТЬ" комментарий, Вы принимаете пользовательское соглашение и подтверждаете, что ознакомлены и согласны с политикой конфиденциальности этого сайта.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: