Массовая замена SEO URL малой кровью

Тема в разделе "Общие вопросы", создана пользователем iron-zorin, 2 ноя 2022.

  1. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Сайт на Ocstore 3.0.2
    3000 товаров
    Пути к товарам следующего вида
    cat1/cat2/cat3/очень-длинное-название_товара_на-русском-язblке.html

    Задача: изменить пути на cat1/cat2/cat3/model

    Проще всего прописать в htaccess 301 редиректы

    Но может есть более изящное решение?
    -----------------------------------------------

    Отвечаю сам себе

    В htaccess не получилось - веб-сервер такой большой файл не проглотил
    Вначале хотел в index.php прописать, но понял, что он будет каждый раз этот огромный файл читать.
    Подумал - и прописал редиректы в контроллер страницы 404.
    Результат - Яндекс никак не отреагировал на эту операцию
     
    Последнее редактирование: 29 дек 2022
  2. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    753
    Симпатии:
    101
    А сайт-то какой? И какая у него посещаемость и продвижение (ссылки и прочее)?
     
  3. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Не очень большая
    Примерно 10 продаж в день
    3 года
    ИКС - 30
     
  4. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    753
    Симпатии:
    101
  5. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Модуль мне не нужен, добавить в контроллер хедера
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".$new_url);

    я и сам могу.

    Меня интересует вопрос где и как это сделать правильнее.
     
  6. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    753
    Симпатии:
    101
    В таком случае открываете таблицу с урлами, сохраняете урлы в каком-то еще месте. Затем добавляете скрипт, который будет проверять текущие урлы пользователей и смотреть в сохраненных урлах, а затем из сохраненных урлов искать в текущей таблице текущие значения исходя из кодов. И перенаправлять запрос при необходимости.
     
  7. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Это я понимаю.
    Меня интересует где правильнее

    Приходят в голову три варианта
    1. htaccess
    2. Подменой http-заголовка (где лучше - в контроллере или прямо в шаблоне?)
    3. В контроллере Seo Pro
    Может ещё как-то иначе
     
  8. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    753
    Симпатии:
    101
    А в чем тогда вопрос? Делают обычно под задачу. А у вас расплывчатая задача.
     
  9. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Задача - выбрать из этих способов. Чтобы лишних переходов не было, чтобы Яндексовский робот ругаться не начал
    Может вообще в index.php?
     
  10. devimirochnik

    devimirochnik Продвинутый пользователь

    Сообщения:
    753
    Симпатии:
    101
    Перефразирую. В некоем помещении пыльно. Достаточно будет использовать веник, обычный пылесос или нужен промышленный пылесос?
     
  11. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Так как стоимость одинаковая - лучше промышленный
     
  12. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    Это проблема продвиженцев нуливых готов, когда длинные адреса с категориями и полным названием могли влиять на продвижение. Сейчас такое не работает. Давно все прекрасно двигается с адресами без чпу. В 99% случаев достаточно просто название товара в виде чпу. БЕЗ категорий.

    Рекомендую убрать категории и оставить только очень-длинное-название_товара_на-русском-язblке.html
    Это самое простое что можно сделать и не потерять индексацию и позиции.
     
  13. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    Только заметил, что вроде как чпу у вас на кириллице. Тогда

    1. Приводим вид адреса в "без категорий". Тут должен сработать редирект на товар.
    2. Скачиваем все чпу с кирилицей в файл. Делаем тринслит и обратно заливаем.
    3. Из двух списков кирилицы и транслита формируем список редиректор с вышеуказанным модулем.
    4. Радуемся.

    А если спросить у автора про умный редирект, то возможно добавит авто переадресацию с кириллицы на транслит.
     
  14. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Владельца сайта самого уже достали эти длинные url и он хочет заменить их на на короткие product_id или model
    1.2.3.4 - я это сам могу сделать, без модуля. Но я хочу понять как методологически правильно это сделать.
     
  15. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    Делайте как удобно. Я бы просто запустил sql запрос с обновлением таблицы oc_seo_url . Данные для обновления брать из oc_product
     
  16. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Не саму замену (делов на 5 минут), а редиректы
     
  17. Blast

    Blast Продвинутый пользователь

    Сообщения:
    212
    Симпатии:
    74
    на 3к товаров прописывать в .htaccess накладно, хотя если каким-то скриптом сформировать полностью строки редиректов, то будет норм.
    А так я бы вклинился в index.php. Имея сопоставления по старым и новым url просто проверять текущий запрошенный url. Если это старый, то искать сопоставление и 301 редиректом отправлять на новый
     
  18. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Зачем такие сложности? Эксель и Notepad++
    Вопрос только, нет ли каких ограничений по размеру файла?

    Чем это лучше, чем в htaccess?
     
  19. Blast

    Blast Продвинутый пользователь

    Сообщения:
    212
    Симпатии:
    74
    все зависит от того в каком формате у вас будут данные. справитесь экселем - гуд, флаг вам в руки. 3 тыс редиректов htaccess вполне нормально должен потянуть.
    ничем, редиректы обычно в htaccess. поэтому я про него и написал сначала
     
  20. iron-zorin

    iron-zorin Новичок

    Сообщения:
    25
    Симпатии:
    0
    Где-то попадалось, что лучше их средствами движка делать, мол индексация не так проседает