Як я почистив і оптимізував базу даних wordpress в 7 разів
Чим довше існує сайт або блог на WordPress, тим більше в його базі даних накопичується сміття і тим важливіше провести її чистку та оптимізацію, тим більше, що робиться це в два кліка.
Буквально кілька днів тому я почистив свій блог і сайти клієнтів по SEO спеціальним плагіном Clearfy. а сьогодні вже добрався і до бази даних.
Насправді, мені сподобалося чистити свій блог
Тим більше, що під WordPress існує просто неймовірна кількість всяких плагінів і розширень (читайте 5 причин використовувати WordPress для візиток і блогів).
База даних - це спеціальна область на сервері, де зберігаються всі матеріали сайту, налаштування, теги та інша інформація, до якої звертається програмний скрипт для її відображення на сайті.
Зрозуміло, що чим менше розмір бази, тим швидше відбувається вибірка, менше навантаження і в цілому все спритніше працює.
Але чому вона взагалі засмічується?
Тут багато моментів, але один з основних критеріїв, як я зрозумів на власному досвіді, через те, що WordPress зберігає:
Тобто всілякі матеріали, навіть ті, які вже нікому не потрібні і ніколи більше не знадобляться.
Тобто движок перестраховується і про всяк випадок прагне зберегти будь-яку інформацію користувача доступними йому засобами - поки вистачає ресурсів.
Це призводить до неефективного використання цих самих ресурсів, зниження продуктивності і підвищення навантаження на хостинг.
Тому періодично базу даних рекомендується чистити.
До речі, чи потрібно її чистити всім підряд? Не впевнений.
Якщо сайту пару місяців, на ньому десяток статей, то там особливо і оптимізувати нічого.
Інша справа - старий сайт або живе активним життям блог.
7 причин оптимізувати базу даних в WordPress
Я наведу кілька критеріїв, кожен з яких сам по собі є вагомим приводом, щоб задуматися про очищення бази даних:
- Якщо хостер повідомляє про підвищену навантаження.
- З'являються помилки через брак пам'яті.
- Адаменко або сам сайт починають тупити і довго робити звичайні операції.
- Якщо сайту вже кілька років.
- Якщо ви помітили, що розмір бази даних невиправдано розрісся, у мене у свій час база важила 250Мб (!), Потім дефрагментірован до 112 Мб, а зараз після чистки - 21 Мб
- Якщо на сайті під WordPress або блозі багато статей, наприклад, 100, 200, 300 і більше.
- Якщо ви часто редагуєте статті перед публікацією або після розміщення на сайті (наприклад, я можу одну статтю на блозі редагувати 50 разів і більше!).
В цьому випадку перш ніж лізти в якісь скрипти, почистіть базу даних - можливо там уже накопичилося багато сміття.
Чи реально оптимізувати базу в WordPress в два кліка
Я ненавиджу статті типу «20 плагінів для WordPress з чищення бази даних». Їх практична користь дорівнює нулю.
Тому що як не крути, а прочитавши таку статтю, все одно в кінцевому підсумку доведеться витрачати час, ставити всі ці плагіни, порівнювати їх між собою, розбиратися з настройками, видаляти невідповідні варіанти і т.п. Тобто витрачати свій час.
Але щоб це зробити, потрібно адже спочатку поставити ці 20 плагінів, визначити, що 10 з них - повне херня, 5 - куди не йшло, але незручні у використанні, ще 3 - тупо не заробили, і врешті-решт 2 - те, що потрібно, з них 1 - взагалі вогонь.
Мене такі статті дратують, тому я публікую тільки матеріали за принципом - витратив свій час, знайшов з купи р нормальний варіант, запропонував людям.
Так і тут, коли я зіткнувся з необхідністю почистити базу даних від нагромадилося сміття, то знайшов кілька плагінів, тихо потестил їх, виявив самий розумний і пропоную його вам.
З цим плагіном реально почистити базу даних від сміття за пару хвилин.
Чому особисто мені знадобилася чистка бази даних
Коли я робив свій готовий продає сайт. то зіткнувся з дивовижним явищем - напівпорожній проект з мінімум плагінів переобтяжував пам'ять на звичайному віртуальному хостингу.
На моєму окремому віртуальному сервері (я ж переїхав!) - все супер, а на shared-хостингу у провайдера - вискакувала помилка:
Fatal error allowed memory size of 268435456 bytes exhausted (tried to allocate bytes)
Вона говорила про те, що пам'яті в 256Мб, виділеної хостером для мого сайту було недостатньо.
Якщо відключити кілька плагінів - помилка зникала, при включенні - з'являлася, очевидно, що пам'яті реально було впритул.
Але відключати плагіни - це не вихід, тому що їх функціонал завжди важливий.
Кому потрібен голий WordPress?
Вирішував проблему майже цілий день і в кінці кінців знайшов рішення. Проблема була в тому, що поки сайт робився, головна сторінка постійно редагувалася, то мною, то програмістом. І накопичилася велика кількість ревізій цієї сторінки.
Ревізія в WordPress - це копія сторінки, яка робиться самим двигуном в момент її поновлення. Типу бекапу, який зберігається в базі даних, і до якого можна в будь-який момент повернутися.
У мене було 209 ревізій головної сторінки.
Тому в базі даних WordPress зберігалося багато сміттєвої інформації і вона зжерла весь обсяг вільної оперативної пам'яті на хостингу.
Як тільки я почистив ревізії з бази даних, на цьому сайті все стало відмінно. Після того, як я почистив вже всю базу (вона зменшилася в 7 разів - з 10 Мб до 1.5 Мб, було вичищено 99 000 сміттєвих записів в таблицях - в основному метатеги в ревізіях).
І вже потім я звернув свій погляд на інші сайти і перш за все на свій блог.
Причому в інтернеті я спочатку знайшов рішення, як зробити це правильно вручну прямо в базі даних Mysql, а потім вже знайшов плагін, який це теж вміє робити.
Очищаємо базу даних WordPress вручну
Наведу кілька команд, які я знайшов в мережі і які дійсно працюють.
Запускати їх потрібно з системи управління базою даних PhpMyAdmin, який є на 99,9% всіх хостингів, прямо ось тут:
Виконати потрібно ось ці команди:
Причому виконати послідовно!
Якщо виконати останню команду і видалити ревізії статей, то ревізії метатегов вже не втечуть.
Ну і звичайно, ви повинні переконатися, що префікс таблиць в базі даних відповідає вашим. Тобто за замовчуванням префікс wp_, але він може і відрізнятися, наприклад, якщо ви як і я, користуєтеся для безпеки плагіном All In One WP Secure.
Очищаємо базу даних WordPress плагіном
З усього розмаїття плагінів мені відразу сподобався Optimize Database after Deleting Revisions. Відмінний плагін, російською мовою, плюс має вбудовану можливість відключення ревізій.
До речі у нього в настройках також є можливість взагалі відключити або обмежити ревізії, щоб вони ніколи більше не формувалися автоматично і не займали пам'ять.
Я рекомендую обов'язково обмежувати кількість редакцій (ревізій), щоб вони не плодилися самі по собі.
Втім, після того, як я поставив собі професійний Clearfy для чищення всього сайту WordPress (в ньому є функція роботи з ревізіями), я фактично на 100% позбувся сміття на всіх своїх сайтах.
Інтерфейс Optimize Database after Deleting Revisions простий, все на одній сторінці.
Налаштування можете ось такі як я зробити або вибрати свої:
Зберігаєте, клікаєте «Почати оптимізацію» і коли все буде готово (процес зазвичай займає від 10 до 60 секунд), ви побачите докладний звіт.
У мене спочатку база даних в блозі займала 112Мб:
Після того, як я на ній почав експериментувати і всіляко очищати від мотлоху (вручну і за допомогою різних плагінів) то вийшло її стиснути до 24Мб.
А Optimize Database after Deleting Revisions її очистив ще більше - до 21 Мб:
А ось подивіться на сайті клієнта, взагалі не оптимизированном до цього - яка економія:
І ще один клієнт без оптимізації:
Так що я зупинився в підсумку на Optimize Database after Deleting Revisions. чого і вам раджу.
Висновки та підсумки
Не треба боятися робити оптимізацію бази даних на WordPress - я спочатку побоювався, що що-небудь може піти не так або доведеться занурюватися в технічні нетрі.
Але на все про все я витратив хвилин п'ять, це настільки нескладно, може зробити кожен, а в багатьох випадках дає вельми відчутні переваги.
Плагіном чистити базу найпростіше, працює він стабільно, відгуки по ньому в репозиторії позитивні.
Але, звичайно, перед будь-якими такими маніпуляціями я рекомендую зробити бекап (резервне копіювання) всієї бази даних Вордпресс.
Після оптимізації навантаження на хостинг знизилася, всі помилки по нестачі пам'яті забралися, і в цілому сайт після цього суб'єктивно став працювати набагато спритніше.
Рекомендую прочитати:
Фотошоп скачати безкоштовно на російській Як встановити лічильник Яндекс Метрика на сайт? Плагін WordPress Post Tabs - красиві вкладки (таби). Безпека WordPress в 2 кліка за допомогою All In One WP Security