Дубли страниц заглавными буквами

I
На сайте с 22.10.2012
Offline
74
356

В яндекс вебмастере постоянно появляются дубли и меняют друг друга в индексе с вариациями написания строчными и заглавными буквами. например: site.ru/brand/Apple и site.ru/brand/apple

Оба адреса ведут на одну страницу естественно а яндекс их видит как разные и лепит дубли...

Как от этого можно массово изавится? на сайте проверил все внутренние ссылки указаны маленькими буквами, откуда он эти большими берет не понятно.

rel canonical битрикс не прописывает сам на себя, только если страница пагинации есть или еще какой-то параметр...

Vladimir SEO
На сайте с 19.10.2011
Offline
1076
#1

Редирект естественно

Продвижение коммерческих сайтов https://kulinenko.com Проверка позиций http://allpositions.ru/redirect/10965 Лучший хостинг http://www.ukraine.com.ua/?page=59418
I
На сайте с 22.10.2012
Offline
74
#2
xVOVAx:
Редирект естественно

Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова... возможно есть какие-то регулярки...

Vladimir SEO
На сайте с 19.10.2011
Offline
1076
#3
iSmel:
Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова... возможно есть какие-то регулярки...

Есть , мне программисты мои делают такое для старых сайтов. Редирект по регистру

богоносец
На сайте с 30.01.2007
Offline
693
#4

А завтра вылезет проблема с произвольными параметрами.

Этот форум отвечает 404 на смену регистра буквы урла (это разные урлы).

А хочется заплатку...

про одну из них лет 10 назад ответило

В настоящий момент из страниц, url которых различается только в регистре, в результатах поиска может участвовать только одна из этих страниц. C помощью файла sitemap можно повлиять на URL отображаемой страницы в результатах поиска, указав в нем адрес страницы в требуемом регистре.

С уважением, Платон Щукин
Но правильнее – ответ 404 или 301 на неправильный регистр.

А с разным регистром + разным контентом индексилось нормально.

Hammer8
На сайте с 04.08.2011
Offline
151
#5

iSmel, Это не проблема, если не хотите настраивать Apache, пропишите в htaccess:

RewriteEngine On

RewriteBase /
# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A-Z] -
# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteRule [A-Z] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]
Полный спектр услуг по продвижению сайтов (/ru/forum/959217)
I
На сайте с 22.10.2012
Offline
74
#6
Hammer8:
iSmel, Это не проблема, если не хотите настраивать Apache, пропишите в htaccess:

RewriteEngine On

RewriteBase /
# If there are caps, set HASCAPS to true and skip next rule
RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1]
# Skip this entire section if no uppercase letters in requested URL
RewriteRule ![A-Z] -
# Replace single occurance of CAP with cap, then process next Rule.
RewriteRule ^([^A]*)A(.*)$ $1a$2
RewriteRule ^([^B]*)B(.*)$ $1b$2
RewriteRule ^([^C]*)C(.*)$ $1c$2
RewriteRule ^([^D]*)D(.*)$ $1d$2
RewriteRule ^([^E]*)E(.*)$ $1e$2
RewriteRule ^([^F]*)F(.*)$ $1f$2
RewriteRule ^([^G]*)G(.*)$ $1g$2
RewriteRule ^([^H]*)H(.*)$ $1h$2
RewriteRule ^([^I]*)I(.*)$ $1i$2
RewriteRule ^([^J]*)J(.*)$ $1j$2
RewriteRule ^([^K]*)K(.*)$ $1k$2
RewriteRule ^([^L]*)L(.*)$ $1l$2
RewriteRule ^([^M]*)M(.*)$ $1m$2
RewriteRule ^([^N]*)N(.*)$ $1n$2
RewriteRule ^([^O]*)O(.*)$ $1o$2
RewriteRule ^([^P]*)P(.*)$ $1p$2
RewriteRule ^([^Q]*)Q(.*)$ $1q$2
RewriteRule ^([^R]*)R(.*)$ $1r$2
RewriteRule ^([^S]*)S(.*)$ $1s$2
RewriteRule ^([^T]*)T(.*)$ $1t$2
RewriteRule ^([^U]*)U(.*)$ $1u$2
RewriteRule ^([^V]*)V(.*)$ $1v$2
RewriteRule ^([^W]*)W(.*)$ $1w$2
RewriteRule ^([^X]*)X(.*)$ $1x$2
RewriteRule ^([^Y]*)Y(.*)$ $1y$2
RewriteRule ^([^Z]*)Z(.*)$ $1z$2
# If there are any uppercase letters, restart at very first RewriteRule in file.
RewriteRule [A-Z] - [N]
RewriteCond %{ENV:HASCAPS} TRUE
RewriteRule ^/?(.*) /$1 [R=301,L]

Спасибо!! Завтра потестирую

M
На сайте с 04.12.2013
Offline
188
#7

Мать честная, есть же RewriteMap с int:tolower.

Или программно во фронте что-нить подобное на(ш)кодить, например, как я показал тут (см. фильтр в показанном фрагменте кода). Проверить, как работает этот код можно, например, тут: g09.ru///Articles///My-First-Article/// (только трэйлинг слеши исправляются отдельным фильтром в .htaccess, поэтому может быть более одного редиректа).

---------- Добавлено 17.04.2020 в 12:35 ----------

P.S. Хотя для RewriteMap определен контекст server config, virtual host. Т.е. на шареде, наверное, не прокатит.

Хостинг FOZZY ( http://fozzy.com.ru ) / Выслушаю предложения на домены ( http://u75.ru/domains-for-sale ) / Домены и скрипт для коротких ссылок ( http://u75.ru/domains-for-shortcuts )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий