Перенос сайта с Joomla на WordPress — плагин FG Joomla to WordPress
Так иногда случается, что текущая система управления сайтом вам не подходит и требуется сменить ее на другую. В далеком 2007 году у меня сложилась подобная ситуация — я решил переехать с бесплатного Blogger.com на WordPress с собственным хостингом. Это было связано с ограниченным функционалом первого движка и обилием возможностей у второго. Еще один пример — желание сменить CMS после покупки сайта, если вам не нравится установленная там система. Это уже более актуальная задача, над которой как раз сейчас работаю. Признаться, я не слишком силен в Joomla, поэтому решил перенести один из проектов на более знакомую мне WordPress. В данном посте расскажу вкратце как это делается.
Внимание. Под переносом сайта с Joomla на WordPress подразумевается задача миграции его на другой хостинг. То есть исходный проект на Joomla и будущий на WordPress находятся на разных физических площадках! Если у вас задача изменения CMS в текущей инсталляции, то там есть свои нюансы. Теоретически можно установить WordPress в директорию /blog/ и провести аналогичные действия, о которых будет сказано в данном посте.
Алгоритм переноса с Joomla на WordPress
1. Первым делом на новом хостинге нужно установить WordPress. Если пользуетесь услугами Hostenko то этот процесс пройдет за пару минут и в несколько кликов. В том случае, когда ваш хостер не обладает такими функциями, вам пригодятся детальные инструкции по установке WordPress.
2. Далее нужно создать бэкап (резервную копию) текущего работающего сайта. Бэкап вообще штука полезная, а при разных обновлениях, переносах он может пригодиться, если что-то пойдет не так. Сохраняете файлы сайта и файлы базы данных на локальный компьютер. В этой статье есть описание создания резервной копии с помощью PhpMyAdmin (подходит для всех CMS).
3. Для переноса сайта нам понадобится плагин FG Joomla to WordPress. Он упоминается в 90% статей о миграции между этими CMS, думаю, это отличное свидетельство его надежности. Установить плагин нужно на новый сайт (тот который на WordPress).
У модуля есть платная и бесплатная версия. Премиум стоит 30 евро и имеет ряд действительно полезных опций как то: миграция пользователей/авторов, меню, МЕТА описаний, тегов и миниатюр. Кроме продвинутых функций есть еще и дополнения, работающие с разными Joomla модулями. Однако без этого можно обойтись, сам процесс переноса сайта выполним и с помощью бесплатной версиеи. Просто потом придется немного «допилить» новый сайт.
Основные возможности FG Joomla to WordPress:
- разделы Joomla переносятся в категории WordPress, а категории Joomla в подкатегории WordPress;
- переносятся все опубликованный посты и ссылки;
- есть возможность загрузки всех медиафайлов в соответствующую WP директорию;
- изменяется размер изображений под параметры, указанные в WordPress;
- в качестве миниатюры задается первая картинка из поста;
- сохраняются параметры Title и Alt для картинок;
- переносятся теги и разрывы страниц;
- статьи в Joomla могут быть импортированы в WordPress как посты или страницы.
На сегодня (18.03.2015) доступна версия 1.46.0, что поддерживает вордпресс 3.0 и выше. Установить его можно классическим методом по ФТП или же загрузить непосредственно из админки WP.
4. Для импорта данных из прошлого сайта плагину FG Joomla to WordPress требуется подключиться к базе данных Joomla. Заходим в админку нового сайта на WordPress в раздел «Инструменты» — «Импорт», выбираем пункт Joomla (FG), после чего увидим ряд настроек для модуля.
Здесь в блоке «Параметры датабазы Joomla» нужно указать доступы к старой БД Joomla сайта. Данная информация находится в файле configuration.php из корневого каталога.
Потом нажимаете «Проверить соединение». Если проверка пройдена, то все хорошо и база данных может быть импортирована.
В моем же случае возникла ошибка: [fgj2wp] Невозможно соединиться с базой данных Joomla. SQLSTATE[28000] [1045] Access denied for user ‘xxxxx’@’localhost’ (using password: YES). В разделе частых вопросов FAQ увидите, что она возникает более-менее часто. Основная причина — невнимательность при вводе параметров подключения к БД, однако есть в моем случае проблема была в чем-то другом. Приведенное в FAQ решение помогло — если новый сайт (куда переносите) находится на другом хостинге, то:
- экспортируете БД со старого Joomla сайта в SQL файл (через PhpMyAdmin);
- затем импортируете данные из файла в базу данных нового сайта;
- в настройках плагина указываете данные доступа к текущей новой БД.
Таким образом, у вас в новой базе данных будут данные 2-х сайтов, и вы из таблиц Joomla преобразуете информацию в WordPress. После завершения работы сможете все ненужные таблицы старого сайта удалить (они имеют одинаковый префикс jos_ или тот, который вы задавали в настройках).
Если подключение к базе данных прошло успешно, увидите общую информацию об импорте.
Тут приведено количество имеющихся разделов, категорий, постов. Также видите сообщение, что для переноса пользователей и sh404sef редиректов нужна премиум версия плагина FG Joomla to WordPress.
5. После подключения к БД вы непосредственно переходите к переносу данных из Joomla в WordPress. В блоке настроек «Режим» следует определить те или иные нюансы миграции: как быть с анонсами постов, импортировать ли картинки, использовать ли мета данные как теги, создавать ли страницы/посты из записей Joomla.
Когда все настройки установлены кликаем «Импортировать Joomla в WordPress». Процесс займет некоторое время, после чего вы увидите отчет — что было импортировано, а с чем возникли ошибки.
Если миграция не удалась, вы всегда сможете удалить имеющийся контент для повторного запуска переноса. Это также полезно дабы очистить новый только что установленный WordPress от базового наполнения (хотя его там и не много).
Если поставить галочку в пункт «Automatic removal», то контент будет автоматически удаляется перед каждым запуском импорта.
6. После переноса/импорта данных из Joomla в WordPress нужно провести еще некоторые действия. Используете функции в самом конце страницы настроек плагина FG Joomla to WordPress:
Во-первых, нужно удалить префиксы, которые добавляются для категорий WordPress при переносе дабы не возникало дублей. Во-вторых, если у вас на сайте была перелинковка, нужно модифицировать внутренние линки.
В моем случае почему-то не получилось импортировать картинки. Если взглянуть на шестой скриншот, то увидите ошибки при их копировании. Я настроил права записи 777 на директорию uploads и все подкаталоги, но это не помогло. В FAQ пишут, что директива Allow URL fopen (allow_url_fopen) должна быть включена в php.ini дабы картинки скопировались. Вы можете обратиться в тех.поддержку хостинга, где размещаете новый WordPress сайт, и там помогут разобраться с проблемой. Теоретически можно самостоятельно загрузить все картинки с одного хостинга на другой, но тогда придется править пути к картинкам в постах блога.
Еще один важный вопрос — URL ссылок на сайте. Вам нужно чтобы прошлая структура веб-проекта на Joomla соответствовала новой на WordPress. Это можно сделать в разделе «Настройки» и выбираете пункт «Постоянные ссылки». В процессе настройки вам могут пригодиться статьи:
- Плагин No category parents – чтобы убрать родительские категории из УРЛа.
- SEO оптимизация WordPress — про варианты настройки ссылок и другие полезные фишки.
- Смена постоянных ссылок в WordPress и автоматический редирект.
- Про 301 редирект — зачем он нужен и как сделать 301 редирект.
Настроить ЧПУ один в один у меня не получилось, придется довольствоваться компромиссным решением. Возможно, премиум версия плагина FG Joomla to WordPress позволяет избежать этих проблем.
Таким образом, на последнем этапе миграции с Joomla на WordPress вам нужно удостовериться в работоспособности нового сайта, проверив все картинки, ссылки и т.п. После этого можете смело менять DNS домена и через пару часов переезд можно считать завершенным. После миграции плагин FG Joomla to WordPress отключаете. Кстати, если у вас возникли какие-то ошибки с ним, внимательно поищите ответы в FAQ на официальном сайте (там рассмотрено более 10-ти разных проблем). В целом же плагин со своей задачей справляется, это быстрее чем копировать тексты вручную. Премиум версия обладает еще бОльшими возможностями по переносу. Вам остается лишь решить вопрос с шаблоном для WordPress сайта.
Добрый день.
Что касается шаблона для WP — его нужно ставить и оформлять до переноса данных с Joomla или уже в самом конце?
proaction, шаблон это, по сути, лишь визуальное представление информации вашего сайта из БД. Поэтому в процессе переноса он не играет особой роли. Логичнее подключать тему после завершения всех работ.
Здравствуйте.
Если на сайте Joomla есть вирус или скрытые ссылки в коде, то при переносе на WordPress они исчезнут?
В принципе переноситься только контент. Я правильно понял?
Просто есть такая проблема и никак от нее не избавиться в Joomla, в WordPress знаю как с этим бороться.
Андрей, зависит от специфики вируса. Есть случаи, когда они прописываются в БД в постах блога/сайта, тогда придется искать левые ссылки вручную через phpmyadmin. Но в целом, это может помочь избавиться от лишних файлов.
Инетересно, автор мог бы перенести мне сайт ?
Сергей, да я могу это сделать, т.к. уже давно занимаюсь разработкой сайтов на WordPress. Если заинтересованы, напишите на почту stod84@gmail.com дабы обсудить все детали. Что касается сайта я бы, если честно, в процессе переноса подыскал более современный шаблон/дизайн.
Здравствуйте, откровенно говоря так и не понял нужен ли новый домен?
Меня устраивает хостинг и конечно же домен, я создал около десяти сайтов на джумле и вордпресс, но вот этот момент так и не понял, проясните пожалуйста))
Чтобы установить плагин для переноса нужно поменять CMS, разве после этого сайт на джумле не станет недоступным? Или тот факт что БД сайта на старой CMS останутся будет достаточным и вордпресс сам подтянет то что нужно?
Роман, проще всего, конечно, делать трансфер на новый домен/хостинг, но не обязательно. Если все в пределах одного аккаунта, то создаете для Вордпресс отдельную директорию и установка будет находится в ней, а основной сайт на Джумле продолжит работать. Позже придется переносить WP в корневой каталог, а файлы Джумлы удалить.
Если переносите между разными аккаунтами с разными IP, то можно использовать фишку с редактированием файла hosts дабы смотреть результаты работы одного и того же домена.
Вордпресс будет делать импорт из той базы данных, которую укажете — будь то один и тот же аккаунт либо удаленный доступ с другого хостинга (вроде тоже можно). Перед началом всех работ обязательно делайте бекап (БД + файлы) и, возможно, есть смысл потренироваться сначала. Хотя бекап всегда подстрахует.
Добрый день, спасибо за статью. Перенес успешно сайт. Единственное пришлось старый сайт скопировать на комп и запустить через локалхост.
Если сайт на wordpress на локальном хостинге, будет работать? У меня пишет ошибка подключения к базе
Ольга, должен работать… проверьте параметры подключения к БД, сама ошибка намекает на какие-то неточности в этих значениях. Хотя если без установленного плагина ошибки нет, то проблема очевидно в нем.
Я так понимаю, URL при миграции не сохраняются в точности. И это печально, если так.
Андрей, тут индивидуально — если прошлый Joomla сайт имел структуру, которую реально «воссоздать» в WP, то URL сохранятся — например добавить какой-то префикс категории перед названием поста, или html окончание и др. Понятно, что если на старом веб-проекте была какая-то супер оригинальная структура, то тут только 301 редиректом перевести все URL’ы получится.
Дело в том, что joomla пихает идектифактор поста в URL, а при миграции он отсутствует. Какая-то неполноценная миграция, блин. Я посмотрел другой популярный способ CMS2CMS, так он почему-то в одну рубрику все записи сложил; еще хуже получается =)
FG Joomla to WordPress — работает только в платной версии
Владимир, странно, когда я пробовал несколько лет назад — все работало… плюс в описании модуля не заметил инфы про ограничения функционала для бесплатной версии. Хотя, конечно, если у вас сложный и объемный сайт, то без премиальных функций может не получиться все сделать.