Drupal 2 WordPress. Миграция блога из Drupal 7 в WordPress 3.x

Долгое время мой блог существовал на базе CMS/CMF Drupal. Это супер система, но она слишком гибкая для блогов, имхо. Слишком многое нужно установить и слишком многое подпилить, чтобы сделать банальный блог. Поэтому возникла идея эксперимента — перенос блога с платформы Drupal на платформу WordPress.

Но тут случился «затык». Если перенести блог из WordPress в Drupal предлагается +100500 методов. Я может и утрирую, но вариантов действительно не мало. А вот перенести блог из Drupal в WordPress оказалось намного-намного проблематичнее.

За всё время существования этих система я нашел два метода: перенос путем соединения двух баз и выполнения определенных SQL-команд. Второй — исполнение специального скрипта миграции Drupal2Wordpress (Есть по одному скрипту для миграции с Drupal 5, 6 и 7).

Ну, и не так давно добавился третий — сайт миграции cms2cms.com. Но движок у ребят сырой-пресырой. Это даже не бета, а альфа. Во всяком случае, с моим блогом, как было сказано техподдержкой существуют определенные технические сложности, которые они старались решить на протяжении недели. Хотя блог стандартный, хостинг тоже вполне себе стандартный — it-patrol.ru Но так ничего у них не вышло. Хотя ребята хорошие и отзывчивые. Техподдержка отличная. Ну, не заладилось что-то. С кем не бывает.

Но я то прошел суровую друпаловскую школу 🙂 — хочешь сделать всё хорошо, сделай всё сам. Интеграция баз данных друпал и вордпресс, и исполнение SQL было признано не кошерным. Поэтому за основу миграции был взят скрипт Drupal2Wordpress для седьмой версии друпала. Базисом разработки скрипта послужил пост отсюда.

Однако, буржуйский скрипт ни в какую не хотел работать с кирилическими данными — при переносе все кириллические символы преобразовывались в знаки вопроса.

Читайте  В Drupal исправлено десять уязвимостей

Короче, дальше не буду углубляться. Были перепробованы различные способы смены кодировки скрипта и подключения к базе данных. В итоге получилася рабочая версия скрипта, который позволяет провести миграцию блога из Drupal 7 в WordPress 3.x

Переносит:

  • посты;
  • комментарии;
  • таксомномию;
  • связь постов с таксономией.

Доделывать миграцию файлов мне некогда. Потому как в постах у меня в основном ссылки на изображения с других доменов. Если кому нужно, то сможет по образу и подобию переделать скрипт сам.

Всё остальное, при желании, делается в базе данных SQL-запросами.

Скачать архив с php-скриптом миграции Drupal2Wordpress. Рецепт прост: копируем Drupal2Wordpress.php и php-mysql.php в корень или отдельную папку в корне сайта. Редактируем Drupal2Wordpress.php — вносим данные для подключения к базе. Потом просто заходим на сайт и исполняем скрипт. Он сам отчитается что сделано, а что нет.

Предупреждение!!! Скрипт первым делом чистит базы WordPress

Плюс два скрипта: для проверки кодировки исполнения скрипта, а также скрипт проверки кодировки базы данных и соединения с ней.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

[Всего голосов: 3    Средний: 3.7/5]

← Предыдущий

Следующий пост →

12 Комментарий

  1. Спасибо, очень помогли! Всё перенеслось отлично, сработало, как часы. Я ожидал чего-то мучительного и морально готовился два дня. А оказался просто редкий случай, чтобы такая длинная последовательность операций, какая нужна для миграции сайта, прошла без задоринки.

    И вообще приятный у Вас сайт. Сразу чувствуется, что автору можно доверять:)

    • Спасибо.
      Рад, что все получилось.
      Нелишним будет зайти в вебмастер гугла и посмотреть неправильные ссылки, чтобы поправить переадресацию

  2. Здравствуйте, Роман!
    Спасибо за краткий обзор нашего сервиса CMS2CMS. Как Вы правильно подметили, движок действительно нуждаеться в доработке, что мы и делаем. Но со времени Вашей публикации уже запущена коммерческая версия, добавлены новые опции и платформы и работает инструмент в разы лучше.

    Сожалею, что Ваше знакомство с CMS2CMS не было успешным, но Вы могли бы протестировать сервис теперь и убедиться в его функциональности.

    C уважением,
    Кристина Сарабун
    Маркетинг менеджер СMS2CMS

    • Спасибо, Кристина, за ответ. Как я писал в посте, просто не судьба была воспользоваться вашим сервисом ))))
      Поэтому у тех, кто предпринимает попытки перенести блог с drupal на wordpress, есть две рабочие альтернативы: или онлайн сервис cms2cms или всё ручками с помощью скрипта

  3. Спасибо огромное за рабочий скрипт!!! Все перенес без проблем, даже править ничего не пришлось! Хотя, тоже думал, что придется долго и нудно потеть, все переписывая.

  4. Спасибо за ваш скрипт, но у меня этим способом не получилось. Съехали названия постов. Заголовок 1 Текст 2 Заголовок 2 Текст 3 и так далее по всему блогу. Так же проблема с анонсами статей. Результат от работы плагина drupal2wordpress лучше.

    • Вам спасибо за коммент.
      Посмотрел код, вроде как всё в порядке. Хотя программист из меня еще тот )))
      времени прошло достаточно много: уже и друпал столько раз обновился и wordpress.
      Как идея: поставьте drupal 7.21 и wordpress 3.6
      Старые версии можно найти в официальных репозитариях.
      Но в принципе я специально давал три варианта: хоть один, но сработает

      • Anatolt

        1. не понял о каких вариантах идёт речь. скрипт же один
        2. идея поставить старый wp интересная, но мне всё это так уже надоело, что я всё снёс и перенёс только то, что перенеслось
        3. оповещение с вашего сайта сначала пришло с кривыми кодировками, а потом с нормальными http://at02.ru/i/2016-03-24_105949.png

        • Первый — cms2cms, второй — drupal2wordpress, третий — скрипт.
          Хотя я сделал примерно также — перенес, что перенеслось. А потом вручную редактировал

  5. Добрый день! Возникла необходимость переноса сайта с Друпал на ВП, поэтому прочла статью очень внимательно, но я новичок — возникли вопросы. Не могли бы Вы объяснить более подробно вот что:
    1). Цитата — «Редактируем Drupal2Wordpress.php — вносим данные для подключения к базе». Куда именно надо внести и какие данные?
    2). Цитата — «Потом просто заходим на сайт и исполняем скрипт.» Такое я еще ни разу не делала. Объясните более подробно как это сделать.
    3) Цитата — «Плюс два скрипта: для проверки кодировки исполнения скрипта, а также скрипт проверки кодировки базы данных и соединения с ней.» Эти скрипты тоже надо запускать?
    Может мои вопросы покажутся Вам наивными, но Ваш ответ очень важен для меня. Заранее спасибо.

    • Добрый день, Светлана!
      Всё-таки лучше, если вы найдете специалиста.
      Попробую пояснить.
      Перед всеми действиями. Делаем бэкап сайта и базы данных.
      «Редактируем Drupal2Wordpress.php» — в этом файле нужно указать вcе пустые параметры. Как то: $DB_HOSTNAME, $DB_WP_USERNAME, $DB_WP_PASSWORD, $DB_WORDPRESS, $DB_DP_USERNAME, $DB_DP_PASSWORD, $DB_DRUPAL, $DB_WORDPRESS_PREFIX, $DB_DRUPAL_PREFIX.
      Данные берутся у хостера.
      «Потом просто заходим на сайт и исполняем скрипт» — проще говоря, его нужно вызвать в браузере. Т.е. если вы разархивировали его в папку d2w вашего сайта, то нужно в браузере набрать yousite.com/d2w/Drupal2Wordpress.php
      «Плюс два скрипта: для проверки кодировки исполнения скрипта, а также скрипт проверки кодировки базы данных и соединения с ней.» — лишним не будет. Исполнять также как и выше.

      Посмотрите еще по ссылке http://broweb.ru/cms/drupal-to-wordpress/

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

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: