Как сделать 301 редирект со старых постов на новые ? HELP

(Ответов: 5, Просмотров: 361)
  1. Гугуру Аватар для Inforation
    • Регистрация: 10.03.2013
    • Сообщений: 887
    • Репутация: 166
    • Webmoney BL: ?
    Всем доброго дня суток...
    Вообщем было так - _site.ru/post-name.html
    Надо перенаправить на _site.ru/имя_категории/gallery/post-name


    Прошу помощи
    • 0
  2. Гуру Аватар для Fartuna
    • Регистрация: 07.01.2015
    • Сообщений: 932
    • Репутация: 764
    Inforation,Если url немного, можно попробовать так, построчно

    Код HTML:
    Redirect 301 /post-name.html https://site.ru/имя_категории/gallery/post-name
    P.s Протокол нового url ставить, какой на сайте с s или без.

    Если стоит wordpress, можно попробовать плагином https://ru.wordpress.org/plugins/redirection/ с регулярками помудрить. (желательно на локалке попробовать или сделать бекап)
    • 1

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

    Inforation(22.01.2019),
  3. Гугуру Аватар для Inforation
    • Регистрация: 10.03.2013
    • Сообщений: 887
    • Репутация: 166
    • Webmoney BL: ?
    Fartuna, Та вот и пришлось плагином обрабатывать, там более 30 000 постов... все руками не добавить (

    Вбил самые посещаемые, остальные хз, мб ждать пока сам гугл переиндексирует...
    • 0
  4. Гугуру Аватар для Inforation
    • Регистрация: 10.03.2013
    • Сообщений: 887
    • Репутация: 166
    • Webmoney BL: ?
    Народ помогите) Реально боль, Гоша злится
    • 0
  5. Дипломник Аватар для nikolay1519
    • Регистрация: 11.08.2013
    • Сообщений: 104
    • Репутация: 19
    • Webmoney BL: ?
    Идея такая:

    PHP код:
    add_action'init''action_function_name_11' );
    function 
    action_function_name_11() {
        
    // Чекаем, если $_SERVER['REQUEST_URI'] соответствует регулярке ^/[a-z0-9_-]\.html$ то получаем запись с этим слагом
        // Если запись есть, перенаправляем на get_the_permalink($post->ID)

    Сорри, времени нет написать и проверить функционал. Логика думаю понятна?
    - При событии init, чекаем урл.
    - Если это старый урл, Берем slug из старого урла, получаем по нему пост.
    - Если пост есть и post_type = 'post' и все нужные условия, редиректим на новый урл
    • 0
  6. Студент Аватар для wp01
    • Регистрация: 25.01.2019
    • Сообщений: 83
    • Репутация: 1
    Если не помогли прошлые варианты
    1. Поставьте плагин "List all URLs" или любой другой, который выводит список всех URL в админке
    2. Через Excel создайте три столбца - первый "Redirect 301 ", второй - "урл старый без https://", третий - "новый урл с категориями, gallery и без .html". В помощь текстовый блокнот и функция замены
    3. Склейте все столбы, что бы получилось конструкция вида Redirect 301 /post-name.html https://site.ru/имя_категории/gallery/post-name

    Совет несколько трудозатратный, но если ничего из того, что посоветовали ранее не помогло - можно попробовать
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Варианты вывода постов как сделать
Общие вопросы поисковой оптимизации 6 13.01.2016 21:01
Редирект со старых категорий
Вопросы от новичков 3 17.03.2012 01:39
Редирект со старых категорий
Блоги 3 17.03.2012 01:39
Продвижение старых постов
Дайджест блогосферы 2 16.05.2011 21:41

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

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

Информеры