Видалення непотрібних значень з бази даних WordPress, Нотатки вебмайстра
Нотатки вебмайстра
просування блогу та заробіток в інтернеті
Видалення старих значень із бази даних WordPress

Якщо ви хочете побудувати великий інтернет-проект в мережі за допомогою системи WordPress, то ви так чи інакше зіштовхнетеся з проблемами, які негативно впливатимуть на продуктивність вашого веб-ресурсу.
У цьому випадку потрібно попрацювати над завданнями, які допоможуть знизити навантаження на сервер та базу даних. У цій статті я покажу один чудовий спосіб, про який мало хто знає, а він, між іншим, допомагає чудово оптимізувати базу даних на вашому блозі.
Як з'являються непотрібні значення у базі даних
Вся справа якраз полягає в тому, що кожного разу, коли ви встановлюєте та активуєте новий плагін або шаблон, у таблиці wp_postmeta бази даних вашого блогу відбувається запис нових значень.
Після того, як ви видаляєте непотрібні плагіни або шаблони, більшість подібних значень не видаляються, а накопичуються у вашій базі. Я й сам спочатку не повірив у це.
Мені здавалося, що плагін WP-Optimize, яким я користуюся регулярно, очищує мою базу даних від непотрібного мотлоху. Виявилося, я був не правий! Сувору реальність я побачив на власні очі і жахнувся!
Що важливо, такого непотрібного сміття на вашому блозі з роками стає дедалі більше.
Початківці вебмайстра часом встановлюють на свій блог десятки різних плагінів. Спочатку використовують один, потім змінюють його на інший, і навіть не замислюються про те, що більшість із них можна замінити за допомогою простого коду.
Цю статтю я пишу для початківців блогерів, щоб вони знали, як видалити непотрібні старі значення збази даних.
Однак перед тим як приступити до мегаочищення своєї бази, я вам раджу обов'язково створити резервну копію своєї бази даних. У цьому вам допоможе функція експортування до phpMyAdmin.
Видалення старих значень із БД
Отже, після створення резервної копії можна розпочинати. Зайдіть у phpMyAdmin та виберіть свою базу даних. Після цього знайдіть таблицю wp_postmeta, яка розташована в панелі праворуч і клацніть на посилання «Структура» навпроти назви цієї таблиці:

Вашому погляду відкриється кілька варіантів, зокрема meta_id, post_id, meta_key та інші. Для нас зараз важливим є meta_key. Знайдіть там сточку з цим ім'ям, а потім натисніть праворуч в кінці рядка на трикутник «Ще» і в меню виберіть вкладку «Унікальні значення»:

Тут потрібно бути дуже уважним, тому що тільки ви і ніхто інший не здатний розпізнати справді зайві непотрібні рядки.
Деяка частина цих рядків включає стандартні налаштування системи WordPress. Інша частина створена встановленими вами плагінами та шаблонами.
Нижче я описав самі рядки та їх значення, які прописані у базі даних:
- _aioseop_description - для плагіна All In One SEO Pack
- _syntaxhighlighter_encoded — значення для плагіна збільшення зображень
- _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
Я не став описувати останні три рядки. Подивіться на них уважніше:

Так і є. Колись раніше я використав данийплагін, проте потім я його видалив і прописав простий код.
І уявіть собі, весь цей час рядки цього плагіна знаходилися в базі даних мого блогу мертвим вантажем!
Я наведу вам приклад із значенням:
Для того, щоб швидко знайти це значення, я рекомендую скористатися пошуком.
На поточній сторінці панелі керування phpMyAdmin вам потрібно натиснути на вкладку Пошук, а потім навпроти ім'я meta_key в полі з назвою «Значення» пропишіть значення, яке ви знайшли раніше.
Далі натисніть кнопку OK:

В результаті знайдуться рядки, що містять дані старі значення цих довільних полів. Тепер їх можна видалити, не турбуючись про наслідки. Поставте галочку біля «Відзначити все» та натисніть на посилання «Видалити».
У моїй базі даних я знайшов аж 19 подібних рядків. І це лише в одному значенні.

Підтвердьте необхідність видалення значень за допомогою натискання кнопки «Так»:

Ось так ви зможете очистити свою базу даних від усіх значень, що не використовуються, і тим самим збільшити продуктивність бази. У результаті у вас вийде чистий та акуратний блог без зайвого сміття!
Хочу відзначити, що на сьогоднішній день я поки не знайшов плагін, який видаляв би невикористовувані значення в базі даних блогу на всі 100 відсотків. Вони є, але не справляються із цим завданням повністю.
Раджу всім, хто зараз читає цю статтю, не відкладаючи на потім здійснити перевірку бази даних свого блогу, знайти та видалити старі нікчемні значення, на яких уже виріс метровий шар пилу.
До нових зустрічей, друзі. Бувай.
Успіхів Вам та Удачі З Повагою,
Інші цікаві статті:
Коментарів до статті: 34
Я користуюся плагіном WP Clean Up, але треба будеперевірити, чи немає і у мене сміття в базі даних та почистити
Привіт Євгене! Рад почутиму про результати перевірки.
Ви по meta_key шукаєте сміття, а при видаленні видаляться їх сміттєві meta_id, post_id, meta_key, meta_value. Так?
Привіт Сергій! У мене в таблиці meta_key є незрозумілі цифри, ну крім як значення якихось плагінів, наприклад - wp_noextrenallinks_mask_links (тут зрозуміло що це відноситься до плагіна wp_noextrenallinks! А ось що означають ці цифри? Ось наприклад ці - _1078, _10 і т. п. Є ідеї?
Привіт Ігор! Щоб не ламати голову над цим, я пропоную тобі просте рішення. Зробити резервну копію БД, а потім спробувати видалити ці значення. Тільки робити це необхідно по черзі, перевіряючи щоразу працездатність свого блогу після видалення кожного невідомого тобі значення з meta key. Якщо щось піде не так, ти завжди можеш все відновити за допомогою резерву.
Добре спробую! А все-таки, ти не знаєш, що це таке? Адже ж цікаво!
Ну взагалі це унікальні ключі до метаданих, прописаних до певного рядка коду. А ось до яких рядків коду належать ці ключі я тобі не можу відповісти
Чому досі ніхто не написав довідник з б/д до вордпресу. Я б не подумав, що в wp_postmeta в meta_key знаходяться старі значення.
Чорноморець, meta_key не таблиця. Таблиця - wp_postmeta.
Ох, як усе складно. А плагін, що не чистить базу? Чи він просто її оптимізує? Ні ну його, краще я поки що плагіном. А то якщо увійду в смак, то можу видаляти багато потрібного, потім відновлювати. Не зайвого голівника не хочу. Вистачить поки що експериментів. Я нещодавно чистив свої файли на хостингу. Правда треба визнати, що все вийшло, алестраху натерпівся. Жах.
На жаль, плагін Wp-Optimize не повністю видаляє всі старі значення, які зберігаються в базі даних. У принципі, в очищенні бази немає нічого складного. Просто потрібно робити все по кроках, як написано в моїй статті.
Звідки розробники Wp-Optimize можуть знати про тисячі плагінів до двигуна. Плагіни можуть з новою версією змінити параметри. Назва плагіна може бути змінена.
Дублі сторінок якою командою можна видалити? Чи немає такої команди?
Не зовсім зрозумів питання, Олександре. У статті йдеться про старі значення в базі даних блогу
Я знаю. Мене цікавить видалення з бази даних дублів сторінок, які з'являються після надсилання кожного коментаря. Точніше місце їх розташування б/д.
Не впевнений. Але тоді, де дублі зберігаються? Де на сайті знайти ці сторінки, щоб видалити їх вручну.
Може Ви маєте на увазі дублі сторінок, які знаходяться у пошуковій видачі?
Так, дублі сторінок у пошуковій видачі. Вони видаляються з б/д чи їх там немає?
У базі даних дублі можуть бути лише якщо ви напишете дві однакові статті
Мені не зрозуміти, у видачі є дублі, а б/д немає. Як це можливо. Мінус пошукача.
Ви вибірку в meta_key алфавіту робили? У вас на скрині є 503 рядок. Важко знайти із півтисячі рядків сміття.
Ні, не за алфавітом, а за пошуком
Ви б привели всі рядки які включають стандартні налаштування WordPress. Я як новачок звідки зрозумію стандартне і потрібне значення чи сміття?
Запитайте у мене і я постараюся вам відповісти
У Вас є три рядки сміття в wp_postmeta. Це ви вважаєте багато? Наскільки сильно рядки гальмували завантаження сайту не рахували?
Три рядки, Олександре, але в кожному кілька десятків значень. у статтінаведено приклад 19-ти сміттєвих значень. Ні, за швидкістю завантаження сторінок не тестував
У такому разі потрібно бачити базу даних. Адже вона відрізняється від моєї…
У мене в more ("ще") 4 пункти і всі починаються з add.
Ну add це додавання…
А що робити, якщо в коді не розібратися самому. Який плагін буде найкращим варіантом для чищення бази?