Смена структуры URL на сайте без потери трафика из поиска (SEO)

Смена структуры URL на сайте без потери трафика из поиска (SEO)

Попался сайт, на котором были ужасные URL с русскими символами что негативно сказывалось как на удобстве использования сайта, так и на SEO.

Исходная ситуация

  • Сайт типа Интернет-магазин запчастей на базе WordPress & WooCommerce
  • Все ссылки без конвертации в латиницу
  • Ужасно смотрится когда просто передаешь ссылку по почте или через сообщения
  • Плохо влияет на SEO

Задача

Конвертировать все ссылки в латиницу без потери SEO трафика.

Решения:

  • Поставили плагин Cyr3Lat, для транслитирации — ссылки конвертировались в латиницу
  • Далее настроили постоянные ссылки (ЧПУ) так чтобы префиксы были тоже на латинице

Сохранение трафика из поиска

Вот тут нас ждет риск потери трафика из поисковых систем

Все было бы хорошо. Но изменение достаточно резкое, и теперь все ссылки из поиска — начали выдавать 404. А это означало что скоро сайт потеряет весь трафик, упадут продажи и можно на долго вылететь из поиска.

Были адреса типа: site.domain/запчасти-для-колясок/ремень-123

Нужно сделать переадресацию так: site.domain/catalog/remen-123

Готовыми плагинами решить проблему не удалось.

Пришлось писать код:

<?php
/*
* Plugin Name: @Redirect Ru > En
* Description: Переадресация страниц старых с русскими ссылками на английские. Временное решение. Пока идет переиндексация.
* Author: uptimizt
* Author URI: https://github.com/uptimizt
* Version: 0.1
*/

add_action('wp', function(){

    global $wp;

    $prefix = 'запчасти-для-колясок/';

    if(empty($wp->request)){
        return;
    }

    $request = urldecode($wp->request);

    if(stripos($request, $prefix) === false){
        return;
    }

    $request = str_replace($prefix, '', $request);

    $request = sanitize_title($request);

    $url = 'https://site.domain/catalog/' . $request . '/';
    wp_redirect($url, 301);
    exit;

});

Описание сниппета:

$prefix — тут задаем префикс, который надо проверять на совпадение

$request — смотрим что запросили, и конвертируем в латиницу

$url — направляем на новый адрес с учетом латинского варианта названия

Источник: https://wpcraft.ru/2019/smena-struktury-url-na-sajte-bez-poteri-trafika-iz-poiska-seo/

Добавить комментарий