Как настроить перенаправление редирект?
Здравствуйте, подскажите пожалуйста как решить проблему с индексацией
Сайт на WordPress'e, изменил URL каталога сайта, индексация успешно прошла в яндексе и нет никаких проблем (все выдает в поиске без ошибок).
Google отказывается индексировать сайт (в поиске не отображает, если и отображает то по старой ULR с ошибкой 404).
Изменил с "zapchasty" на "spareparts"
С "https://сайт.ru/zapchasty/product/запаснаячасть/" на "https://сайт.ru/spareparts/product/запаснаячасть/"
Дополнительно:
Ответы:
Решение на php, в зависимости от структуры ссылок, возможно нужно доработать
if ( ! function_exists( 'template_redirect_callback' ) ) { /** * Function for 'template_redirect` action-hook. * * @return void * * @since 1.0.0 */ function template_redirect_callback() { global $wp; if ( str_contains( $wp->request, 'zapchasty/' ) ) { $new_url = str_replace( 'zapchasty/', '/spareparts/', $wp->request ); wp_safe_redirect( home_url( trailingslashit( $new_url ) ), 301 ); } } } add_action( 'template_redirect', 'template_redirect_callback' ); |
if ( ! function_exists( 'template_redirect_callback' ) ) { /** * Function for 'template_redirect` action-hook. * * @return void * * @since 1.0.0 */ function template_redirect_callback() { global $wp; if ( str_contains( $wp->request, 'zapchasty/' ) ) { $new_url = str_replace( 'zapchasty/', '/spareparts/', $wp->request ); wp_safe_redirect( home_url( trailingslashit( $new_url ) ), 301 ); } } } add_action( 'template_redirect', 'template_redirect_callback' );
Для хорошей индексации используйте нормальную карту сайта в xml. Решить вашу проблему можете с помощью двух вариантов:
1. Плагин. например, Rank Math. Он генерирует отличную карту сайта. В разделе Redirect этого плагина можете настроить перенаправление на целые каталоги (это ваш случай).
2. В файле .htaccess пропишите:
RewriteRule ^(.*)/zapchasty/(.*)$ $1/spareparts/$2 [R=301,L]
Это если на вашем хостинге Апач.
- Огромное спасибо, попробую, надеюсь поможет
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Если URL каталога изменился с
/zapchasty/product/...на/spareparts/product/..., нужно сделать 301-редирект со старой структуры на новую. Просто ждать, пока Google сам забудет старые адреса, не стоит: какое-то время будут 404, потеря веса и ошибки в Search Console.Для Apache в
.htaccessможно добавить правило до WordPress-блока:RewriteEngine On RewriteRule ^zapchasty/product/(.*)$ /spareparts/product/$1 [R=301,L]
Для nginx:
rewrite ^/zapchasty/product/(.*)$ /spareparts/product/$1 permanent;
Если менялась не только папка, но и сами slug товаров, нужен список соответствий старый URL → новый URL. Тогда лучше использовать плагин Redirection или импортировать CSV-таблицу редиректов. Массовое правило подходит только когда хвост URL сохраняется одинаковым.
После настройки проверьте несколько адресов:
curl -I https://site.ru/zapchasty/product/example/
Должен быть
301и заголовокLocationна новый адрес. Затем обновите sitemap, убедитесь, что в нём только новые URL, и отправьте старые ошибки на проверку в Google Search Console/Яндекс.Вебмастер. Редирект лучше держать долго, особенно если на старые страницы были внешние ссылки.