Регистр урлов

12
simba77
На сайте с 03.02.2009
Offline
36
3503

Столкнулся с проблемой чувствительности google к регистру урлов. Так получилось что пришлось поменять регистр. Один раз на маленькие буквы, потом на такие site.ru/razdel/Novosti-kompanii-BMW.html

Сегодня в выдачи увидел массу дубликатов. Может кто сталкивался с подобной проблемой. Самое простое, что могу сделать, так это проверять на точное соответствие урла по БД. Но что делать если урл в базе найден, но отличается регистром? 301 редирект?

И не совсем понятна логика поисковика. Допустим пользователь на форуме оставляет отзыв со ссылкой на ресурс. Ссылку пишет в нижнем регистре. Ну а на сайте эта ссылка включает и буквы в верхнем регистре. Получается что поисковик добавит и эту страницу как дубликат? Как-то не совсем паравильно...

simba77 добавил 17.11.2009 в 16:49

Сделал 301 редирект.

Тему можно закрывать.

simba77
На сайте с 03.02.2009
Offline
36
#1

В личку получил сообщение с вопросом - как я вышел из ситуации и попросили код.

Вот он:



if ( $cat_lnk_name !== $row['cat_lnk_name'] and
strtolower($cat_lnk_name) == strtolower($row['cat_lnk_name']))
{
$url = 'http://'.$_SERVER['HTTP_HOST'].
str_replace($cat_lnk_name, $row['cat_lnk_name'], $_SERVER['REQUEST_URI']);

header('Location: '.$url, true, 301);
}

Пояснения:

1. Значение переменной $cat_lnk_name берётся из массива $_GET (либо $_POST);

2. $row содержит в себе результат фн. mysql_fetch_assoc().

Т.е. до этой проверки выполняется запрос на извлечение данных (у меня по категории). Mysql возвращает результат положительный прои поиске значений "Новости", "новости", "новОСТи".

Сейчас по логу наблюдаю 2 записи на пришедшего бота либо пользователя с поиска на урл "новости" (код ответа 301), перенаправленных 301-ым редиректом на нужный мне урл "Новости" (код 200).

M
На сайте с 28.01.2010
Offline
21
#2

Столкнулся с этой же проблемой, только не очень понял куда этот код вписывать. Пробовал index.php не работает. (

мне нужно перенаправлять урлы вида site.ru/Stati/ на site.ru/stati/

simba77
На сайте с 03.02.2009
Offline
36
#3

magwar, привет.

у меня обработка всех запросов идёт через index.php

можно делать это там или в подключаемом файле для конкретного типа страницы (новость, статья..)

спроси конкретнее. вроде всё просто.

enivid
На сайте с 26.05.2007
Offline
76
#4

В .htaccess вставьте:

RewriteEngine On

RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

Намного лучше, чем черех ПХП. Но только если у вас сервер на Апаче.

Willie
На сайте с 08.10.2008
Offline
200
#5
simba77:
В личку получил сообщение с вопросом - как я вышел из ситуации и попросили код.

Этим, а также через .htaccess, Вы не лечите проблему, а сбиваете симптомы. Я бы поступил радикально: сделал бы из phpMyAdmin экспорт базы данных, потом в этом файле нашел и поменял бы все URLы на маленькие буквы (скриптом, разумеется), а затем перезалил бы базу обратно. И с тех пор и думать бы забыл про большие буквы в адресах страниц. Риска никакого: не получилось бы (мало ли, накосячи бы при замене) - залил бы исходную копию базы обратно.

P.S. А с дублями запросто можно "доиграться" в Гугле: сейчас он почему-то к этому очень ревниво относится, хотя раньше просто клеил страницы, и все.

Попробовать мобильные прокси бесплатно: clck.ru/3EKDyC
simba77
На сайте с 03.02.2009
Offline
36
#6

enivid, Willie, спасибо за комментарии.

с htaccess красиво конечно, да и наверное быстрее будет, но.. я в итоге сделал вид урла /car/Opel/Astra/Otziv.html

Причина - в серпе лучше в глаза бросается урл чем если бы он был просто в нижнем регистре.

Насчёт запутаться и ошибиться - это точно опасно. Но тут уже всё зависит от тщательного тестирования скрипта.

Willie, кстати по поводу отношения поисковиков к таким косякам расскажу про свой опыт как раз на этом примере.

Почему я взялся трогать эти урлы? Просматривая логи я увидел что Яндекс обращался к урлу в нижнем регистре и получал 404 ответ. Одновременно увидел в гугле кучу дублей урлов в разном регистре. Это было в середине ноября 2009.

На данный момент почти все дубли из гугла исчезли - процесс затянулся на 2 месяца.

В яндексе дублей не было, а панели вебмастера болтались ошибки которые сейчас тоже исчезли (после нового года примерно).

Вот такой опыт.

А, забыл. Сайт получил ПР1 примерно в декабре.

simba77 добавил 29.01.2010 в 11:54

magwar, лучше воспользуйтесь советом от enivid. То что я сделал это наверное больше мои заморочки

Willie
На сайте с 08.10.2008
Offline
200
#7
simba77:
Причина - в серпе лучше в глаза бросается урл чем если бы он был просто в нижнем регистре.

Да я и так понимаю, какой в этом смысл. Но юзеры... они же в нижнем регистре будут на Вас ссылаться! И всякие каталоги: там тоже зачастую регистр букв автоматом переводится в нижний. У меня, конечно, не каталоги ссылок, но на всех сайтах URL проверяется и именно так делается.

simba77
На сайте с 03.02.2009
Offline
36
#8

Willie, ни в коем случае не спорю, но сами говорите что "зачастую". Большого опыта не имею, но... пусть ссылаются хоть в каком регистре. Если в итоге я делаю редирект на правильный (в моём понимании) урл, то неправильный ни в коем случае не попадёт в индекс ПС и не будет дублей. А это и есть правильно. Поправьте, если ошибся.

Знаю что Вы достаточно уважаемый спец в seo, но что-то мне подсказывает что ошибки тут нет. По крайней мере дубли были удалены из выдачи ПС. А внешние ссылки я ставил в разном регистре.

Willie
На сайте с 08.10.2008
Offline
200
#9
simba77:
... но что-то мне подсказывает что ошибки тут нет. По крайней мере дубли были удалены из выдачи ПС. А внешние ссылки я ставил в разном регистре.

Так я и не говорю, что ошибка. Я сам видел такие УРЛы в одном очень трастовом буржуйском каталоге статей. Да, смотрится красиво - особенно, когда они длинные и на английском. Но я опасаюсь так делать, и не рекомендую, чтоб головную боль не нажить. Это Вы обратили внимание на дубли - а сколько сайтостроителей, которые и понятия не имеют, что это такое?!

Есди хотите оставить красивые УРЛы - тогда лучше через .htaccess из нормализировать.

enivid
На сайте с 26.05.2007
Offline
76
#10
Willie:
Да я и так понимаю, какой в этом смысл. Но юзеры... они же в нижнем регистре будут на Вас ссылаться! И всякие каталоги: там тоже зачастую регистр букв автоматом переводится в нижний. У меня, конечно, не каталоги ссылок, но на всех сайтах URL проверяется и именно так делается.

Сайту 4 года. Использую в некоторых урлах большие буквы (названия компаний, программ) никаких проблем ни с гуглом, ни с каким другим поисковиком не было. Когда на меня ставили ссылки заглавные буквы всегда сохранялись.

12

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