Инструкции по переносу DLE на WordPress

kvit

Member
Joined
Oct 31, 2006
Messages
211
Reaction score
86
Age
40
Инструкции по переносу DLE на WordPress

Задался вопросом о переноси cms и нашел вот такую инструкцию, решил поделиться, скажу сразу сам еще не пробовал!

1. Для начало нам нужно сделать бекап базы данных и файлов сайта, чтобы смело перейти к работе.

2. Теперь нам нужно удалить все файлы DLE из хостинга (кроме папки uploads).

3. Скачиваем последнюю версию WordPress и устанавливаем на том же домене, на том же базе данных.

4. Для начало нам нужно перенести пользователей, но тут есть одно примечание: пользователь с ID=1, то-есть, Админ не переносится и еще не переносятся пароли (тут всем придется просто восстановить пароли). Для этого просто нужно из PHPMyAdmin сделать SQL запрос

DELETE FROM `wp_users` WHERE `wp_users`.`ID` != 1;
INSERT 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;

Примечание::

$replace_url = false;
TRUNCATE `wp_terms`;
INSERT INTO `wp_terms` (`term_id`, `name`, `slug`) SELECT `id`, `name`, `alt_name` FROM `dle_category`;

TRUNCATE `wp_term_taxonomy`;
INSERT 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`;
INSERT INTO wp_term_relationships (object_id, term_taxonomy_id) SELECT id, category FROM dle_post;

5. Теперь нам нужно переместить материалы (посты, новости как хотите назовите):

TRUNCATE wp_posts;
INSERT 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, '' ,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;

Этим запросом и соединили краткую и полную новость, если вам нужно только полная новость (fullstory) то просто в этом коде найдите:

CONCAT(d_p.short_story, ‘<!—more—>’ ,d_p.full_story)

И замените на:

d_p.full_story

6. Комментарии, это тоже очень важный момент и однозначно их тоже нужно переместить, вот запрос для переноса комментариев:

TRUNCATE `wp_comments`;
INSERT 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;

7. Если у вас установлен плагин All in one SEO то вы сможете так же перенести title-ы страниц, описания и ключевые слова.:

INSERT INTO `wp_postmeta` (`post_id`, `meta_value`) SELECT `id`, `keywords` FROM `dle_post`;
UPDATE wp_postmeta set meta_key = '_aioseop_keywords' WHERE meta_key IS NULL;

INSERT INTO `wp_postmeta` (`post_id`, `meta_value`) SELECT `id`, `descr` FROM `dle_post`;
UPDATE wp_postmeta set meta_key = '_aioseop_description' WHERE meta_key IS NULL;

INSERT INTO `wp_postmeta` (`post_id`, `meta_value`) SELECT `id`, `metatitle` FROM `dle_post`;
UPDATE wp_postmeta set meta_key = '_aioseop_title' WHERE meta_key IS NULL;

UPDATE wp_postmeta SET meta_value = (SELECT title FROM dle_post WHERE id = post_id) WHERE meta_key = '_aioseop_title' AND meta_value = '';

8. Теперь из базы данных удаляем все таблицы с префиксом dle_, я оставил только:

dle_category
dle_comments
dle_images
dle_static_files
dle_tags
dle_usergroups
dle_users

Зачем, честно говоря не знаю, но я не знаю что будет после их удаление и по этому и вас предупреждаю.

9. Теперь нужно перенести картинки, чтобы они правильно отображались. Для этого папку из DLE под названием uploads копируем в папку /wp-content/, в этой папке тоже есть папка с таким названием.

10. Скачиваем базу данных и открывает его с помощью NotePad++, открываем Поиск и замена и заменяем старые адреса картинок на новые (это очень просто, нужно просто немного мозгов).

11. Теперь осталась только изменить адреса страниц чтобы вы не потеряли свой трафик. Конкретно у меня в DLE была ЧПУ типа 2, то-есть, /категория/ID-имя материала.html. Для того чтобы получить такые же адреса в Wordpress нам нужно для начало установить два плагина Wp-no-category-base - Убирает ссылки типа «/category/» Rus-to-lat - Переводит URl на латинские символы Потом войти в Консоль - Параметры — Постоянные ссылки, поставить галочку произвольно и прописать:

/%category%/%post_id%-%postname%.html

Теперь адреса страниц те же самые что били в DLE и мне не нужно писать длинные 301 редиректы чтобы не потерять индексацию, уникальность и посетителей. Не какой поисковик не потеряет не одной вашей страницы.

Инструкция слита

Источник http://cms-zona.ru/
 
Top