Проверить валидацию. Проверка данных на валидность. Как появился Консорциум Всемирной Паутины

Viber OUT 13.04.2019
Viber OUT

Привет всем. Я снова вернулась в Петербург после 3х недель пребывания за Полярным кругом. А здесь все так же серо и мрачно:(

Сегодняшний урок для продвинутых вебмастеров. Начинающим я не рекомендую самостоятельно разбираться в такой непростой теме, лучше почитайте посты рубрики « ». В статье про упоминалось, что один из критериев качества темы – валидность ее кода.
В общих чертах я дала определение данного термина. Но, думаю, стоит разобраться с этим подробнее, что мы и сделаем в сегодняшней статье.

Как появился Консорциум Всемирной Паутины?

Валидность в общем смысле этого слова — соответствие нормам. В случае с Интернетом нормы и стандарты для верстки страниц и создания кода задает Всемирный консорциум W3C. Создатели этой организации стояли у истоков разработки первых версий HTML (Hyper Text Markup Language, или язык гипертекстовой разметки) и стали первооткрывателями всемирной паутины, которая постепенно обрела огромную популярность. Это открытие принадлежит сэру Тимоти Джону Бернерс-Ли совместно с Робертом Кайо. Бернес-Ли до сегодняшнего дня является главой W3C (World Wide Web Consortium, Консорциум Всемирной Паутины) и законодателем в этой сфере.

С помощью html-разметки стало возможным создавать web-страницы, а для их распознавания в привычный для пользователей вид, были созданы браузеры. W3C ввели ряд стандартов, которым должны соответствовать документы в сети, чтобы все браузеры их могли корректно распознавать. В течение всего времени развития интернета между создателями велись войны за первенство. Некоторые из них даже пытались вводить свои новые стандарты, однако W3C благодаря своим разработкам смогли удержать роль законодателя в правилах создания кода. В версии Html 3 уже была включена поддержка CSS (Cascading Style Sheets, или каскадные таблицы стилей). Изначально стили, цвета и формы задавались непосредственно в коде html, но создание CSS значительно упростило эту задачу, разгрузило исходный код, а соответственно и время загрузки страниц. Последняя версия – это Html 5, которая все больше становится актуальна. Долгое время ее место занимал Html 4.01 (с 1999 года).

Эта историческая справка приведена для того, чтоб у вас было более целостное понимание темы сегодняшнего обзора – валидации сайтов. Если вы зайдете на официальный сайт W3C в раздел «Standards», вы увидите целый перечень подразделов со стандартами. Вот, к примеру, можно увидеть актуальный статус по Html:

По каждому из подпунктов приведены длинные списки норм, определяющих тот или иной атрибут, элемент текущей версии кода. Вот, например, неполное содержание по Html 5:

Правил, как вы понимаете, огромное множество. Чтобы проверить соответствие вашего сайта им, можно воспользоваться специальными валидаторами сайтов.

Но перед тем как рассмотреть их работу, давайте разберемся насколько важно проводить данную операцию.

Должен ли сайт быть валидным?

Единого мнения в данном вопросе нет, но есть объективные причины, которые указывают на то, что проверять валидацию сайта необходимо.

Первое, на что следует обратить внимание, это, так называемая, кроссбраузерность сайта. Т.е. в идеале сайт должен одинаково отображаться во всех браузерах. В данном случае соответствие нормам W3C гарантирует данную опцию.

Во-вторых, роботы поисковиков распознают html-код по тем же параметрам, что и браузеры. Т.е. если в вашем коде содержатся ошибки, например, незакрытые теги, битые ссылки, или поломана структура, все это может повлиять на индексацию сайта поисковыми роботами. А значит, грубые ошибки в коде могут понизить позиции ресурса в выдаче.

Однако, как мы уже видели, правил у W3C очень много, и, порою, соответствие им всем не представляется возможным. Поэтому в данном вопросе лучше придерживаться середины: исправлять в первую очередь грубые ошибки. Важно соблюдать правильный синтаксис, проверять вложенность тегов, сохранять корректную их последовательность и структуру.

Валидаторы кода HTML и CSS

Лучше с самого начала следить за соблюдением правил. На самом первом этапе выбора темы WordPress для своего блога уделите время тому, чтобы проверить валидность его html-врестки и css-кода. Желательно, чтоб изначально валидатор html-кода и css выдавал такой результат:

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

Для проверки валидации страницы существуют разные онлайн сервисы. Наиболее достоверные и полные из них, это валидаторы W3C.

Ссылки на них вы можете найти на главной странице официального сайта — www.w3.org

Unicorn – это совмещенный валидатор на русском языке (в нем есть функция переключения языков), который дает информацию сразу по всем параметрам сайта.

Вводите url сайта и жмете «Проверить».

Справа показано количество ошибок (красный крестик) и предупреждений (желтый восклицательный знак).

Увидеть подробную информацию по ошибкам можно в раскрывающемся списке под каждой из опций.

Html-валидатор проверяет ошибки заданной урлом страницы, а не всего сайта в целом.

Более подробную информацию по ошибкам с подсказками можно получить при проверке валидации css и html кода в отдельных программах.

Вот так выглядит описание ошибок и их причин в html-валидаторе:

Как видите, информация приведена на английском. К каждой ошибке или предупреждению прописан номер строки исходного кода, в которой она находится (Line 381, Line 652). В первую очередь нужно исправлять ошибки (красный значок). Если вы не знаете что это за ошибка и как ее исправлять, попробуйте поискать инфу на специализированных форумах, либо задавайте вопросы в комментариях к этой статье.

Опять-таки, валидатор html диагностирует исходный код, а исправлять ошибки нужно в соответствующих файлах вашего блога. О том, как их находить мы разбирали в статье про .

В данном валидаторе есть возможность включения дополнительных опций:

  • Можно группировать ошибки по одному типу (Group Error Messages by Type);
  • показать весь исходный код, который сервис использовал при анализе (Show Source);
  • проверять страницы, которые выдают Error (Validate error pages).

Кроме того, включенная функция «Clean up Markup with Html-Tidy» позволяет увидеть ваш код с исправленными ошибками по версии программы Html-Tidy. Правда, W3C предупреждает, что данная программа не является их разработкой, а, стало быть, гарантий, что код будет верным, они не дают. Однако данный код может вам послужить подсказкой при исправлении ошибок.

Подобную опцию исправления ошибок предоставляет и валидатор W3C CSS кода. Включать ее не нужно, она работает по умолчанию.

Кроме онлайн валидаторов сайтов, также есть возможность установить расширение для FireFox, которое будет проверять наличие ошибок в исходном коде страницы прямо в браузере. Называется оно «Html Validator».

Напомню также, что кроме html и css, есть также . Ее наличие немаловажно для поисковой оптимизации.

Сегодняшняя тема достаточно непростая. Когда вы приступите к исправлению ошибок, наверняка возникнет много вопросов. Желательно исправлять то, в чем вы уверенны, чтобы не поломать сайт. Не забывайте делать перед внесением изменений. Пока!

P.S. На днях мы взяли билеты на Камчатку в сентябре по чудо-цене 16600 с человека туда-обратно. Это очень дешево, таких цен не было давно. Если кто-то заинтересовался, думаю, еще можно успеть ухватить такие билеты. Лазать по вулканам и восхищаться дикой нетронутой природой мы будем с турклубом ПИК.

В этой статье я познакомлю с понятием «валидность» кода сайта (html & css). Надеюсь все помнят, html — это структура сайта. Css — правила и стили для тегов, которые описаны в html.

Будем разбираться с самых низов: теория, а далее перейдем к практике. Так же вы найдете ответы на следующие вопросы: что такое валидность html и css кода, зачем она нужна, почему поисковые системы любят чистый / валидный код. А самое то главное покажу на примерах как проводить проверку валидности кода сайта.

Зачем нужна проверка валидности html и css кода

Валидность — по-другому чистый код (без ошибок)

Константа № 1 . Валидность кода сайта позволяет правильно отображать сайт в разных браузерах т.е. вся визуальная и функциональная составляющая сайта отображается и работает правильно. Чаще всего получается, что браузер обрабатывает и отображает корректно все элементы сайта, но это не говорит о том, что код чист и гладок как попка младенца.

Константа № 2. Чистый код (html и css) поощряют поисковые машины (Yandex, Google). Говоря по-русски, когда робот поисковой машины приходит на ваш ресурс и видит что валидность соблюдена, то соответственно поисковой робот будет знать, что этот ресурс без ошибок, а значит к отношение к сайту в лучшую сторону.

Из личного опыта: В моей практике была ситуация, когда новые статьи на блоге ни в какую не хотели залетать в поисковую выдачу. Вроде делаешь то все правильно, а в выдаче Яндекса нет и все! Вот что делать, куда копать? Кто-то подумает фильтры — фильтры, но ничего такого нет.

Проверил сайт на валидность html кода, и как я был удивлен и понял где была собака зарыта. Оказалось что в коде отсутствовал закрывающий тег , а это тег специальный который закрывает участки кода или ссылки от поисковой машины Яндекса. И что же получается у меня было? Вся статья закрыта от индексации. Вот и ответ на вопрос: «Почему в поисковой выдаче нет». Потом естественно я эту ошибку устранил.

Перейдем от голого текста с теорией к практике, и научимся проводить проверку валидации онлайн

Производит несколько проверок Вашего кода. Основные из них:

  • Валидация синтаксиса - проверка на наличие синтаксических ошибок. является корректным синтаксисом, несмотря на то, что не является допустимым HTML-тэгом, так что проверка синтаксиса является минимально полезной для написания хорошего HTML.
  • Проверка вложенности тэгов - тэги должны быть закрыты в обратном порядке относительно их открытия. Например, эта проверка отлавливает ошибки с неправильно закрытыми .
  • Валидация DTD - проверка соответствия Вашего кода указанному Document Type Definition. Она включает проверку названий тэгов, атрибутов, и «встраивания» тэгов (тэги одного типа внутри тэгов другого типа)
  • Проверка на посторонние элементы - проверка выявляет все, что есть в коде, но отсутствует в DTD. Например, пользовательские тэги и атрибуты.
  • Имейте ввиду, что это логические проверки, и не важно как реализован валидатор. Если хотя бы одна из проверок не проходит успешно, то HTML считается невалидным. И в этом заключается проблема.Аргументы Основным аргументом за валидацию HTML является обеспечение кроссбраузерности. Каждый браузер имеет свой парсер и «скармливать» ему то, что понимают все браузеры - это единственный путь быть уверенным, что Ваш код будет работать правильно во всех браузерах. Поскольку каждый браузер имеет свой механизм коррекции ошибок HTML Вы не можете полагаться на невалидный код.

    Основным аргументом против валидации является то, что она слишком строгая и не соответствует тому, как на самом деле работают браузеры. Да, HTML может быть невалидным, но все браузеры могут обрабатывать некоторый невалидный код одинаково. Если я готов взять на себя ответственность за неправильный код, который я пишу, то я не должен беспокоиться о проверке. Единственное, о чем я должен заботиться - это чтобы оно работало.

    Моя позиция Это один из немногих случаев, когда я публично говорю о своей позиции по отношению к чему-нибудь. Я всегда был среди противников валидации, основываясь на том, что валидатор слишком строг, чтобы быть практичным в реальных приложениях. Есть вещи, которые поддерживаются большинством браузеров ( в , после ), которые являются невалидными, но иногда очень необходимы для правильной работы.

    Вообще, моей наибольшей проблемой валидации является проверка #4 (на посторонние элементы). Я сторонник использования пользовательских атрибутов в HTML тэгах для хранения дополнительных мета-данных, относящихся к определенному элементу. В моем понимании, это, например, добавить атрибут foo, когда у меня есть данные (bar), которые мне надо ассоциировать с определенным элементом. Иногда люди перегружают существующие атрибуты для этих целей только для того, чтобы пройти валидацию, несмотря на то, что атрибут будет использовать не по назначению. Для меня это бессмысленно.

    Секрет браузеров заключается в том, что они никогда не проверяют соответствие HTML-кода указанному DTD. Doctype, который Вы указали в документе, переключает парсер браузера в определенный режим, но это не приводит к загрузке doctype и проверке кода на соответствие ему. То есть, парсер браузеров обрабатывает HTML с некоторыми допущениями невалидности, вроде самозакрывающихся тэгов и блочных элементов внутри строковых (я уверен, что есть и другие).

    В случае пользовательских атрибутов, все браузеры парсят и распознают синтаксически корректные атрибуты как допустимые. Это делает возможным получить доступ к таким атрибутам через DOM с помощью Javascript. Так почему я должен беспокоиться о валидности? Я буду продолжать использовать свои атрибуты и я очень рад, что HTML5 формализует их.

    Лучший пример технологии, которая приводит к невалидному HTML, но имеет огромное значение, - это ARIA . ARIA работает с помощью добавления новых атрибутов в HTML 4. Эти атрибуты предоставляют дополнительное семантическое значение HTML-элементам и браузер способен передать эту семантику вспомогательным устройствам для помощи людям с ограниченными физическими возможностями. Все основные браузеры сейчас поддерживают разметку ARIA. Однако, если Вы будете использовать эти атрибуты, у Вас будет невалидный HTML.

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

    Чтобы прояснить мою позицию: я считаю, что проверки #1 и #2 являются очень важными и должны проводиться всегда. Проверку #3 я тоже считаю важной, но не столь, как первые две. Проверка #4 очень сомнительна для меня, так как она задевает пользовательские атрибуты. Я считаю, что, как максимум, пользовательские атрибуты должны быть помечены как предупреждения (а не ошибки) в результатах проверки, чтобы была возможность проверить, не ошибся ли я при вводе названия атрибута. Отметка пользовательских тэгов как ошибок, возможно, хорошая идея, но тоже имеет некоторые проблемы, например, при встраивании содержимого в другой разметке - SVG или MathML.

    Валидация ради валидации? Я считаю, что валидация ради валидации - это крайне глупо. Валидный HTML означает только лишь то, что все 4 проверки прошли без ошибок. Есть несколько важных вещей, которых не гарантирует валидный HTML:
    • валидный HTML не гарантирует accessibility;
    • валидный HTML не гарантирует хороший UX (user experience);
    • валидный HTML не гарантирует функционирующий сайт;
    • валидный HTML не гарантирует корректное отображение сайта.
    Валидный HTML может служить поводом гордиться самим собой, но само по себе это не является показателем мастерства. Ваш валидный код не всегда лучше выполняет свои функции чем мой невалидный.Валидация HTML5 Валидация HTML5 исправит некоторые проблемы, которые были с валидацией HTML 4. Она явно позволяет употребление пользовательских атрибутов (они должны начинаться с data-). Это позволит моему коду пройти проверку на валидность для HTML5. Конечно, есть некоторые моменты в валидаторе HTML5, с которыми я не согласен, но я считаю, что он намного больше соответствует практическим потребностям чем валидатор HTML 4. Заключение Я считаю, что некоторые составляющие HTML-валидации крайне важны и полезны, но я не хочу быть ее заложником, потому что я использую свои атрибуты. Я горжусь тем, что я использую ARIA в моей работе и мне безразлично то, что это считается невалидным кодом. Опять же, из четырех проверок валидатора у меня есть проблемы только с одной. И HTML5 валидатор избавит меня от большинства этих проблем.

    Я знаю, что для многих это спорная тема, поэтому, пожалуйста, воздержитесь от чисто эмоциональных высказываний в комментариях.

    UPD: спасибо за карму, перенес в тематический. Повторю слова автора: я понимаю, это спорная тема, но пожалуйста, воздержитесь от чисто эмоциональных комментариев, приводите аргументы.

    Пожалуй, каждый человек, активно интересующийся разработкой и поисковым продвижением Интернет-ресурсов, хотя бы раз сталкивался с таким термином, как валидность кода сайта. Так что же означает столь загадочное, на первый взгляд, словосочетание?

    Валидность кода означает использование языка разметки гипертекста (HTML) сайта, который в полной мере соответствует всем правилам и стандартам Консорциума Всемирной Паутины (World Wide Web Consortium или сокращенно W3C).

    Четкое соблюдение всех этих правил и стандартов дает сайту целый ряд преимуществ, а именно: кроссбраузерность (корректное отображение страниц сайта во всех популярных браузерах), увеличение скорости загрузки веб-страниц, позитивное восприятие ресурса поисковыми системами и другие факторы.

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

    Как проверить валидность кода сайта?

    Для того, чтобы проверить код на предмет его структурированности и чистоты (валидности), следует воспользоваться одним из множества онлайн чекеров (валидаторов). На официальном сайте Консорциума Всемирной Паутины также можно проверить валидность кода сайта :

    validator.w3.org на валидность HTML и jigsaw.w3.org/css-validator на валидность CSS.

    Сервис validator.w3.org дает возможность проверить валидность языка разметки гипертекста сайта одним из трех предложенных способов:

  • Validate by URI - проверка валидности HTML по адресу веб-страницы;
  • Validate by File Upload - проверка валидности HTML загруженного документа;
  • Validate by Direct Input - проверка валидности фрагмента HTML-кода.
  • Для того, чтобы выбрать нужный способ проверки валидности кода, нужно всего лишь переключиться на соответствующую вкладку:

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

    Результат очень даже приличный, поскольку при проверке на валидность подавляющего большинства сайтов будут сотни, а иногда и тысячи ошибок.

    Как исправить ошибки кода?

    Если при проверке валидности кода своего ресурса было найдено большое количество ошибок, то ни в коем случае не стоит расстраиваться . Хотя бы потомучто сайтов, полностью соответствующих правилам и стандартам W3C, не так уж много. И все ошибки можно довольно быстро исправить. И зачастую это можно сделать даже без посторонней помощи.

    По окончанию проверки кода веб-страницы валидатор выдает список всех ошибок и угроз с детальными разъяснениями и инструкциями по их устранению. Все это сопровождается примерами, благодаря чему исправление ошибок кода не составит большого труда даже для новичка.

    Влияет ли валидность кода на поисковое продвижение?

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

    • поисковые системы в алгоритмах ранжирования при прочих равных условиях отдают предпочтение более качественным сайтам;
    • валидный код легко и быстро обрабатывается, и вероятность его неверного прочтения поисковыми ботами минимальна.

    Несомненно, работать над ошибками в коде нужно, но и ошибки могут быть разные, не все могут привести к плохому ранжированию сайта, если у вас не +100500 и более ошибок, то это не повод для беспокойства! Исправьте те, которые вы (как хозяин своего сайта) считаете наиболее опасными. Это лично моё мнение и оно может не разделять мнение кого либо из читателей.

    А вот что Google думает о валидности кода сайтов . Официальная позиция поисковика относительно влияния валидности кода на поисковую оптимизацию представлена в этом коротеньком видео.

    Все представленные сервисы в этой крайне полезной подборке помогают веб-дизайнеру протестировать свой сайт на предмет соответствия стандартам и общепринятым нормам веб-разработчиков. В частности можно проверить правильность HTML кода страницы, CSS стилей, доступность сайта во всем мире, доступность для мобильных устройств, экстремальную нагрузку на сайт, скорость загрузки страниц, как выглядит сайт в различных браузерах и в частности в Internet Explorer.

    1. Checklink
    Проверяет сайт или страницу на предмет наличия битых ссылок

    2. URL checker
    Проверяет доступность сайта в разных точках земного шара.

    3. Mobile checker
    Проверяет насколько сайт доступен для мобильных устройств и выдает список ошибок и замечаний.

    4. Unicorn
    Несколько тестов для сайта, в частности HTML 1.0 и Feed валидация.

    5. CSS validator
    Проверка каскадных таблиц стилей (CSS) и документов (X)HTML.

    6. RSS Feed Validator
    Проверка синтаксиса RSS каналов.

    7. Accessibility with style
    Тестирует сайт на соответствие стандартам WCAG 1.0.

    8. Color contrast
    Проверяет цветовой контраст между передними и задними элементами сайта.

    9. WDG HTML Validator
    HTML валидатор веб-страницы.

    10. Dr. Watson’s site validation check
    Комплексная проверка сайта по нескольким направлениям: HTML, ссылки, ссылки картинок, скорость загрузки, СЕО.

    11. Robots checker
    Сервис для проверки файла robots.txt.

    12. Firebug Firefox Extension
    Расширение для Firefox с набором инструментов для тестирования.

    13. Load Impact
    Тестирование сайта в экстремальных условиях повышенной нагрузки на сайт.

    14. Accessibility-Checker
    Еще один сервис для тестирования сайта на соответствие стандартам.

    15. Viewlike.us — сервис не работает
    Показывает как выглядит сайт при разных разрешениях экрана.



    Рекомендуем почитать

    Наверх