Перенос сайта с системы UCOZ на yii2

Мы провели внушительную работу по переносу проекта с UCOZa на фреймворк
Администрация
25.03.2017

Понравилась статья? Оставьте оценку:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(1 голос, в среднем: 5 из 5)

Основные этапы:

  1. Импорт контента с сайта на юкозе. Разбор контента.
  2. Подготовка базы для сайта, схема бд, админка импорт контента
  3. Разработка фронтенда проекта с сохранением структуры, функционала и HTML разметки
  4. Перенос проекта на сервер. Оптимизация проекта.

Этап 1.

Как оказалось наиболее сложный этап всего проекта. Выгрузка контента с юкоза произошла в какой-то не очень адекватной кашеобразной форме без всяких пояснений что и куда выгружено. Так как на старом сайте использовался модуль «флеш игры» — то никакой документации по выгрузке и разбору выгруженных данных вообще не было. Мы как шерлоки холмсы сверяли поля с действующим сайтом и создавали вменяемую для импорта структуру данных. И тем не менее некоторые поля не попали в выгрузку вообще, поэтому часть контента, например мета теги и рейтинги, и алиасы в ЧПУ адресах пришлось парсить с действующего сайта.

Этап 2.

В принципе после окончания первого этапа у нас уже была подготовлена более-менее вменяемая структура данных, поэтому разработка БД и структуры контента не отняла много сил и времени.

Далее по готовой схеме данных была разработана админка сайта, естественно для упрощения работы использовался готовый готовый каркас, который дорабатывался под наши требования.

Этап 3.

Оказался также весьма геморройным. Был осложнен тем что функционал модуля UCOZ скрыт внутри, и фактически приходилось разбирать HTML верстку, Анализировать страницы и уже затем «восстанавливать» функционал. К тому же было обнаружено что в некоторых HTML темплейтах хитрым образом подключаются куски контента, которые приходилось заново разбирать и заново импортить в базу. Структуру БД пришлось несколько переконфигурировать. Но ура-ура, фронтенд был отрефакторен, и функционал повторен на 100%.

Этап 4.

Осталось дело за малым — перенести проект на сервер (для этого был настроен nginx+php7-fpm), и уже исходя из этого проект был оптимизирован.

Итог

Контент проекта был перенесен на 100%, функционал проекта сохранен. URL адреса повторены на 100%. В дальнейшем планируется поддержка проекта, частичная доработка и обновление дизайна, а также некоторые нововведения.