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

Ссылка скопирована
1 ответ

Здравствуйте, подскажите пожалуйста как решить проблему с индексацией

Сайт на 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]
Это если на вашем хостинге Апач.

  • Огромное спасибо, попробую, надеюсь поможет
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Frontend-редакция Ответ

Если URL каталога изменился с /zapchasty/product/... на /spareparts/product/..., нужно сделать 301-редирект со старой структуры на новую. Просто ждать, пока Google сам забудет старые адреса, не стоит: какое-то время будут 404, потеря веса и ошибки в Search Console.

Для Apache в .htaccess можно добавить правило до WordPress-блока:

RewriteEngine On
RewriteRule ^zapchasty/product/(.*)$ /spareparts/product/$1 [R=301,L]

RewriteEngine On RewriteRule ^zapchasty/product/(.*)$ /spareparts/product/$1 [R=301,L]

Для nginx:

rewrite ^/zapchasty/product/(.*)$ /spareparts/product/$1 permanent;

rewrite ^/zapchasty/product/(.*)$ /spareparts/product/$1 permanent;

Если менялась не только папка, но и сами slug товаров, нужен список соответствий старый URL → новый URL. Тогда лучше использовать плагин Redirection или импортировать CSV-таблицу редиректов. Массовое правило подходит только когда хвост URL сохраняется одинаковым.

После настройки проверьте несколько адресов:

curl -I https://site.ru/zapchasty/product/example/

curl -I https://site.ru/zapchasty/product/example/

Должен быть 301 и заголовок Location на новый адрес. Затем обновите sitemap, убедитесь, что в нём только новые URL, и отправьте старые ошибки на проверку в Google Search Console/Яндекс.Вебмастер. Редирект лучше держать долго, особенно если на старые страницы были внешние ссылки.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно