Открыть меню

Как правильно перенести сайт с Drupal 7 на WordPress

Недавно появилась задача перенести сайт с друпала 7 на вордпресс 4.5. Причин так сделать масса — это и неудобная/непривычная админка, отсутствие опыта и желания разбираться с неизвестной cms, ведь на вп всё намного проще — выбрал, отредактировал шаблон, загрузил пачку заранее подобранных плагинов и готово.

Наперёд скажу, что полностью автоматизировать процесс мне не удалось и скорее всего пару дней на перенос вам придётся потратить.

Что именно надо перенести и сохранить

Чтобы не потерять существующий трафик, нам надо сохранить следующие элементы:

  1. Структуру сайта
  2. Url всех страниц
  3. теги title всех страниц
  4. теги description всех страниц
  5. теги h1 всех страниц
  6. Остальной контент всех страниц (текст + изображения)
  7. Файлы robots.txt, sitemap.xml, и редиректы (возможно, старый .htaccess)

О каждом элементе по порядку. Для удобства и наглядности понадобится таблица контента старого сайта, в которой будут url-адреса, тайтлы, h1 и прочие важные для нас элементы, на которые мы будем опираться. Эту таблицу я получил при помощи отличного софта Comparser. Пример:

Пример таблицы сайта со всеми атрибутами

Пример таблицы сайта со всеми атрибутами

Структура и url-адреса

Для переноса рекомендую использовать вот этот плагин (спасибо автору).

  1.  Скачиваем, активируем, далее переходим в инструменты -> импорт -> Drupal 2 WordPress.
  2. Заполняем данные для подключения к БД старого сайта на друпал.
  3. Выбираем все материалы, которые хотим перенести и задаём им тип соответствия:
    1. Записи друпал => записи вп
    2. Страницы друпал => страницы вп
    3. Рубрики друпал => Категории, либо теги вп (исходя из иерархии контента, подберите по смыслу)
  4. Запускаем миграцию.

К этому моменту у нас сохранится текст страниц и теги h1, структура категорий.

Чтобы окончательно разобраться с url-ами разделим их на три типа по страницам друпала:

  1. Записи на друпал в моём случае отображаются по шаблону /%postname%.html, поэтому я сделал такой же шаблон вывода записей на вордпресс, тем самым сохранив их адреса. Но есть доля дублей и ошибок, который придётся доправлять вручную, но об этом дальше.
  2. Категории в друпал имеют шаблон /%categoryname%/, а на вордпресс стандартно /category/%categoryname%/, поэтому, чтобы сохранить адреса надо будет убрать из урлов вордпресса «/category/», я сделал это при пощи плагина wp-remove-category-base.
  3. Страницы в друпал отображаются как и записи — /%pagename%.html. Поэтому, чтобы правильно задать урл страницам вп, я брал страницу, искал совпадение по h1 со страницей друпала (по таблице) и таким образом понимал соответствие, менял url, на тот, что на друпале. Нюанс в том, что страницы на вп имеют формат /pagename/. Сменить адрес на друпаловский мне не удалось, поэтому для этих страниц  использовал дедовский 301 редирект.

Проверка сделанного

К этому моменту у нас почти все страницы имеют правильные url-ы. Для проверки и исправления ошибок я запустил парсинг нового сайта в comparser и опять экспортировал данные в excel таблицу. После чего функцией ВПР сопоставил старые url-ы и новые. Если не находил нового урла, смотрел, почему так происходит и доправлял. Важно! Проверте соответствие кодов ответа сервера старых и новых страниц.

Синхронизация тегов Title и description

Сразу же я поставил плагин all in one seo pack и работал с ним.

Опять же разберём синхронизацию в зависимости от типа страниц:

  1. Категории. В моём случае друпал и вп совпали, я их не менял.
  2. Страницы и записи.
    1. Я выкачал таблицу postmeta, и posts в csv формате из вп.
    2. При помощи нашей первой таблицы сопоставил url-ы старых страниц и id-шники записей для таких же урлов новых страниц по поляем h1 (для старого сайта) и «post_title» из таблицы posts для нового.
    3. После этого заполнил postmeta csv для импорта. meta_id — просто инкрементировал предыдущие значения,  postst-id — id наших страниц вп из подпункта 2. meta_key — _aioseop_title для тайтлов, _aioseop_description для метаописаний,  meta_value — значения тайтлов и описаний из таблицы. Импортируем.

С h1 радует то, что они синхронизировались сами.

Синхронизация текста + изображений

К счастью, практически весь текст плагин импортирует успешно, а вот с изображениями возникли трудности. Чтобы решить их быстрее, я пошёл простым путём — не стал заморачиваться с плагином, а перенёс всю папку с картинками из друпала, то есть в корне вп создал папку /sites/default/files со всеми медиафайлами, а так как в html-коде все пути к изображениям друпала остались те же — проблем не возникнет. Только не забудьте выставить права 755 на доступ к папке.

Итоговая проверка

На всякий случай рекомендую после всех действий ещё раз пройтись и проверить соответствие элементов старого и нового сайтов.

Если будут трудности — задавайте вопросы. Также можем обсудить вариант полного переноса за вас.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

© 2017 Продвижение сайтов в Санкт-Петербурге · Копирование материалов сайта без разрешения запрещено