25 апреля 2009 :Капля статистики: DoctypeВо вчерашней статье "Капля статистики: Gzip" я рассказала что решила собрать статистику частоты использования тега <!Doctype> в начале документов, попутно собрав статистику использования сжатия данных, в этой статье я расскажу что мы получили пропарсив все скачанные страницы. Всего из рубрики яндекса "Создание сайтов" было скачано 1592 главных страницы сайтов (по состоянию на 24 апреля). Итак... в ходе эксперемента были допущены некоторые некорректности, которые в следующий раз (я планирую собирать статистику каждый месяц) будут исправлены. Во-первых, мы не учитывали server-side редиректы, т.е. не ходили по ссылкам Location: в хидерах, в итоге 102 файла были пустыми, из них некоторые сайты были вообще недоступны. Это означает что сайты использовали только server-side редирект, не выводя пользователю ссылку для перехода и сообщение об этом на случай если у пользователя не отключены редиректы, что не хорошо. Среди остальных непустых файлов были и те (30-40 сайтов), кто тоже использовали редирект, но при этом выдавал пользователю ссылку с перенаправлением. Придётся учесть их в статистике, всего 40 файлов меньше килобайта, однако среди них у нескольких попадаются и вполне осмысленное содержание. Например likes.kuban.ru или www.dewia.ru. Другого вида редиректы мы и не будем учитывать, например блог lasto.com/blog/ вообще сам на себя редиректит 1 раз почему-то, или например a-studio.ru. Во-вторых мы скачивали только файлы с заголовком Content-type: text/html или text/xml. В результате у 5 сайтов страницы не скачались т.к. содержали заголовки text/plain (пример редиректа с этим заголовком www.actis.ru) и x-httpd-php. Это призывает веб-мастеров следить за заголовками. В следующий раз можно будет ещё собрать статистику статус кодов полученных от сервера. Правильный статус код должен быть - 200. И за кодировками документа, например некоторые выдают cp1251 - что является ересью, ибо правильный вариант windows-1251. Не многие веб-мастера также знают от том что в браузере IE доктайп должен начинатся прямо от начала документа, без пробелов и прочего. Проверьте сами, зайдите на www.shop-script.ru (или deviantart.com) в мозилле и в ie и введите в адресную строчку javascript:alert(document.compatMode); в мозилле будет CSS1Compat в IE - BackCompat (т.е. свёрстан "по-старинке"). Символ "<" оказался не в начале документа у 246 сайтов. Итак, начнём собственно парсить =). Метод - получить первый тег: Ищем первое вхождение "<", если это тег "<?xml version="1.0" encoding="windows-1251"?>" или комментарий, то вырезаем и ищем дальше. Полученные теги проверяем насоответствие доктайпу. На www.d-optima.ru вообще результат выполнения <?print_r($_SERVER)?> в комментариях в начале идёт. На www.x-lab.ru нам не удалось распознать gzip, так что 1 сайт исключается из статистики. Итак потрудившись и сгруппировав всё, всего нашли 62 разных начальных тега. 33 из них и правда doctype =). Для заинтересованных выкладываю txt-файлы со списком: сортированные по доктайпу, и по количеству. Файл только с доктайпами - doctypes_only_26.04.2009.txt. Интересно что тегом <html> начинаются 511 сайтов =) (включая остальные теги 570), а с доктайпом html5 только 1 сайт (optimism.ru). Всего сайтов содержащих объявление тега doctype - 918. Из них правильных объявлений - 578, неправильных 340. Все доктайпы тестировались тут - dbaron.org/mozilla/tests/compat Сводная таблица:
Заметьте что доктайп <!doctype html public "-//w3c//dtd html 3.2 final//en"> не будет правильным в отличие от //ru. Правильно писать <!doctype html public "-//w3c//dtd html 3.2 final//en-US">. Результат исследования:Несмотря на то что мы проанализировали сайты исключительно компаний профессионально занимающихся созданием сайтов, результат с огрехами будет применителен ко всему сигменту рунета. 918 из 1592 компаний (58%) знают что существует такая штука как doctype. Но 340 из 918 (37%) пока не знают как им пользоваться. Всего же веб-стандартов придёрживаются 578 из 1592 (36%) компаний. У 15% сайт начинается с пробела (а ещё у многих с комментария), вот вам забота об эксплорере. В целом 37% это очень даже неплохо конечно. В конце следующего месяца я и коллеги постараемся сделать анализ doctype эдак 10000 сайтов из числа наиболее посещаемых например. UPD: посмотрите свежий сбор статистики, за 16.06.2009. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Либо волшебно используйте ваш логин в Google, Яндекс, рамблер или ЖЖ чтобы войти через Open_ID

Комментарии:
nnn
10.07.2009 20:48:48