Перенос сайта с dle на wordpress
Как и многие вебмастера во время торжества покупных ссылок я тоже клепал кучу ГС для продажи ссылок. Чтобы разнообразить сетки сайтов, некоторые сайты я делал на движке DLE (DataLife Engine). И конечно это были движки null версии, в те времена просто не кошерно было делать сайты на платном движке. Да и сейчас большая часть сайтов с этим движком использует его не совсем законно.
Эра ГС прошла но некоторые сайты остались в замороженном состоянии. толи выкинуть жалко, толи домены мне ценны. При этом на почту доменов постоянно сыпались предупреждения, что сайты используют не лицензированнную версию движка. (хотя у меня стояла древняя версия, которая еще подпадала под лицензию GNU GPL, и по советам «специалистов» на форумах, я просто забивал на предупреждения). Но недавно получил от регистратора сообщение об абузе. Боясь потерять домен я решил организовать переезд сайтов с DLE на WordPress.
Как оказалось это не сложная процедура. Ниже приведу инструкцию по быстрому переносу сайта с этого движка.
Пошаговая инструкция переноса сайта с DLE на Wordpress
- Делаем бэкапы базы данных и всех файлов. (на всякий случай, вдруг не получится перенос)
- В корневую папку устанавливаем wordpress
- В качестве базы указываем базу от сайта на dle
- Устанавливаем плагины: Wp-no-category-base (убирает ссылки на /category/) , Rus-to-lat (Переводит урлы в латиницу)
- Приводим Url wordpress к виду как они были на dle. (для этого Идем Консоль -> Параметры->Постоянные ссылки-> Произвольно-> Ставим: «/%category%/%post_id%-%postname%.html» )
- Конвертируем базу данных
Для этого в phpmyadmin необходимо выполнить вот такой запрос:
DELETE FROM `wp_users` WHERE `wp_users`.`ID` != 1;
REPLACE INTO wp_users (ID, user_login, user_nicename, user_email, user_registered, display_name) SELECT user_id, name, name, email, FROM_UNIXTIME( reg_date ), name FROM dle_users WHERE user_id != 1;
TRUNCATE `wp_terms`;
REPLACE INTO `wp_terms` (`term_id`, `name`, `slug`) SELECT `id`, `name`, `alt_name` FROM `dle_category`;
TRUNCATE `wp_term_taxonomy`;
REPLACE INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `description`, `parent`) SELECT `id`, `id`, `descr`, `parentid` FROM `dle_category`;
UPDATE `wp_term_taxonomy` SET `taxonomy`=
'category'
;
TRUNCATE `wp_term_relationships`;
REPLACE INTO wp_term_relationships (object_id, term_taxonomy_id) SELECT id, category FROM dle_post;
TRUNCATE wp_posts;
REPLACE INTO wp_posts (id, post_author, post_date, post_content, post_title, post_name) SELECT d_p.id, d_u.user_id, d_p.date, CONCAT(d_p.short_story,
'<!--more-->'
,d_p.full_story), d_p.title, d_p.alt_name FROM dle_post as d_p, dle_users as d_u WHERE d_p.autor = d_u.name;
TRUNCATE `wp_comments`;
REPLACE INTO wp_comments (comment_ID,comment_post_ID, comment_author, comment_author_email, comment_date, comment_content) SELECT id, post_id, autor, email, date, text FROM dle_comments;
Оригинал кода взят вот тут.
В принципе сайт уже должен работать. Остается только подогнать шаблон, вернуть все блоки, кнопки и прочее. Но это уже скорее относится к настройкам wordpress, чем к предмету этой статьи, поэтому просто упущу этот момент.
Выводы.
Я думал переезд займет несколько суток кропотливого труда, но все заняло не более получаса со всеми разбирательствами и вниканиями в тему переезда. Как говорится Глаза боятся, а руки делают.
Теперь вы знаете, что делать, если пришло письмо от разработчиков или правообладателей DLE, что вы используете систему управления сайтом Data Life Engine незаконно, вот варианты:
- Оплатить лицензию и спать спокойно (на момент публикации этой статьи базовая лицензия стоит 3190 рублей)
- Переехать c DLE на wordpress (инструкция выше)
- Переехать на абузоустойчивый сервер
Забить на предупреждения и надеяться что последствий не будет
Александр
15.09.2015Спасибо за инструкцию по переезду с DLE на WP, то что искал!
ZeDDy
15.09.2015Пожалуйста, не забывайте делать бэкапы перед началом работ.
Руслан Баночкин
15.09.2015Лучше, думаю, использовать Yoast WordPress SEO, чтобы убрать категории из url. Просто плагин итак обязательный к установке и там уже есть этот функционал.
ZeDDy
15.09.2015тоже вариант.
seoonly.ru
15.09.2015Письмо с угрозой пришло?
ZeDDy
15.09.2015Пришло письмо от регистратора. обычно правообладатель писал, а теперь регистратор, это чревато минимумом потерей домена, поэтому переехал.
seoonly.ru
16.09.2015Ничего себе, кризис ударил по ДЛЕ, теперь уже через регистраторов щемят
ZeDDy
16.09.2015Я удивляюсь почему они раньше так не делали. Видимо готовили пакеты документов, которые можно предоставлять. и переписывали движок, чтобы не было кусков кода из старой версии, которую они заимствовали.
ZeDDy
17.09.2015похоже явление массовое.
еще один сайт на дле из старых сеток нашли. пришлось переносить.
Аркадий
21.09.2015А вот смотри, в DLE же много доп.полей используется в шаблоне, как потом в шаблоне WP их вывести?
Потап
28.10.2015Меня тоже интересует дополнительные поля с DLE как перенести, пробовал так ,‘ ,d_p.full_story, d_p.xfields не получатся ,
Alex
26.12.2015Все так сделал, в админки все посты есть, на главной тоже, а переход по ссылки полной новости пишет что нет такой страницы !!! И по ссылки категории тоже самое !!! Где у меня глюк получается и как его убрать ???
ZeDDy
27.12.2015Посмотри ЧПУ,
и возможно у тебя есть точки в нем.
Вернее точки в url статей
Alex
27.12.2015Точек нет, только тире одни, не ну есть конечно .html но это ж не в счет !!!
Alex
27.12.2015Нашел я в чем глюк, в конце названия поста я вместо токи знак восклицательный ставил, DLE его в ссылки как тире писал, а WP тире в конце ссылки не хавает и когда в посте на WP ставишь восклицательный знак он в ссылки его вообще не как не обозначает !!!
Теперь вот вопрос как эти тире по убирать с адреса ссылок !!!???
ZeDDy
27.12.2015Если постов не много то в ручную,
если чуть больше то залезь через phpmyadmin
там эти url записаны в таблице wp_posts в столбце post-name
и если ты знаешь что косяк к конечном тире или воскл. знаке, то поубирай его или добавь.
в принципе можно придумать sql запрос который разом все исправит, но я в этом не силен.
Alex
27.12.2015Вот и я не селе, а постов 6556 с 1 января 12 года сайт у меня !!! Так что в ручную не вариант даже через phpMyAdmin, нашел я там эти ссылки но как их пометь то !!!???
ZeDDy
28.12.2015сделай бекап базы, и попробуй
UPDATE ИМЯ_ТАБЛИЦЫ SET ИМЯ_ПОЛЯ = REPLACE(ИМЯ_ПОЛЯ, ‘строка для замены’, ‘чем заменяем’);
Alex
28.12.2015я про такое сразу подумал, но в адресе ссылки есть еще тире, всмысле пробел в названии поста DLE тоже заменяет на тире, и если такое сделать то оно все тире по убирает, да и заменять то на что ??? на пробел ??? это надо какая то команда чтоб в строках по удаляла последний символ !!!
Wstory
22.11.2017Здравствуйте! Подскажите, а как перенести статические страницы из базы DLE в WP?
ZeDDy
23.11.2017К сожалению не могу подсказать.
Последний раз переносил давно.
Если их не много то может быстрее вручную перенести?
Арчи
20.12.2018А файлы то сайта на DLE куда переносить? Про базу понятно.
ZeDDy
23.12.2018Файлы от движка уже не нужны и переносить их не придется,
а медиафайлы лучше переложить в идентичную папку (как было на движке DLE) чтобы все обращения внутри контента сохранились.
Кстати не уверен что сейчас эта статья актуальна, прошло уже 3 года с момента написания, и возможно в движке и базах ДЛЕ были изменения, которые делают приведенный выше код не рабочим.