2015-10-13 2 views
0

У нас возникла проблема, когда Google считает, что /product.html совпадает с /category/product.html. Они представляют собой одно и то же содержимое, но две отдельные страницы. Я могу вручнуюИспользование переадресации robots.txt или 301 для исправления ошибок дублирования

Redirect 301 /product1.html https://www.website.com/category/product1.html 
Redirect 301 /product2.html https://www.website.com/category/product2.html 

но у нас есть тысячи продуктов, и новые будут добавляться постоянно.

Я хочу знать, если есть способ сделать что-то вроде этого:

Disallow: /*.html$ 
Allow: /*/*.html$ 

В файле robots.txt? Или если есть способ сделать это в файле .htaccess, используя 301 переадресацию. Или, если в Opencart есть способ автоматически загрузить файл /product.html в /category/product.html (проблема заключается в том, что каждый продукт находится в нескольких категориях).

Благодаря

ответ

0

Вот две вещи, которые вы можете сделать:

В вашем .htaccess

Родовое 301 Перенаправление

RewriteEngine On 

RewriteRule ^category/(.+)$ $1 [L,R=301] 

В шаблоне HTML

Добавьте в шаблон своего продукта следующее. Это поможет Google узнать, какая из них является правильной страницей при наличии дублированного контента.

<link rel="canonical" href="https://www.website.com/product1.html" /> 

Google не рекомендует использовать robots.txt для этой цели:

Хотя мы рекомендуем вам использовать любой из этих методов, ни один из них не требуется. Если вы не укажете канонический URL-адрес, мы определим, что мы считаем лучшей версией или URL-адресом.

Не используйте файл robots.txt для целей канонизации. Не используйте инструмент удаления URL-адресов для канонизации: он удаляет все версии URL-адреса из поиска. Не указывайте разные URL-адреса как канонические для одной и той же страницы (например, один URL-адрес в карте сайта и другой URL-адрес для той же страницы с использованием rel = "canonical").

https://support.google.com/webmasters/answer/139066?hl=en#2


По вашему комментарию, это правило для перенаправления example.com/ * .html на example.com/category/ * .html

RewriteEngine On 

RewriteRule ^([^/]+.html)$ category/$1 [L,R=301] 
+0

Спасибо за ответить. Canonicals в значительной степени не идут на нас, мы попытались настроить их, но не можем заставить их работать правильно. Opencart создает несколько вариантов одной и той же страницы (например, если вы набираете example.com/randomletters/product.html, это не будет 404, но она создаст эту страницу на этом URL-адресе), но сохранит канонический тег для всех из них; делая канонический тег бесполезным. Итак, что именно делает 301 переадресация? Переадресовывает ли она категорию/*? Мы пытаемся перенаправить example.com/*.html на example.com/category/*.html –

+0

Я понял обратное. Проверьте мое редактирование, я добавил редиректор в соответствии с вашими потребностями –

+0

Спасибо за редактирование. Что добавляет страницу product.html в категорию/правильно? Но все эти страницы product.html находятся в разных категориях. Я не думаю, что смогу сделать это с 301, если я не буду делать каждый продукт отдельно. –

Смежные вопросы