Какой адрес страницы лучше: состоящий из английских слов или из русских транслитерированных? Посмотрим на проблему с разных сторон.
Для посетителей лучшими адресами будут короткие и удобочитаемые. Вот варианты адреса статьи «Как сверстать три колонки с подвалом div’ами»:
…/sverstat-3-kolonki-s-podvalom-divami.htm
…/tri-kolonki-divami.htm
…/3-kolonki.htm
…/3-columns-and-footer-using-div.htm
…/3-columns.htm
Подумайте, какие из них вам понравились бы, если бы увидели их в адресной строке?
В этом раунде побеждают названия на английском, поскольку транслитерация русского слова «вопиющий» может выглядеть как «vopiuschiy» или «vopijushchij», а английские варианты — «scandalous» и «crying».
Люди, наполняющие сайт контентом, с удовольствием вообще не знали бы о проблеме наименования страниц. Им интересно сделать работу побыстрее и получить зарплату. Выдумывание осмысленного названия на английском может отвлечь человека, слабо знающего язык, на две--три минуты. За день выйдет много.
С этой точки зрения транслит выглядит привлекательнее: делать адреса страниц из названий материалов могут примитивные скрипты.
Еще одна конкурирующая группа — оптимизаторы. Страницы должны выглядеть релевантными определенным запросам.
Специалисты по SEO балансируют между русскими и английскими словами в названиях. С одной стороны в словаре Яндекса может не быть слова «mincing-machine». В этом случае английское название не выполняет свою роль.
Кстати, по моим ощущениям этот «словарь английских слов, влияющих на образ русских страниц» невелик.
С другой стороны в русском языке есть несколько забавных букв, которые транслитерируются неоднозначно. Например, «щ» может быть «sh», «sch», «shh», «shch». Пара таких букв в слове, и робот уже не распознает его. И опять усилия оптимизатора напрасны.
В такой ситуации хороший эффект даст разумное комбинирование.
На мой взгляд, качественный транслит является лучшим решением, и я бы полностью перешел на него, но на стороне английских ключевых слов лежит эстетическое превосходство. Попросту говоря, транслит — уродливая вынужденная мера. Стараюсь по возможности его избегать. Веду себя, прямо скажем, нерационально.
Комментарии
Сергей Третьяк, 16.01.2007 22:30
Я всегда был сторонником того, чтобы русский язык перевели на латинскую графику. ;)
Дмитрий Сергеев, 16.01.2007 22:37
Это как kopoba.ru и tobap.ru? ;)
Сергей Третьяк, 19.01.2007 10:58
2 Дмитрий Сергеев:
Нет, это как korowa.ru и towar.ru. ;)
Нино, 20.01.2007 13:10
Хорошо бы табличку "хорошего" транслита...
Сергей Третьяк, 21.01.2007 00:52
Да нету такой. И единого мнения тоже нету:
http://en.wikipedia.org/wiki/Romanisation_of_Russian
Дмитрий Сергеев, 21.01.2007 17:01
Всё же зная, как устроено распознавание транслита с технической точки зрения, можно посоветовать стремиться к коротким аналогам русских букв. То есть для русской "х" не "kh", а "h".
Поскольку "ё" зачастую заменяется "е", то и транслитерировать ее можно так же, как и "е". Опять выигрыш: не "yo", а "e".
Полезно потратить полчаса на изучение первых страниц выдачи Яндекса на предмет нахождения в адресах транслита. Так можно понять, какие варианты в принципе понимаются роботами.
Очень скоро выложу "свой алфавит", полученный опытным путем, но пока еще не оттестированный.
Сергей Виндерских, 26.01.2007 20:02
ГОСТ 7.79—2001 "Правила транслитерации кирилловского письма латинским алфавитом"
Дмитрий Сергеев, 27.01.2007 02:52
Всё здорово, только ГОСТ предусматривает транслитерацию мягкого и твердого знаков апострофами. Для адресов веб-страниц вряд ли хороший вариант.
gugglegum, 05.02.2007 13:10
Вобщем-то, RFC 1738 (Uniform Resource Locators) допускает использование символа апострофа в качестве пути. Другое дело, что использование транслитерации в путях я считаю плохим тоном, и лично мне это говорит о наполнителя сайта как о человеке без фантазии и/или малограмотном. Я всегда использую английские названия в путях, если,конечно, слова переводимы на английский.
Дмитрий Сергеев, 05.02.2007 20:00
Насчет фантазии -- не уверен, а вот о малограмотности -- в точку. До последнего времени относился к транслиту, как к уделу малограмотных и ленивых. Однако, мое мнение меняется. Я стал как-то терпимее в этом вопросе.
Может быть дело в том, что сам столкнулся с проблемой конвейрного формирования осмысленных адресов.
gugglegum, 06.02.2007 11:33
А где и кому реально нужен такой конвеер? Если ты пишешь статью, на эту уходит от получаса до нескольких часов. Придумывание английского названия занимает небольше минуты.
Дмитрий Сергеев, 06.02.2007 18:30
Действительно достаточно редкий случай. Что-нибудь вроде русского boingboing.net или digg.com? Хотя dirty.ru и так прекрасно живет.
Может ситуация, когда авторы вообще не знают английского и не могут назвать страницу в принципе, а банального "story/783/" не хочется?
Кстати, думаете, транслит в адресах страниц русских standalone блогов временное явление?
roa, 07.03.2007 21:24
В любом случае - куульный линк.
Оч. с большим интересом "прошелся" и по документу, и по сайту НТИ.
Дмитрий Сергеев, 07.03.2007 21:49
Да, за годы кропотливой работы люди придумали много всего, от чего глупо отказываться. Взять хотя бы ГОСТы на ТЗ 70-х годов.
Дмитрий Сергеев, 21.01.2007 23:52
Сейчас я пользуюсь таким транслитом:
function transliterate($s)
{
$b = array('ий', 'а','б','в','г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'ъ', 'ы', 'ь', 'э', 'ю', 'я');
$a = array('iy', 'a', 'b', 'v', 'g', 'd', 'e', 'e', 'zh', 'z', 'i', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'h', 'ts', 'ch', 'sh', 'sch', '', 'y', '', 'e', 'u', 'ya');
return str_replace($b, $a, $s);
}
Это простейшая функция, не учитывающая нюансы вроде транслитерации прописных букв, обработки пробелов и удаления слишком коротких слов.
Стас, 11.09.2007 18:45
Такая табличка есть: http://maximal.by.ru/articles/translit/
Дмитрий Сергеев, 12.09.2007 16:06
Спорная табличка...
Александр Стекольщиков, 21.01.2007 02:13
А почему не делать ссылки русскими буквами?
example.ru/компания/контакты/
«Википедия» пользуется этим вовсю, почему обычным сайтам нельзя?
Дмитрий Сергеев, 21.01.2007 17:10
Я думаю из-за того, что распространены несколько очень разных кириллических кодировок. Если разработчики выберут одну, пользователи со всеми остальными не попадут на страницу.
Если бы все русские сайты были на utf-8, полагаю, проблем бы не было.
Александр Стекольщиков, 28.01.2007 21:39
Я пользуюсь только UTF-8, поэтому приношу извинения, забыл совсем про существование других.
Дмитрий Сергеев, 28.01.2007 22:01
Надо переходить на utf-8, надо. Но с ней бывает сложно. Например, строковые функции PHP не работают. И IDE с поддержкой utf-8 мало.
Так что в ближайшей перспективе ничего не изменится.
Стас, 11.09.2007 19:25
Есть такие пользователи, которые из-за своей кодировки не могут попасть на Википедию??
Дмитрий Сергеев, 12.09.2007 16:11
Речь идет о том, что использовать русские буквы в адресах ссылок опасно. То есть у кого-то на сайте ссылка «http://ru.wikipedia.org/wiki/петанк» будет работать, а кому-то придется ставить такую «http://ru.wikipedia.org/wiki/%D0%9F%D0…»
Julia, 21.01.2007 17:58
В Яндексе в почтовом ящике, когда пишешь письмо, есть функция "транслит", можно набрать нужную фразу и посмотреть как поисковик ее "переведет".
Дмитрий Сергеев, 21.01.2007 18:30
Да, а еще в блоке "Опечатка? возможно, имелось в виду..." можно посмотреть, опознает ли Яндекс переведенное слово.
На всей этой цепочке можно построить какой-нибудь скрипт определения "правильности транслита с точки зрения SEO" :)
~xXx~, 23.01.2007 08:41
для правильной транслитерации можно использовать буфер обмена Punto Switcher или KeyboardNinja (смотря кто чем пользуется).
Дмитрий Сергеев, 23.01.2007 13:49
Вопрос в том, считают ли поисковые системы такой транслит правильным.
3V, 30.01.2007 22:48
Все говорят о яндексе.
Что это такое ? Кажется, поисковик ?
Странно, мало слышал о нем.
Думаю, не стоит употреблять никакого транслита, поскольку гуглю может не понравиться.
Дмитрий Сергеев, 30.01.2007 23:24
А что может Гуглу не понравиться в транслите?
Вот посмотрите на молоко: вроде всё в порядке. Веса транслит может и не прибавляет, но ссылка kulinarniy.front.ru/napitki/moloko_1.htm дает неплохое представление о содержании страницы.
Александр Стекольщиков, 30.01.2007 23:53
http://www.artlebedev.ru/kovodstvo/48/
К слову, я не запомнил ни единой внутренней страницы на твоём блоге. Это не мешает мне его читать с удовольствием, но не могу никому дать ссылку по памяти. Забей на поисковики — думай о пользователях. Веб-архитекор ты или СЕОшник?
Дмитрий Сергеев, 31.01.2007 00:55
Ого, 2000-ый год. Из музея :)
Думаю, адреса страниц и не должны запоминаться. Основная задача -- не отпугнуть человека непонятной ссылкой.
Может мне и вправду стоит пересмотреть местную политику: убрать дату из названий страниц и сократить их до двух-трех слов. Надо подумать и попробовать.
Mr. Mishin Oleg, 31.01.2007 14:30
Согласен с автором - english смотрится лучше, но иногда......
Дмитрий Сергеев, 31.01.2007 15:34
...иногда страниц очень много, а создают их люди, совсем не знающие английского.
А еще бывают страницы, название которых действительно сложно перевести.
Костя Сталеваров, 08.02.2007 10:40
Дмитрий, открою страшный секрет... яндексу по барабану этот транслит в плане ранжирования. Влияет только на Гугл и то незначительно :)
Junior, 02.04.2007 21:32
Карамба, Константин. Уже не первый раз пересекаемся на одних и тех же ресурсах. :)
Мир тесен, а интернет и подавно.
Поддерживаю пост. Релевантность URL если и присутствует, то настолько низкая, что легко перебивается остальными факторами.
Я планирую в нашей CMS делать такую штуку: если пользователь не ввел вручную URL-код страницы, то он генерируется через транслит из названия объекта (он же - title, он же - H1). Получается свобода выбора: хочешь думай и будет красиво, хочешь - не думай и будет чуть похуже.
Игорь Скляревский, 06.10.2007 17:07
Скажите, Дмитрий, кроме существования редакторов сайта, не знающих английский (а также, видимо, принципиально не пользующихся словарями), какие еще есть аргументы в пользу транслита? На то, что Яндексу по барабану - английский ли использован в URL или транслит - уже указали в комментах.
Если других аргументов нет, то почему Вы пишете:
«На мой взгляд, качественный транслит является лучшим решением, и я бы полностью перешел на него, но на стороне английских ключевых слов лежит эстетическое превосходство.»
...ведь у Вас-то, похоже, проблем с английским нет никаких.
Дмитрий Сергеев, 07.10.2007 11:26
Признаться, когда я писал эту заметку, был ослеплен идеей легкого транслита в URL. С одной стороны делать ничего не надо, с другой — иногда транслит в URL можно даже прочитать и понять.
Да, еще я думал, что траслит чуть-чуть влияет на позицию в выдаче. Посмотрите http://www.yandex.ru/yandsearch?text=%D0%BC%D1%83%D1%80%D0%B5%D0%BD%D0%B0 и поймете, почему я так думал.
С тех пор мои взгляды изменились. Сейчас я считаю, что вариант «articles/120/» не так уж плох, а описательное имя имеет смысл только, когда можно выбрать одно—два хороших ключевых слова, дающих понять, о чем идет речь по ссылке. А поскольку это описательное имя придется составлять вручную, выигрыш от транслита пропадает.
Вообще я понял, что «идеальные» URL не стоят какой-то серьезной возни, поскольку отдача небольшая. У сайтов есть множество узких мест, работа над которыми даст эффект на порядок выше.
Игорь Скляревский, 07.10.2007 22:00
Хм... и правда, интересно.
Я просто сейчас пишу ТЗ и пытаюсь сформулировать требования к адресному пространству сайта. Пришел к выводу, что надо поставить на страницу редактирования статьи в админке необязательное поле "URL", и если редактор его не заполнит, тогда автоматом делать транслит.
Теперь меня терзают сомнения: хорошо ли это, что часть названий будут на английском, часть транслитом? :)
Дмитрий Сергеев, 07.10.2007 22:12
Смешивать транслит и английский я бы не стал, а так всё правильно. Во многих CMS как раз есть опциональное поле для адреса страницы.
Игорь Скляревский, 10.10.2007 02:54
Дима, извините, что не в тему.
Судя по приходящим мне уведомлениям об ответе в этой ветке, спам, пользуясь отсутствием регистрации и CAPTCHA, у Вас в блоге все-таки пытаются постить. Но когда я захожу на сайт, никакого мусора нет. Вы так быстро успеваете удалить вручную или как-то по-другому отсекаете?
Просто для меня это важно, я сейчас проектирую сайт, в котором будут комментарии пользователей, и я хочу их избавить от ненужной регистрации. Поэтому изучаю вопрос, как и от регистрации избавиться, и спама не допустить.
Спасибо.
Дмитрий Сергеев, 10.10.2007 12:16
Всё в тему, спасибо, что обратили внимание. Буду чинить.
Дело в том, что модуль извещений по email никак не взаимодействует с антиспам-модулем. Комментарии автоматически блокируются, а письма всё равно отсылаются.
А про борьбу со спамом посмотрите, если не видели, комментарий про негативную каптчу.
Игорь Скляревский, 10.10.2007 12:23
О! спасибо. Я читал об этом, но потом не мог вспомнить и найти, где же именно :)
Дмитрий Сергеев, 10.10.2007 13:25
Кстати, таким методом я уже победил спам на одном форуме.
Бармин Алексей, 11.10.2007 15:56
Я считаю что лучше использовать транслит(по ГОСТу, который озвучили выше), не все у нас знают английский, я имею ввиду посетителей сайта.
hexes, 29.11.2007 14:19
Господа, а вот такая ситуация: сайт кинотеатра, расписание на фильм можно сделать по такой ссылке:
site.ru/movie/45223566
site.ru/movie/beglianki
в первом случае всё просто - АЙДИ фильма и всё тут, во 2ом пользователь открыв адр. строку в браузере (при автодополнении) сразу видит не дураццкий непонятный номер, а назв-е фильма...
Стоит ли оно того?
Дмитрий Сергеев, 29.11.2007 14:27
Когда название короткое, Яндекс сможет разобрать транслит, а пользователь — прочитать, тогда стоит. В остальных случаях — не стоит. По умолчанию пусть будут циферки, а у редактора пусть будет возможность ввести красивое название.
hexes, 30.11.2007 07:45
Не будет "по умолчанию" по выбору...
Всё будет автоматом из базы браться...
Тут или - или... А названия разные бывают...
'Хитмэн' becomes '+KHitmehn'
'Руд и Сэм' becomes '+Rud__i__Sehm'
И тп.
Дмитрий Сергеев, 30.11.2007 10:15
В адресе site.com/hitman я вижу смысл, в адресе site.com/movies/search/+khitmehn — не вижу.