В миграции Joomla на новую версию движка есть резон, ведь последние CMS позволяют работать с современными плагинами и модулями. Плюс Joomla 3х адаптирована под мобильные устройства и имеет высокие планки безопасности. Для миграции есть несколько компонентов, например jUpgrabe или Sp_Upgrade_Joomla (платный), но не один из них не предлагает идеального решения. Сегодня я расскажу, как сохранить URL страниц при переезде на новый движок и не потерять трафик в жизни сайта на новом движке.
Особенности правильной миграции
☝ Есть два варианта миграции сайта – программный и ручной. В первом случае используем компоненты для переноса БД и файлов, потом правим косяки ручками. Во втором случае всё делается вручную.
Небольшой сайт можно перенести вручную:
- Установить на локальный компьютер Денвер или другой сервер,
- Создать на нём сайт под управлением Joomla 3.6,
- Ручками перенести категории и материалы со старого движка.
Останется поковыряться с дизайном, установить все плагины и модули и закинуть сайт (файлы и БД) на хостинг с заменой файлов и MYSQL + правкой configuration php. Времени требуется больше, но есть гарантия, что в процессе миграции всё перенесётся правильно.
Второй вариант – это специальные компоненты для миграции. Они трансформируют старую базу данных на новый сайт, а также мигрируют фото и основные файлы движка. Вероятность кривого переноса выше, но иного выхода нет, если у вас большой проект и ручная миграции потребует много времени.
Основная проблема первого и второго варианта – это новые урлы материалов и, реже, категорий. Даже при ручном переносе изменяется ID страниц, и адрес становится новым. Это большой грех, ведь отсюда много битых внутренних ссылок, потеря статического веса страниц и, как следствие, трафика. Если сайт для вас не игрушка, а инструмент, то структуру сохраняют.
Сохраняем структуру url
На старой Joomla 1.5 структура url такова:
Сайт.ру/раздел/категория/материал
На новых движках:
Сайт.ру/категория/материал
Причём категорий может быть море:
Сайт.ру/категория/категория/категория/материал
✔ При миграции с нормальным компонентом старый раздел становится категорией верхнего уровня, далее в соответствии с иерархией идут категории нижнего уровня. При ручной миграции сайта сохраняют структуру URL по аналогии, при этом материал привязывается именно к нижней категории, как было на старом движке. По сути, глобально изменяется только одно – раздел заменяет категория верхнего уровня. Следите за этим.
Изменяем ID материала
💕 И при ручной, и при программной миграции генерируется новый ID материалов, поэтому адрес страницы изменяется.
/disain-interjera/samodelki/357-myshelovka-iz-plastikovoy-butylki.html
Выше выделен ID на Joomla 1.5 – он автоматом изменится на новом движке, что есть нехорошо. Изменить ID материала на Joomla легко, но делать это надо на локальном компьютере – нельзя переносить сайт на хостинг и там править ID, так как сайт переиндексируется по новым урлам и начнутся проблемы!
Заходите на локалке в phpMyAdmin:
http://localhost/Tools/phpMyAdmin/
✔ Открывайте свою БД и ищите строку с окончанием _content. У меня это h19se_content. Открываете таблицу, ищите графу ID и изменяете ID материалов вручную. Не пугайтесь большого количества страниц, на правку одной строки (материала) потребуется 5 секунд. Перед этим хорошо выгрузить урлы старого сайта и сохранить их в таблице с указанием названия страниц. Я изменил 350 ID за вечер, после чего урлы на новом движке стали полностью идентичны адресам страниц старого сайта.