Как восстановить WordPress-сайт из резервной копии базы данных

Если ваш сайт на WordPress постигла катастрофа, у вас закономерно возникает идея восстановления из бэкапа базы данных. Можно ли воссоздать WordPress-сайт, используя резервную копию базы данных? Если кратко: да, но есть нюансы. Восстановление возможно, однако придется подойти к этому процессу максимально обдуманно.

Резервные копии базы данных WordPress и файлов

Для создания полной копии WordPress — сайта вам понадобятся два бэкапа – базы данных и файловой системы. Первый бэкап сохраняет все содержимое базы данных WordPress-сайта в виде одного огромного .sql файла. Второй – хранит копии всех файлов (.php, .js, .css, .png, .jpg) в соответствующих каталогах, которые используются движком WordPress, темами оформления и плагинами.

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

Вот, что входит в состав бэкапа (дампа) базы данных WordPress:

  • обычные записи;
  • страницы;
  • пользовательские записи;
  • комментарии;
  • настройки тем оформления;
  • настройки плагинов;
  • учетные записи пользователей.

Что входит в состав файлового бэкапа:

  • изображения и другие мультимедийные материалы;
  • темы оформления;
  • плагины.

Предположим, что случилось самое страшное: ваш WordPress-сайт уничтожен, настройки автоматического бэкапа на хостинге дали сбой – полной резервной копии сайта у вас нет. Но есть недавний бэкап базы данных. Будет ли этого достаточно?

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

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

Шаг 1: создание базы данных и пользователя

Сначала необходимо создать новую базу данных и пользователя с соответствующими привилегиями. Если на вашем хостинге используется панель управления cPanel, откройте раздел «Базы данных MySQL».

Добавьте суффикс к имени новой базы данных и нажмите кнопку «Создать базу данных»:

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

Теперь добавьте к базе данных только что созданного пользователя:

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

Шаг 2: импорт бэкапа базы данных

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

Откройте созданную вами базу и перейдите на вкладку «Импорт». Укажите местонахождение файла базы данных на вашем жестком диске – расширение у бэкапа будет .sql, а в случае сжатия архиватором – .sql.zip или .sql.gz.

Нажмите «ОК» для запуска процесса импорта дампа.

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

Шаг 3: установка движка WordPress

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

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

Самый простой способ загрузки и установки основных файлов WordPress – с помощью FTP-клиента. Загрузите содержимое папки wordpress в директорию public_html, расположенной на хостинге. Если на вашем хостинге такой директории нет, загружайте файлы движка в папку htdocs или www.

Если предыдущий WordPress-сайт был установлен в поддиректорию, загружайте файлы именно в нее. Например, если адрес прежнего сайта был example.com/wp/, загружайте файлы движка в поддиректорию /wp/.

Шаг 4: переустановка WordPress

После импорта дампа базы и переноса файлов на хостинг можно приступать к переустановке. Перейдите по URL-адресу вашего сайта – откроется страница установки WordPress с предложением выбрать наиболее подходящий язык.

После выбора языка и нажатия кнопки «Далее», введите в соответствующие поля формы название базы данных, имя пользователя и пароль, которые вы сохранили ранее. По умолчанию префикс таблиц БД – wp_. Проверьте бэкап вашей базы данных – если в ней используется другой префикс, то измените данные в поле с wp_ на свои собственные:

Если все будет сделано правильно, вы увидите следующее сообщение:

Запустите установку – появится сообщение о том, что WordPress уже установлен (потому что вы импортировали дамп базы данных). Теперь можно входить в панель администрирования.

Все готово? Пока нет. Чтобы переустановить сайт на WordPress без потери содержимого, необходимо воссоздать и базу данных, и пользовательские файлы. Импорт дампа базы данных уже сделан, но файлы еще не восстановлены. Поэтому потребуются дополнительные шаги, прежде чем ваш WordPress-сайт вернется к жизни в первозданном виде.

Шаг 5: переустановка темы оформления

Первым делом надо решить проблему с темой оформления. На вкладке Внешний вид > Темы есть сообщение о повреждении:

Кроме того, главная страница сайта демонстрирует уведомление об отсутствии каталога темы оформления:

Найдите отсутствующую тему оформления в каталоге WordPress.org, установите и активируйте. Если это премиум-тема – загрузите ее в zip-архиве.

Как быть, если на старом WordPress-сайте использовалась дочерняя (кастомизированная) тема оформления? Обычно использование таких тем – прекрасная идея, но в процессе восстановления WordPress-сайта из бэкапа базы данных это означает дополнительные сложности. Если резервной копии дочерней темы оформления нет, то вам придется сначала установить оригинальную тему, а затем с нуля воссоздать все кастомные настройки.

Шаг 6: переустановка плагинов

Следующая проблема – отсутствие всех ранее установленных плагинов. Перейдите в раздел «Плагины» – там будут только стандартные Akismet и Hello Dolly. Если вы не пользовались ими раньше – можете их удалить.

Составьте список всех плагинов, деактивированных из-за ошибки.

Если посмотреть на главную страницу – можно увидеть ссылки на отсутствующие плагины, также как продемонстрированное на скриншоте указание на отсутствующий плагин Ninja Forms:

Уже догадались? Придется переустановить и активировать все отсутствующие плагины – либо через поиск по официальному каталогу WordPress, либо путем загрузки соответствующих zip-файлов. Если повезло, то плагины сохранены на вашем компьютере. В случае неудачи, придется повторно скачать необходимые плагины с сайтов разработчиков, или даже приобрести новейшие версии.

Шаг 7: настройка виджетов

После установки плагинов и возвращения формы обратной связи надо решить проблему отсутствия боковых панелей (сайдбаров). Это можно поправить перетаскиванием виджетов на нужные позиции:

Однако изображения в виджете «Последние записи» по-прежнему отсутствуют:

Как и все изображения в медиа библиотеке:

На главной странице тоже нет никаких изображений, а стиль оформления, основанный на плагине Elementor, полностью уничтожен:

Сохранение страницы в конструкторе Elementor восстановит стиль оформления, но как быть с изображениями?

Шаг 8: восстановление изображений

Теперь нам предстоит самая сложная часть работы. Восстановление изображений – масштабная задача, и простых решений для ее выполнения просто нет. Если на старом WordPress-сайте было множество фотографий и графики, процесс восстановления будет медленным.

Можно найти ссылки на утерянные изображения с каждой страницы сайта, используя этот сервис. Скопируйте таблицу в Excel, чтобы увидеть полные адреса. Предупреждение: данный сервис не сможет найти ссылки на потерянные фоновые картинки.

Загрузка сохраненных копий

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

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

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

Поиск графики в интернете

Что делать, если никаких копий не сохранилось?

Если вы использовали демо-контент, и еще не успели заменить графику своей собственной, можно найти фотографии на сайте разработчика. В моем случае можно обратиться к авторам демонстрационного наполнения для сайта – GeneratePress и Theme Unit Test Data, а также к разработчикам темы оформления Restaurant Homepage – Elementor.

В противном случае рекомендую полезный сервис ViewCached – он покажет сохраненные в кэше версии сайта.

Нажмите кнопку Google, чтобы просмотреть страницы, недавно сохраненные этим поисковиком. Кликните правой кнопкой мыши по изображению и воспользуйтесь нужной опцией сохранения. Если необходимо сохранить множество картинок, воспользуйтесь плагином Image Downloader для браузера Google Chrome – он скачает все изображения с указанной пользователем веб-страницы.

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

Если сайт еще не был проиндексирован поисковиками, поскольку находился в стадии разработки, но при этом вы недавно открывали его в браузере Google Chrome, попробуйте плагин ChromeCacheView – он покажет файлы посещенных веб-страниц, сохраненные в кэше браузера.

Отсортируйте результаты по URL-адресам, найдите свой сайт и проверьте кэш – если повезет, сможете сохранить часть изображений. Лично мне, таким образом, удалось восстановить десяток картинок – однако пришлось изменить расширение с .jfif обратно на .jpg.

Если ничто не помогло

В случае неудачи с каждым из рассмотренных выше способов остаются два варианта. Первый – удалить ссылки на потерянные изображения. Второй – заменить их на новые картинки. Ни один из этих методов нельзя назвать удовлетворительным в случае, если ваш WordPress-сайт заполнен внушительным количеством изображений (как в случае с портфолио фотографа, например), и я надеюсь, что вы в такой ситуации не окажетесь.

Подведем итоги

Теперь вы знаете, как воссоздать WordPress-сайт без потери содержимого. Хотя создание нового WordPress-сайта на основе дампа базы данных старого сайта возможна, необходимо понимать, это длительный и достаточно кропотливый процесс. Потеря графики, скорее всего, станет самой большой проблемой, и ее решение займет действительно продолжительное время.

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

Данная публикация является переводом статьи «How to Create a Fresh WordPress Install from an Old Database Backup» , подготовленная редакцией проекта.

Меню