Правильный переход на SEO_PRO со стандартного ЧПУ-формирователя

Просмотров: 34475Комментарии: 17

Особенности адресации

Часто возникает необходимость перехода на seo_pro на ранее запущенном сайте. При этом не желательно менять адресацию, во избежании просадок, как минимум на несколько месяцев, а порой сайт и вовсе не восстанавливается полностью.

В стандартном контроллере используется адресация без вложенностей и лишних слешей.

Канонические адреса имеют вид:

site.com/product
site.com/last_category

После установки seo_pro же важно активировать в настройках "Товары без категории".

Однако для категорий такой настройки нет - они имеют вложенность, плюс в конце добавляется слеш.

Для исправления данной ситуации потребуется правка кода seo_pro

Убираем слеш

Находим в коде

$seo_url .= '/';

и закомментируем строку

//$seo_url .= '/';

почему комментируем, а не удаляем? - есть вероятность попытки привязки модов

Убираем вложенность

case 'path':
    $categories = explode('_', $value);
    foreach ($categories as $category) {
        $queries[] = 'category_id=' . $category;
    }
    unset($data[$key]);
    break;

приводим к виду

case 'path':
    $categories = explode('_', $value);
    //foreach ($categories as $category) {
        $queries[] = 'category_id=' . end($categories);
    //}
    unset($data[$key]);
    break;

Сохраняем хлебные крошки

} elseif (isset($this->request->get['path'])) {
    $this->request->get['route'] = 'product/category';
}

добавляем просчет пути

} elseif (isset($this->request->get['path'])) {
    $this->request->get['route'] = 'product/category';                
        $category = explode('_', $this->request->get['path']);
        $category_id = (int)end($category);
        $path = $this->getPathByCategory($category_id);
        if ($path) $this->request->get['path'] = $path;                
}

SEO_PRO OPENACRT 3.0

Порт SEO_Pro от 2.3 на скорую руку (тщательно проверяйте работу, хоть пока жалоб и не было), с включением вышеописанных изменений для бесшовного перехода со стандартного seo_url.

Скачать установочный файл

Установка:

  • Загрузить файл через установщик дополнений в админке (никаких загрузок через ФТП!)
  • нажать:
  • Обновить модификаторы (именно после выполнения пункта выше)

Особенности:

  • Рекомендуется для магазинов без Мультиязычности т.к. не пишет в сессию язык (не переключает), хотя сделать не долго если есть желающие.
  • Контроллер после установки распологается по адресу - controller/startup/seo_pro.php
  • В связи с пунктом выше, в модификаторах сторонних дополнений (вносящих изменения в seopro) может потребоваться изменять привязку <file path="***"> на controller/startup/seo_pro.php

Комментариев: 17

Оставьте комментарий!
  • Без регистрации
  • Вход/Регистрация

Комментарий будет опубликован после проверки

Вы можете войти под своим логином или зарегистрироваться на сайте.

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

  • 1bdv00707-05-2019 20:09Учитываю...

    Это я так понимаю на 2.* версию, а под 3-ю?

    • 2Аноним06-11-2019 19:41Учитываю...

      bdv007, там так же почти

  • 3Дмитрий28-10-2019 14:38Учитываю...

    ocstore 2.3

    Была ошибка Bad Request - длинные имена, сейчас норм, разжевано и по шагам.

    Искал на другом форуме - https://****/short-seo-url, непонятно было

    Ваш способ помог.

    Спасибо

  • 4Alex20-01-2020 18:39Учитываю...

    А как сделать, чтобы в ссылке остался путь с подкатегориями?

    Сейчас: site.ru/product

    Хотелось бы: site.ru/category/sub-category/product

    Хлебные крошки на сайте работают нормально. Путь сохраняется к товару по категориям.

  • 5Аноним24-04-2020 04:09Учитываю...

    Спасибо что SEO_PRO OPENACRT 3.0 бесплатно

  • 6Afs27-04-2020 03:59Учитываю...

    Здравствуйте!

    Установил шаблон, там есть блог, работает по ссылке сайт.ру/блог , дубли товаров есть.

    Установил СеоПро дубли ушли, но и сайт.ру/блог перестал отображаться нормально, все статьи в нём перестали ЧПУ ссылки отображать. Как можно это исправить? Т.е. нужно только дубли страниц убрать, остальные услуги СеоПро не нужны.

    • 7master27-04-2020 18:02Учитываю...

      Afs, нужна адаптация под блог

      • 8Afs27-04-2020 19:25Учитываю...

        master, Это нужно искать человека, который сможет адаптировать СеоПро под блог или блог под СеоПро?

      • 9Afs27-04-2020 21:02Учитываю...

        master, И можете ли вы помочь с этим?

        • 10master27-04-2020 21:12Учитываю...

          Afs, да, можно сделать

          • 11Afs27-04-2020 23:01Учитываю...

            master, что для этого нужно?

            • 12master27-04-2020 23:05Учитываю...

              Afs, пишите

              https://full-index.ru/#contact
  • 13Владимир13-12-2021 12:15Учитываю...

    Не генерирует в sitemap товары с категориями site.ru/category/sub-category/product

    В гугле посыпалось Ошибка переадресации

    В настройках стоит Включить ЧПУ - ДА

    ЧПУ товаров с категориями - ДА

    ЧПУ все равно получается site.ru/product

    Движок opencart pro 2.3.0.2.5

    Куда копать что бы было наоборот? каноникал site.ru/category/sub-category/product вместо site.ru/product и правильная карта сайта.

    • 14master13-12-2021 14:20Учитываю...

      Владимир, надо обращаться к специалисту, причин может быть множество

  • 15Alexander01-01-2022 23:11Учитываю...

    Подскажите, установил SEO_PRO OPENACRT 3.0, активировал нажатием на линк, удалил кэш, но почему-то вложенность подкатегорий не убралась. На сайте идет domain.com/category/sub-category-1/sub-category-2

    Нужно, чтобы, когда я нахожусь в sub-category-2, в строке браузера отображалось domain.com/sub-category-2, а хлебные крошки были прописаны с учетом полной вложенности категории и подкатегорий.

  • 16я09-02-2022 16:57Учитываю...

    круто заработало

  • 17Дмитрий12-07-2022 00:57Учитываю...

    Может вопрос тут неуместен, но все же задам.

    Вывод товаров всех категорий на одной странице через условие if (!$category_info && isset($this->request->get['path'])) может не самая лучшая затея (если условие соблюдено указываем значение для $category_info массивом), но зато самая простая.

    Но тут неувязка с сео про, к примеру для category_id=0 прописываю keyword - catalogue, и... Все работает наоборот.

    Т.е. с catalogue идет редирект на index.php?route=product/category&path=0, а не наоборот.

    Что может быть не учтено?