Переезд сайта с Joomla на processwire

(Ответов: 4, Просмотров: 692)
  1. Студент
    • Регистрация: 06.04.2016
    • Сообщений: 34
    • Репутация: 3
    Имеется сайт на joomla c 15К+ количеством новостей. Сайт жутко тормозит, таблицы с ошибками, руководство приняло решение не лечить а менять CMS. Переезжаем с Joomla на processwire с новым дизайном и космической скоростью открытия всех страниц. Домен также перезжает, что чуть упрощает задачу.

    Задача - перенести(экспортировать) все новости на новую CMS и сделать 301 редиректы на новые урлы нового домена. Директива host в robots.txt также будет меняться на новый домен.

    При экспорте существуют две проблемы - совершенно разная структура таблиц mysql и разная конструкция URL. На старом домене URL: http://site.ru/index.php/novost.html и http://site.ru/index.php/IDnovost.html (ID - иногда присваивается какой то 4 значный номер, хз что это) . На новом домене просто URL: http://site2.ru/novost.html.

    По переносу компонентов БД MYSQL никто нигде пока полезного не подсказал, говорят крайне сложно.

    Поэтому у меня идея - заказать какой то парсер-паук на PHP который пробежится по урлам из сайтмапа и скопирует определенные компоненты страницы на новые адреса + скачает на хост картинку каждой новости и зальет на новый сайт. Вопрос к знатокам, какое примерно ТЗ нужно составить для фрилансера?

    По 301 редиректам - ума не приложу пока, логику их создания из за того что на старом сайте 2 вида урлов. Не пойму какой макрос нужен чтобы в ексель прописать и перенести все. Как вариант чтобы PHP паук копировал старый и новый урл и записывал куда то в таблицу.

    Как считаете что из перечисленного не бред?
    Последний раз редактировалось fortunatocat; 30.01.2018 в 17:04.
    • 0
  2. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 821
    • Репутация: 299
    1. Собрать и сделать перенаправление старых на новые из сайтмапа через php (не через htaccess) - решаемо и вполне допустимо.
    2. БД, если поля вообще хоть как-то сопоставимы (то есть, содержимое старого может быть помещено - по содержимому - в новые) - переносится ручками.
    3. смена адресов в БД может осуществляеться как через скрипт замены, так и вручную.

    -> Вручную как-то обрабатывалось/переносилось 27К+ (около 29К) - ничего, за две недели где-то, без напряга. Зато точно, качественно, гарантировано.

    Конечно, через парсер+ можно многое сделать - если что-то поддается автоматизации. Для фрилансера нужно суметь четко обрисовать ситуацию и результат - если он поймет до конца, то сможет предложить/предположить возможное решение.
    • 1

    Спасибо сказали:

    fortunatocat(30.01.2018),
  3. Студент
    • Регистрация: 06.04.2016
    • Сообщений: 34
    • Репутация: 3
    Цитата Сообщение от Coder Посмотреть сообщение
    1. Собрать и сделать перенаправление старых на новые из сайтмапа через php (не через htaccess) - решаемо и вполне допустимо.
    Благодарю! А по первому пункту можно чуть подробней, как без htaccess это сделать?
    • 0
  4. Quae res omnia Аватар для Coder
    • Регистрация: 29.01.2015
    • Сообщений: 821
    • Репутация: 299
    )Пожалуйста

    По сути - пепрегоняется содержимое сайтмапа в список - например, таким скриптом
    Карта сайта из xml в виде гиперссылок через Simplexml и SAX _http://coderhs.com/archive/sitemapxml-to-html
    - немного подредактировать, чтоб убрать гиперссылки.
    2. загоняете в массив - например, через стандартную функцию file - поскольку список будет построчный, то и массив получиться корректный
    3. Создаете списокв с новыми адресами, где они построчно соответствуют списку со старыми и загоняете в массив.
    4. Помещаете в единую точку входа старого сайта скрипт php, где проверяется условие по запрошенному адресу ($_SERVER['REQUEST_URI']) на соответствие наличию в массиве старого списка, и вывод перенаправления на новый - ключом будет старый (запрошенный адрес), а значением - соответсвующий элемент нового списка, и перенаправление через
    PHP код:
    <?php
    header
    ("HTTP/1.1 301 Moved Permanently");
    header("Location: http://newaddress.com");
    exit();
    ?>
    Примерно такая логика. Конечно, при практическом подходе может найтись и что более удобоваримое.
    • 1

    Спасибо сказали:

    fortunatocat(31.01.2018),
  5. Студент
    • Регистрация: 06.04.2016
    • Сообщений: 34
    • Репутация: 3
    Coder, Благодарю, на самом деле изящно. Буду реализовывать, вопросы еще задам. А кто что скажет насчет моей идеи создания парсера?
    Цитата Сообщение от fortunatocat Посмотреть сообщение
    Поэтому у меня идея - заказать какой то парсер-паук на PHP который пробежится по урлам из сайтмапа и скопирует определенные компоненты страницы на новые адреса + скачает на хост картинку каждой новости и зальет на новый сайт. Вопрос к знатокам, какое примерно ТЗ нужно составить для фрилансера?
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Переезд на новый домен + изменение сайта
Общие вопросы поисковой оптимизации 11 30.03.2016 13:15
Переезд с joomla на wordpress
WordPress 4 04.01.2015 17:14
Переезд с Wordpress - DLE или Joomla?
CMS 9 31.05.2013 00:04
Переезд с Wordpress - DLE или Joomla?
Вопросы от новичков 9 31.05.2013 00:04
требуется специалист по joomla 1.5.26 переезд дол 2.5
Joomla 2 19.01.2013 21:29

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры