Поддержка Проблемы и решения Массовый редирект

  • Добрый день!

    Имеется имеется раздела сайта, который переехал и стал самостоятельным сайтом. Пытаюсь настроить редирект постов старого сайта на новый, но постоянные ссылки имею вот такого формата site.com/%postname%/, т.е. никаким образом, кроме как вручную для каждого поста, настроить редирект не удается, т.к. у URL постов нет никаких постоянных значений — каждый уникален.

    Пользуюсь плагином Redirection

    Подскажите, есть ли какая-то возможность настроить массовый редирект? Ибо постов около 1500, вручную не одолею.

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Пользуюсь плагином Redirection

    Предлагаю выкинуть эту.. и освоить правильные инструменты (хтацесс например)

    Пытаюсь настроить редирект постов старого сайта на новый, но постоянные ссылки имею вот такого формата site.com/%postname%/,

    Чем отличается «старый» от «нового»? Только подробно плз.

    вообще ничем, кроме доменов, например,

    старый http://video-kak.com/video-kak-prigotovit-spagetti-karbonara/

    новый: http://www.video-cook.ru/video-kak-prigotovit-spagetti-karbonara/

    вообще ничем, кроме доменов, например,

    Ну тогда вообще проще простого.
    Выкиньте этот плагин и пропишите всего одно строку в хтацессе

    RewriteRule (.*) http://www.video-cook.ru/$1 [R=301,L]:
    (но лучше без ввв 😉 )

    В гуглояндексах полно ответов на вопрос типа «как паравильно сменить домен», «301 редирект при мене домена» и тп..

    просто не весь домен переехал, переехал только раздел кулинарии, а все остальные посты остались на старом домене…

    я думал так сделать, как вы написали, но такой вариант не подойдет к сожалению

    Попробуйте так, добавив в functions.php активной темы, только 1 заменить на ID кулинарной рубрики.

    function cookery_redirect() {
       if( is_single() && in_category(1) ) {
            global $post;
            $newurl = 'http://www.video-cook.ru/';
            $newurl .= $post->post_name;
            $newurl .= '/';
            wp_redirect( $newurl, 301 );
        }
    }
    add_action( 'template_redirect', 'cookery_redirect' );

    А плагин отключить.

    Хотя, это я не подумал. Записей-то и раздела кулинарии больше нет ) Верно?
    Если остались — будет редиректить.

    Супер! Получилось! Переход идет на уровне поста, т.е. когда я захожу в категорию, подкатегорию я нахожусь еще на старом сайте, а когда нажимаю на пост — перехожу на новый. Для поискового трафика самое оно 🙂

    Спасибо вам огромное!

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

    Можно и для категории сделать рейс 301 на новую планету, если надо 🙂
    http://codex.wordpress.org/Function_Reference/wp_redirect

    Да я думаю, пускай пока так будет, когда посетители уйдут на новый сайт окончательно, я планирую на старом сайте все посты убрать — чтобы не дублировалось. Такие вот мысли 🙂

    А код буду изучать для развития, спасибо большое! 🙂

    когда посетители уйдут на новый сайт окончательно

    Да, правильное решение. И поисковики должны привыкнуть к новому положению вещей.

    да, поисковики расстраивать — себе дороже 🙂

    Возник вопрос-дополнение по wp_redirect().
    Во всех примерах функция используется с конструкцией exit.
    <?php wp_redirect( 'http://www.example.com', 301 ); exit; ?>
    Я exit не использовал. Насколько обязательно ее использовать в данном случае? Просветите пожалуйста, уважаемые знатоки 🙂

    По некотором размышлении пришел к выводу, что правильнее использовать )

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Да, если после перенаправления больше ничего делать не нужно (как в данном случае), стоит добавить exit.

    Обсуждения в багтрекере:
    http://core.trac.wordpress.org/ticket/15518
    http://core.trac.wordpress.org/ticket/20060

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «Массовый редирект» закрыта для новых ответов.