UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: arbuzzz от 24 Января 2017, 10:36:10

Название: Регистр url
Отправлено: arbuzzz от 24 Января 2017, 10:36:10
У клиента на сайте отображаются страницы с регистрами url в разных регистрах. Т.е. http://sitename.ru/pagename/ и http://sitename.ru/paGenaMe/ сайтом открываются и обрабатываются сайтом. Соответственно они оба обрабатываются поисковыми роботами. SEO-шники считают, что это плохо. Настройка стандартными решениями из сети через .htaccess, кладет админку и, судя по всему, внутренние протоколы обмена. Не могу сообразить, как это привести в порядок.

Если кто-то сталкивался с подобной задачей, буду благодарен за помощь.
Название: Re: Регистр url
Отправлено: e.ioffe от 24 Января 2017, 11:18:09
Какая версия UMI.CMS на сайте?
Название: Re: Регистр url
Отправлено: arbuzzz от 24 Января 2017, 11:30:45
Какая версия UMI.CMS на сайте?
2.9 ревизия 21607

Вариант с обновлением, к сожалению, не вариант.
Название: Re: Регистр url
Отправлено: e.ioffe от 24 Января 2017, 11:53:27
Обфусцирована или нет?

В последних версиях есть событие systemPrepare - обычно его прослушиваю. В более ранних нужно смотреть. Возможно, вносить изменения в системный код юми.
Название: Re: Регистр url
Отправлено: arbuzzz от 24 Января 2017, 11:58:27
Обфусцирована или нет?

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

Просто странное поведение. Была мысль, что-то кто-то неудачно поковырялся в системе.
Название: Re: Регистр url
Отправлено: aghigay от 24 Января 2017, 12:27:49
Рекомендую попробовать вот такие варианты, понять что они тоже работают и сменить SEO-шников
http://sitename.ru/PaGenaMe/
http://sitename.ru/PAGenaMe/
http://sitename.ru/paGEnaMe/
http://sitename.ru/paGenAMe/
Название: Re: Регистр url
Отправлено: arbuzzz от 24 Января 2017, 12:55:49
Рекомендую попробовать вот такие варианты, понять что они тоже работают и сменить SEO-шников
http://sitename.ru/PaGenaMe/
http://sitename.ru/PAGenaMe/
http://sitename.ru/paGEnaMe/
http://sitename.ru/paGenAMe/
Ну сеошники не мои, а клиенту я сказал, что их квалификация вызывает некоторые вопросы. Ну а мне интересна сама задача. Прыгающие url, не приведенные к единому стандарту, противоречат моему чувству прекрасного. Хотелось понять можно ли это поправить конфигами или надо лезть в код. Теперь ответ ясен.
Название: Re: Регистр url
Отправлено: aghigay от 24 Января 2017, 13:13:34
:-)
Название: Re: Регистр url
Отправлено: e.ioffe от 24 Января 2017, 13:18:52
Цитировать
Рекомендую попробовать вот такие варианты, понять что они тоже работают и сменить SEO-шников

Не являюсь СЕО-шником. Знакомые СЕО-шники говорят (и поиск в гугле пока подтверждает), что поисковые системы считают адреса вида /Страница/ и /страница/ отдельными страницами, которые могут конкурировать друг с другом в выдаче.
Название: Re: Регистр url
Отправлено: arbuzzz от 24 Января 2017, 13:22:31
Цитировать
Рекомендую попробовать вот такие варианты, понять что они тоже работают и сменить SEO-шников

Не являюсь СЕО-шником. Знакомые СЕО-шники говорят (и поиск в гугле пока подтверждает), что поисковые системы считают адреса вида /Страница/ и /страница/ отдельными страницами, которые могут конкурировать друг с другом в выдаче.
Когда я занимался seo, лет 5-6 назад, поисковики их тупо склеивали и показывали какую-то одну. Если сейчас поведение изменилось, то со стороны поисковиков это просто глупость. Проверить, по идее, можно просто вбив в поисковую строку два варианта url сайта и проверить выдачу поисковика. Если он их индексирует порознь, то и выдача будет вести на разные страницы.
Название: Re: Регистр url
Отправлено: Vladimir от 29 Января 2017, 13:38:44
Когда-то давно разбирался с этим на версии 2.8.5. Суть в том, что для MySQL регистр не имеет значения. Поэтому, допустим, мы запрашиваем страницу /quality/. Запрос
SELECT id FROM cms3_hierarchy WHERE  alt_name = 'quAlity'
вернет то же, что
SELECT id FROM cms3_hierarchy WHERE  alt_name = 'quality'

Запрос формируется методом query в файле /classes/system/subsystems/database/mysqlConnection.php

Чтобы MySQL реагировала на регистр, нужно его переписать в виде
SELECT id FROM cms3_hierarchy WHERE  BINARY alt_name = 'quAlity'
либо задать таблице кодировку регистрозависимую. Кодировка, оканчивающаяся на _ci регистронезависимая, а именно такая используется в ЮМИ.

В части СЕО. Хоть я и считаю его лженаукой, но здесь сеошники правы. В отличие от имен доменовб url регистрозависимы: image.jpg, image.JPG и Image.jpg - это три разных файла (если только вы не хоститесь на Windows, что вряд ли). А поскольку директории - это те же самые файлы, то они тоже регистрозависимы. Надеюсь только, что поисковики умнее, и понимают, что если владелец сайта пишет адреса в разном регистре, то это не от хорошего знания спецификации, а от невнимательности.