В яндекс вебмастере постоянно появляются дубли и меняют друг друга в индексе с вариациями написания строчными и заглавными буквами. например: site.ru/brand/Apple и site.ru/brand/apple
Оба адреса ведут на одну страницу естественно а яндекс их видит как разные и лепит дубли…
Как от этого можно массово изавится? на сайте проверил все внутренние ссылки указаны маленькими буквами, откуда он эти большими берет не понятно.
rel canonical битрикс не прописывает сам на себя, только если страница пагинации есть или еще какой-то параметр…
Vladimir SEO
Редирект естественно
iSmel
xVOVAx: Редирект естественно
Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова… возможно есть какие-то регулярки…
Vladimir SEO
iSmel: Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова… возможно есть какие-то регулярки…
Есть , мне программисты мои делают такое для старых сайтов. Редирект по регистру
богоносец
А завтра вылезет проблема с произвольными параметрами.
Этот форум отвечает 404 на смену регистра буквы урла (это разные урлы).
А хочется заплатку…
про одну из них лет 10 назад ответило
В настоящий момент из страниц, url которых различается только в регистре, в результатах поиска может участвовать только одна из этих страниц. C помощью файла sitemap можно повлиять на URL отображаемой страницы в результатах поиска, указав в нем адрес страницы в требуемом регистре.
С уважением, Платон Щукин
Но правильнее – ответ 404 или 301 на неправильный регистр.
А с разным регистром + разным контентом индексилось нормально.
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]
iSmel
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]
Спасибо!! Завтра потестирую
miketomlin
Мать честная, есть же RewriteMap с int:tolower.
Или программно во фронте что-нить подобное на(ш)кодить, например, как я показал тут (см. фильтр в показанном фрагменте кода). Проверить, как работает этот код можно, например, тут: g09.ru///Articles///My-First-Article/// (только трэйлинг слеши исправляются отдельным фильтром в .htaccess, поэтому может быть более одного редиректа).
———- Добавлено 17.04.2020 в 12:35 ———-
P.S. Хотя для RewriteMap определен контекст server config, virtual host. Т.е. на шареде, наверное, не прокатит.
iSmel
В яндекс вебмастере постоянно появляются дубли и меняют друг друга в индексе с вариациями написания строчными и заглавными буквами. например: site.ru/brand/Apple и site.ru/brand/apple
Оба адреса ведут на одну страницу естественно а яндекс их видит как разные и лепит дубли…
Как от этого можно массово изавится? на сайте проверил все внутренние ссылки указаны маленькими буквами, откуда он эти большими берет не понятно.
rel canonical битрикс не прописывает сам на себя, только если страница пагинации есть или еще какой-то параметр…
Vladimir SEO
Редирект естественно
iSmel
Редирект естественно
Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова… возможно есть какие-то регулярки…
Vladimir SEO
Логика в этом есть, вопрос как, если этих страниц сотни, а заглавная буква может всплыть не только первой но и посередине слова… возможно есть какие-то регулярки…
Есть , мне программисты мои делают такое для старых сайтов. Редирект по регистру
богоносец
А завтра вылезет проблема с произвольными параметрами.
Этот форум отвечает 404 на смену регистра буквы урла (это разные урлы).
А хочется заплатку…
про одну из них лет 10 назад ответило
С уважением, Платон Щукин
Но правильнее – ответ 404 или 301 на неправильный регистр.
А с разным регистром + разным контентом индексилось нормально.
Hammer8
iSmel, Это не проблема, если не хотите настраивать Apache, пропишите в htaccess:
iSmel
iSmel, Это не проблема, если не хотите настраивать Apache, пропишите в htaccess:
Спасибо!! Завтра потестирую
miketomlin
Мать честная, есть же RewriteMap с int:tolower.
Или программно во фронте что-нить подобное на(ш)кодить, например, как я показал тут (см. фильтр в показанном фрагменте кода). Проверить, как работает этот код можно, например, тут: g09.ru///Articles///My-First-Article/// (только трэйлинг слеши исправляются отдельным фильтром в .htaccess, поэтому может быть более одного редиректа).
———- Добавлено 17.04.2020 в 12:35 ———-
P.S. Хотя для RewriteMap определен контекст server config, virtual host. Т.е. на шареде, наверное, не прокатит.