Резервная копия базы WordPress, которая реально спасает, а не просто лежит на сервере
Если бэкап нельзя восстановить за 10 минут — это не страховка, а архив. Для WordPress критично проверять не только наличие файлов, но и целостность: дамп базы должен открываться, а таблицы — совпадать по структуре и кодировке.
Что должно быть в нормальном бэкапе:
• база данных целиком, без выборочных таблиц;
• файлы wp-content: темы, плагины, uploads;
• понятное имя архива и дата создания;
• отдельное хранение вне основного хостинга.
Частая ошибка — хранить только .sql и забывать про медиа. После восстановления сайт поднимается, но картинки, кастомная тема или кэш-папки пропадают. Ещё хуже — делать копию поверх живой базы без проверки: один битый экспорт, и восстановление уже не из чего.
Проверь процесс восстановления на тестовой копии: импортируй дамп, открой главную, проверь вход в админку, формы и несколько записей. Если есть мультиязычность, магазин или сложные поля, их тоже нужно прогонять отдельно.
Хороший бэкап — это тот, который уже однажды восстановили без сюрпризов.
Если бэкап нельзя восстановить за 10 минут — это не страховка, а архив. Для WordPress критично проверять не только наличие файлов, но и целостность: дамп базы должен открываться, а таблицы — совпадать по структуре и кодировке.
Что должно быть в нормальном бэкапе:
• база данных целиком, без выборочных таблиц;
• файлы wp-content: темы, плагины, uploads;
• понятное имя архива и дата создания;
• отдельное хранение вне основного хостинга.
Частая ошибка — хранить только .sql и забывать про медиа. После восстановления сайт поднимается, но картинки, кастомная тема или кэш-папки пропадают. Ещё хуже — делать копию поверх живой базы без проверки: один битый экспорт, и восстановление уже не из чего.
Проверь процесс восстановления на тестовой копии: импортируй дамп, открой главную, проверь вход в админку, формы и несколько записей. Если есть мультиязычность, магазин или сложные поля, их тоже нужно прогонять отдельно.
Хороший бэкап — это тот, который уже однажды восстановили без сюрпризов.
5 ошибок в SQL-запросах, из-за которых WordPress тормозит и ломает БД
Чаще всего проблема не в самой базе, а в запросе, который к ней обращается. В WordPress это особенно заметно на больших таблицах: один лишний JOIN, полный перебор строк или сортировка без индекса — и страница уже грузится дольше.
• Не используйте SELECT * без нужды: тянете лишние поля и увеличиваете нагрузку.
• Не фильтруйте по функциям от поля: так индекс часто не работает.
• Избегайте ORDER BY RAND() на больших выборках — это дорогая операция.
• Не делайте запросы внутри цикла, если можно собрать данные одним SQL.
• Проверяйте, есть ли индекс под WHERE и JOIN: без него MySQL ищет вслепую.
Для WordPress отдельно важны WP_Query и прямые запросы через $wpdb. Если нужен сложный фильтр — сначала посмотрите, можно ли решить задачу стандартным запросом, а не собирать кастомную логику. И всегда смотрите EXPLAIN: он быстро показывает, где запрос уходит в полный скан.
Если запрос медленный, начните не с оптимизации сервера, а с разбора текста SQL: в нём обычно уже спрятана причина.
Чаще всего проблема не в самой базе, а в запросе, который к ней обращается. В WordPress это особенно заметно на больших таблицах: один лишний JOIN, полный перебор строк или сортировка без индекса — и страница уже грузится дольше.
• Не используйте SELECT * без нужды: тянете лишние поля и увеличиваете нагрузку.
• Не фильтруйте по функциям от поля: так индекс часто не работает.
• Избегайте ORDER BY RAND() на больших выборках — это дорогая операция.
• Не делайте запросы внутри цикла, если можно собрать данные одним SQL.
• Проверяйте, есть ли индекс под WHERE и JOIN: без него MySQL ищет вслепую.
Для WordPress отдельно важны WP_Query и прямые запросы через $wpdb. Если нужен сложный фильтр — сначала посмотрите, можно ли решить задачу стандартным запросом, а не собирать кастомную логику. И всегда смотрите EXPLAIN: он быстро показывает, где запрос уходит в полный скан.
Если запрос медленный, начните не с оптимизации сервера, а с разбора текста SQL: в нём обычно уже спрятана причина.
Удаляйте мусор из WordPress-БД только по списку, а не «на глаз»
После долгой жизни сайта в базе скапливается лишнее: ревизии записей, автосохранения, спам-комментарии, временные записи, старые транзиенты и неиспользуемые мета-данные. Если чистить всё подряд, легко снести нужное: настройки плагинов, заказы, служебные поля или данные для кэша.
Рабочий подход такой:
• сначала делаете резервную копию;
• смотрите, что именно раздувает таблицы;
• удаляете только понятные типы мусора;
• после чистки проверяете сайт и админку.
Самые безопасные кандидаты на удаление:
• ревизии и автосохранения;
• спам и корзина комментариев;
• просроченные transient-записи;
• старые черновики и удалённые вложения, если они точно не нужны.
Сложнее всего с wp_postmeta и wp_options: там много «мусора», но рядом лежат критичные данные. Поэтому не используйте массовую очистку без фильтра по ключам и типам записей.
Если база стала тяжелее обычного, сначала ищите источник роста, а уже потом запускайте очистку. Лучший результат даёт не разовая «уборка», а регулярное удаление только того, что можно восстановить без боли.
—
Соседний канал в сети: @wp_translation_localization_ww
После долгой жизни сайта в базе скапливается лишнее: ревизии записей, автосохранения, спам-комментарии, временные записи, старые транзиенты и неиспользуемые мета-данные. Если чистить всё подряд, легко снести нужное: настройки плагинов, заказы, служебные поля или данные для кэша.
Рабочий подход такой:
• сначала делаете резервную копию;
• смотрите, что именно раздувает таблицы;
• удаляете только понятные типы мусора;
• после чистки проверяете сайт и админку.
Самые безопасные кандидаты на удаление:
• ревизии и автосохранения;
• спам и корзина комментариев;
• просроченные transient-записи;
• старые черновики и удалённые вложения, если они точно не нужны.
Сложнее всего с wp_postmeta и wp_options: там много «мусора», но рядом лежат критичные данные. Поэтому не используйте массовую очистку без фильтра по ключам и типам записей.
Если база стала тяжелее обычного, сначала ищите источник роста, а уже потом запускайте очистку. Лучший результат даёт не разовая «уборка», а регулярное удаление только того, что можно восстановить без боли.
—
Соседний канал в сети: @wp_translation_localization_ww
