Одной из самых частых причин ошибок, выдаваемых в Открытом Каталоге формой Предложить URL, является превышение пользователем лимита символов при заполнении поля для описания сайта. С длиной заголовка всё намного проще, её проверяет сам браузер ещё до отправки формы, не давая ввести в соответствующее поле более 100 символов.
Если посмотреть HTML код формы предложения сайта в DMOZ, то видно, что поле для ввода описания создаётся с помощью тега textarea, имеющего атрибут maxlength="300", который игнорируется браузерами, как не соответствующий стандарту. Поле для ввода заголовка же создаётся с помощью тега input, имеющего атрибут maxlength="100", который учитывается браузерами и соответствует стандартам.
Как следствие, проверка длины описания ложится на плечи cgi скрипта, который ограничивает размер величиной 300 байт.
В кодировке UTF-8, реализующей представление Юникода, совместимое с 8-битным кодированием текста, символы Юникода занимают от 1 до 4 байт:
- символы латинского алфавита, арабские цифры, знаки препинания и управляющие символы ASCII занимают по 1 байту;
- символы кириллического алфавита занимают по 2 байта.
Произвольное описание сайта, состоящее из 300 байт, может иметь совершенно различную длину в символах:
- описание сайта из 300 байт, содержащее 1-о, 2-х, 3-х и 4-х байтовые символы, будет иметь длину между 75 и 300 символами;
- описание сайта из 300 байт, содержащее 1-о, 2-х и 3-х байтовые символы, будет иметь длину между 100 и 300 символами;
- описание сайта из 300 байт, содержащее 1-о и 2-х байтовые символы, будет иметь длину между 150 и 300 символами;
- описание сайта из 300 байт, содержащее 1-о байтовые символы, будет иметь длину 300 символов.
С помощью самой простой оценки, мы получаем следующие ограничения для описания:
- на английском языке — не более 300 символов;
- на русском языке, в зависимости от количества 1-о, 2-х, 3-х и 4-х байтовых символов, — в среднем, до числа чуть больше 150 символов.
Понятно, что большинство описаний сайтов, предлагаемых в русскоязычную часть ODP, будет включать в себя только 1-о и 2-х байтовые символы, но кто сказал, что туда не могут случайно или специально быть предложены описания с какими-то 3-х или 4-х байтовыми символами...
Статистика проекта Частотный словарь говорит нам, что:
- средняя длина русского слова составляет 5.28 символа;
- средняя длина предложения на русском языке составляет 10,38 слова.
Теперь мы можем уточнить нашу оценку с помощью следующей формулы:
Среднее число символов в русскоязычном описании сайта, состоящем из 300 байт, = 3 точки * 1 байт в точке + ( 297 байт / ( ( 5,28 букв кириллицы в слове * 2 байта в кириллической букве + 1 пробел * 1 байт в пробеле ) / 6,28 байт в конструкции, состоящей из 1 слова из букв кириллицы и 1 пробела ) ) = 164,34 символа
С учётом всего вышесказанного, можно сказать, что при предложении сайта в Каталог, чтобы избежать хотя бы части ошибок в форме Предложить URL, следует придерживаться следующих ограничений при составлении русскоязычного описания ресурса:
- до 160 символов или более грубое
- 20-25 слов или самое грубое
- 2-3 предложения.
Стоит также уточнить, что ограничения на длину описания и названия сайта, как можно заметить из раздела Bookmarks, где встречаются описания и названия сайтов длиной по несколько тысяч символов, на редактора накладываются лишь рекомендациями из Правил DMOZ и здравым смыслом, а не скриптами.