Alexell. Ru

Alexell. RuПеренос сайта с 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) .