Почему мой старый URL все еще активен?

У меня есть сайт электронной коммерции с сотнями продуктов. Недавно я изменил постоянные ссылки и их базу. Используя плагин Wordpress и Woocommerce, я удалил /shop/%product-category% из URL-адреса. Однако мои старые URL-адреса все еще активны. Посмотрите следующий пример:

greenenvysupply.com/shop/accessories/gro1-1-3mp-usb-led-digital-microscope-10x-300x/ greenenvysupply.com/gro1-1-3mp-usb-led-digital-microscope-10x-300x/

Первый URL устарел. Почему это все еще работает? Разве я не должен получить страницу 404?

Вот код из источника страницы, связанный с каноническим:

href="https://www.greenenvysupply.com/shop/feed/" />
<link rel='canonical' href='https://www.greenenvysupply.com/gro1-1-3mp-usb-led-digital-microscope-10x-300x/' />

<meta name="description" content="The 1.3 Mega-Pixel USB LED Digital Microscope is great for identifying pests and diseases on your plants so you can accurately resolve the problem."/>
<link rel="canonical" href="https://www.greenenvysupply.com/gro1-1-3mp-usb-led-digital-microscope-10x-300x/" />

Поскольку старый URL-адрес все еще активен и не перенаправляется, весь мой веб-сайт рассматривается как имеющий дублированный контент. Поисковые роботы Google не перенаправляются. Почему URL-адрес с /shop/ все еще активен, хотя я изменил постоянную ссылку? Должно быть легкое решение для этого.




Ответы (1)


Канонический URL-адрес или другие метаданные в вашем ответе — это не то же самое, что перенаправление. Чтобы выполнить перенаправление, ваш сервер должен вернуть код состояния 3xx (обычно это 301 или 308 для постоянного перемещения, как у вас здесь, или 302 или 307 для временного перемещения) и вернуть заголовок «Местоположение», указывающий URL-адрес, на который нужно перенаправить. То, как именно вы заставляете свой сервер делать это, зависит от типа сервера или серверной среды, которую вы используете для своего веб-сайта.

Как выполнить перенаправление, в некоторой степени не зависит от вашего неявного вопроса SEO о том, следует ли предпочесть перенаправление каноническому URL-адресу, на который, боюсь, я не могу ответить. Однако независимо от подхода, который вы используете, вы должны знать, что поисковые системы — Google или другие — могут не сразу отражать изменения с вашего веб-сайта, поэтому не паникуйте, если вы не видите, что желаемая поисковая система изменила вас. искали сразу после изменения вашего веб-сайта.

person Michael Aaron Safyan    schedule 05.09.2015
comment
Я читал, что перенаправление в header.php будет работать. Есть ли правда об этом или другая информация, которой вы можете поделиться? Мой веб-сайт размещен на Bluehost, и у меня есть доступ к cpanel, я использую Woocommerce и пользовательскую тему Wordpress. Спасибо! - person dnat; 05.09.2015
comment
@dnat да, это правильно. Вы можете использовать функцию http_response_code() для установки кода ответа и функцию header() для установки произвольных заголовков, включая заголовок Location. Однако вы можете обнаружить, что метод HttpResponse::redirect() является более простым и понятным способом выполнения обеих этих операций в одном вызове функции. См.: http://php.net/manual/en/httpresponse.redirect.php. - person Michael Aaron Safyan; 05.09.2015
comment
Я должен спросить, почему мои старые постоянные ссылки все еще активны? Каждая постоянная ссылка, которую я когда-либо использовал, активна, из-за чего Google видит дублированный контент. Разве они не должны автоматически перенаправлять или давать 404? Как удалить старые постоянные ссылки? - person dnat; 05.09.2015
comment
Я думаю, что термин «активный» здесь немного сбивает с толку ... вы спрашиваете, почему ваш сервер все еще отвечает на этот URL-адрес или почему Google все еще показывает эти URL-адреса в результатах поиска? Эти два немного отличаются. В первом случае это потому, что вам - как веб-мастеру / владельцу сайта / и т. д. - необходимо обновить свой сервер, чтобы он перенаправлял. Простое размещение тега ‹link rel=canonical› на вашей странице не означает, что сервер должен выполнить перенаправление. - person Michael Aaron Safyan; 05.09.2015
comment
Хорошо... почему мои постоянные ссылки не перенаправляются автоматически, когда я меняю их в wordpress? Почему я все еще могу вводить старый URL-адрес, и меня перенаправляют на страницу БЕЗ смены URL-адреса на новый. Я думал, Wordpress делает это автоматически. В противном случае вы говорите мне, что, поскольку я изменил базу категорий в URL-адресе, мне придется реализовать 301 на более чем 700 страницах продуктов. - person dnat; 05.09.2015
comment
@dnat вам придется спросить у людей из WordPress (возможно, есть способ настроить его для перенаправления при изменении URL-адреса?) - person Michael Aaron Safyan; 05.09.2015