Перенос сайта с DLE на WordPress
Однажды, с сайтом одного из проектов, с которыми я работаю случилась неприятность - его взломали и удалили все файлы с хостинга. Сайт был создан на платформе Data Life Engine (DLE), разумеется, на ломаной (nulled) версии. Полагаю, нас взломали сами авторы движка. Бекапы конечно у нас были и тогда я понял, что в движке полно уязвимостей и пора выполнить перенос сайта с DLE на WordPress. О том, как это сделать, я хочу рассказать вам в этой статье. В интернете есть несколько статей на эту тему, однако в них описано не все и код для переноса не полностью переносит все, что нужно для полноценной работы, содержит косяк с переносом анонсов, да и плагины WordPress там указаны устаревшие.
Шаг первый: бекап и установка WordPress
Для начала, рекомендую сделать бэкап базы данных DLE и его файлов. Затем посмотрите настройки подключения к БД в файле engine\data\dbconfig. php. Нас интересует DBNAME, DBUSER и DBPASS - скопируйте их куда-нибудь. Теперь нужно выполнить несколько простых действий:
- Удаляем все файлы с корня сайта, кроме папки uploads и всех, созданных вами папок и файлов в корне, если такие есть.
- Скачиваем WordPress
- Распаковываем файлы движка в корень сайта. Все файлы и папки, начинающиеся на "wp-", должны оказаться в корневой папке сайта, где от DLE осталась только папка uploads.
- Заходим на сайт в браузере, появится страница установки WordPress, при установке укажите параметры подключения к той же БД, где остались данные DLE (параметры подключения мы копировали).
- После успешной установки, авторизуемся в админке
- В разделе плагины нажимаем "Добавить новый", в поиске в углу вводим "Cyr to Lat enhanced " и устанавливаем этот плагин.
- Затем ищем и устанавливаем "Yoast SEO " - отличный плагин для СЕО, он вам обязательно будет полезен, но на начальном этапе нужен он нам для другого.
- Активируем оба плагина, заходим в раздел SEO -> Дополнительно -> Постоянные ссылки и в первом пункте ставим "Убрать". Это уберет стандартный префикс "/category/ ", который добавляется во все URL
- Далее в консоли WordPress идем в Настройки -> Постоянные ссылки, выбираем "Произвольно" и вписываем "/%category%/%post_id%-%postname%.html ". Это приведет ссылки к такому виду, в каком они были на DLE.
- Теперь вам нужно найти и установить нужный вам шаблон (тему). Сделать это можно через Внешний вид -> Темы. Можно загружать свои шаблоны, которые вы найдете в интернете.
- Важно: не пытайтесь создавать новые посты и рубрики в WordPress, они все равно исчезнут на следующем шаге и будут заменены теми, которые были в DLE.
Первый шаг переноса сайта с DLE на WordPress завершен, осталась половина задачи.
Шаг второй: Миграция базы данных
Начну с того, что принцип хэширования паролей пользователей на движках отличается. поэтому пароли с DLE на WordPress не мигрируют вообще! Если у вас есть пользователи и открыта регистрация, то после переноса сайта, сделайте рассылку на E-Mail с просьбой восстановить свои пароли через кнопку "Забыли пароль".
Дополнительные поля в записях (если они есть) не будут перенесены, поэтому если хотите их перенести, вам придется найти их в таблицах DLE, понять, где они должны быть в таблицах WP и изменить SQL код, который представлен ниже, чтобы он и их переносил куда следует.
А вообще это должно решиться заменой d_p. full_story в коде на CONCAT(d_p. full_story, d_p. xfields) .