Структура URL на Денвере и хостинге

В миграции 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, так как сайт переиндексируется по новым урлам и начнутся проблемы!

Изменяем ID на локальном сайте

Заходите на локалке в phpMyAdmin:

http://localhost/Tools/phpMyAdmin/

✔ Открывайте свою БД и ищите строку с окончанием _content. У меня это h19se_content. Открываете таблицу, ищите графу ID и изменяете ID материалов вручную. Не пугайтесь большого количества страниц, на правку одной строки (материала) потребуется 5 секунд. Перед этим хорошо выгрузить урлы старого сайта и сохранить их в таблице с указанием названия страниц. Я изменил 350 ID за вечер, после чего урлы на новом движке стали полностью идентичны адресам страниц старого сайта.