Как убрать ошибку валидации

Просмотров 8.7к. Опубликовано 19.12.2022
Обновлено 19.12.2022

Каждый сайт, который создает компания, должен отвечать принятым стандартам. В первую очередь затем, чтобы он попадал в поисковую выдачу и был удобен для пользователей. Если код страниц содержит ошибки, неточности, он становится “невалидным”, то есть не соответствующим требованиям. В результате интернет-ресурс не увидят пользователи или информация на нем будет отображаться некорректно. 

В этой статье рассмотрим, что такое валидность, какие могут быть ошибки в HTML-разметке и как их устранить.

Содержание

  1. Что такое HTML-ошибка валидации и зачем она нужна
  2. Чем опасны ошибки в разметке
  3. Как проверить ошибки валидации
  4. Предупреждения
  5. Ошибки
  6. Пример прохождения валидации для страницы сайта
  7. Как исправить ошибку валидации
  8. Плагины для браузеров, которые помогут найти ошибки в коде
  9. Коротко о главном

Что такое HTML-ошибка валидации и зачем она нужна

Под понятием  “валидация” подразумевается процесс онлайн-проверки HTML-кода страницы на соответствие стандартам w3c. Эти стандарты были разработаны Организацией всемирной паутины и стандартов качества разметки. Сама организация продвигает идею унификации сайтов по HTML-коду — чтобы каждому пользователю, вне зависимости от браузера или устройства, было удобно использовать ресурс.

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

Чем опасны ошибки в разметке

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

К наиболее распространённым последствиям ошибок в коде HTML-разметки также относят сбои в нормальной работе сайта и помехи в продвижении ресурса в поисковых системах.

Рассмотрим несколько примеров, как ошибки могут проявляться при работе:

  • Медленно подгружается страница 

Согласно исследованию Unbounce, более четверти пользователей покидают страницу, если её загрузка занимает более 3 секунд, ещё треть  уходит после 6 секунд;

  • Не видна часть текстовых, фото и видео-блоков 

Эта проблема делает контент для пользователей неинформативным, поэтому они в большинстве случаев уходят со страницы, не досмотрев её до конца;

  • Страница может остаться не проиндексированной

Если поисковый робот распознает недочёт в разметке, он может пропустить страницу и прервать её размещение в поисковых системах;

  • Разное отображение страниц на разных устройствах

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

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

Как проверить ошибки валидации

Владельцы ресурсов используют 2 способа онлайн-проверки сайтов на наличие ошибок — технический аудит или использование валидаторов. 

Первый случай подходит для серьёзных проблем и масштабных сайтов. Валидаторами же пользуются ежедневно. Наиболее популярный — сервис The W3C Markup Validation Service. Он сканирует сайт и сравнивает код на соответствие стандартам W3C. Валидатор выдаёт 2 типа несоответствий разметки стандартам W3C: предупреждения и ошибки. 

Давайте рассмотрим каждый из типов чуть подробнее.

Предупреждения

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

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

Примером предупреждения может быть указание на отсутствие тега alt у изображения. 

Ошибки

Ошибки  —  это те проблемы, которые требуют обязательного устранения. 

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

Распространённым примером ошибки может быть отсутствие тега <!DOCTYPE html> в начале страницы, который помогает информации преобразоваться в разметку. 

Пример прохождения валидации для страницы сайта

Рассмотрим процесс валидации на примере сайта avavax.ru, который создали на WordPress.

пример ошибки валидации

В результате проверки валидатор выдал 17 замечаний. После анализа отчета их можно свести к 3 основным:

  1. атрибут ‘text/javascript’ не требуется при подключении скрипта;
  2. атрибут ‘text/css’ не требуется при подключении стиля;
  3. у одного из элементов section нет внутри заголовка h1-h6.

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

Решить проблемы с предупреждениями для стилей и скриптов можно через добавление кода в файл темы function.php.

Добавление кода в файл

Для этого на хук wp_loaded нужно повесить функцию output_buffer_start(), которая загрузит весь генерируемый код html в буфер. При выводе в буфер вызывается функция output_callback($tag), которая просматривает все теги, находит нежелательные атрибуты с помощью регулярных выражений и заменяет их пробелами. Затем на хук ‘shutdown вешается функция output_buffer_end(), которая возвращает обработанное содержимое буфера.

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

  1. Добавить заголовок в код:  <h3>Обо мне</h3>

Отключить отображение заголовка:

1 #about h3 {
2 display: none;
3 }

После этой части заголовок будет в коде, но валидатор его увидит, а посетитель — нет. 

За 3 действия удалось убрать все предупреждения, чтобы качество кода устроило валидатор. Это подтверждается зелёной строкой с надписью: “Document checking completed. No errors or warnings to show”.

Как исправить ошибку валидации

Всё зависит от того, какими техническими знаниями обладает владелец ресурса. Он может сделать это сам, вручную. Делать это нужно постепенно, разбирая ошибку за ошибкой. Но нужно понимать, что если при проверке валидатором было выявлено 100 проблем — все 100 нужно обязательно решить. 

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

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

Плагины для браузеров, которые помогут найти ошибки в коде

Для поиска ошибок валидации можно использовать и встроенные в браузеры плагины. Они помогут быстро находить неточности еще на этапе создания кода. 

Для каждого браузера есть свой адаптивный плагин:

  • HTML Validator для браузера Firefox;
  • HTML Validator for Chrome;
  • HTML5 Editor для Opera.

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

Коротко о главном

Валидация — процесс выявления проблем с HTML-разметкой сайта и ее соответствия стандартам W3C. Это унифицированные правила, с помощью которых сайт может нормально работать и отображаться и для поисковых роботов, и для пользователей. 

Проверку ресурса можно проводить тремя путями: валидаторами, специалистам полномасштабного аудита и плагинами в браузере. В большинстве случаев валидатор — самое удобное и быстрое решение для поиска проблем. С его помощью можно выявить 2 типа проблем с разметкой — предупреждения и ошибки. 

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

Даже у крупных сайтов с миллионной аудиторией, например, Яндекс.Дзен или ВКонтакте, есть проблемы с кодом. Но комплексный подход к решению проблем помогает устранять серьёзные моменты своевременно. Нужно развивать сайт всесторонне, чтобы получить результат от его существования и поддержки. Если самостоятельно разобраться с проблемами не получается, не стоит “доламывать” — лучше обратиться за помощью к профессионалам, например, агентствам по веб-аудиту. 

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

Комплексный аудит сайта, что входит, как сделать

Ошибка валидации, что это такое?

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

Почему ошибки валидации сайта оказывают влияние на ранжирование, восприятие?

Наличие погрешностей в коде – проблема, с которой необходимо бороться сразу после обнаружения. Поисковые системы «читают» HTML-код, если он некорректный, то процесс индексации и ранжирования может быть затруднен. Поисковые роботы должны понимать, каким является ресурс, что он предлагает, какие запросы использует. Особо критичны такие ситуации для ресурсов, имеющих большое количество веб-страниц.

Как проверить ошибки валидации?

Как проверить ошибки валидации
Для этой работы используется либо технический аудит сайта, либо валидаторы, которые ищут проблемы автоматически. Одним из самых популярных является сервис The W3C Markup Validation Service, выполняющий сканирование с оглядкой на World Wide Web Consortium (W3C). Рассматриваемый валидатор предлагает три способа, с помощью которых можно осуществить проверку сайта:

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

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

Существуют другие сервисы, позволяющие выполнить проверку валидности кода:

  • Dr. Watson. Проверяет скорость загрузки страниц, орфографию, ссылки, а также исходный код;
  • InternetSupervision.com. Отслеживает производительность сайта, проверяет доступность HTML.

Плагины для браузеров, которые помогут найти ошибки в коде

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

  • HTML Validator для браузера Firefox;
  • HTML Validator for Chrome;
  • Validate HTML для Firefox.

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

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

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

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

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

Технический и SEO-аудит

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

В заключение

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

Что такое ошибки валидации и как их исправить

Просмотров 1.2к. Опубликовано 19.12.2022
Обновлено 19.12.2022

Каждый сайт, который создает компания, должен отвечать принятым стандартам. В первую очередь затем, чтобы он попадал в поисковую выдачу и был удобен для пользователей. Если код страниц содержит ошибки, неточности, он становится “невалидным”, то есть не соответствующим требованиям. В результате интернет-ресурс не увидят пользователи или информация на нем будет отображаться некорректно. 

В этой статье рассмотрим, что такое валидность, какие могут быть ошибки в HTML-разметке и как их устранить.

Содержание

  1. Что такое HTML-ошибка валидации и зачем она нужна
  2. Чем опасны ошибки в разметке
  3. Как проверить ошибки валидации
  4. Предупреждения
  5. Ошибки
  6. Пример прохождения валидации для страницы сайта
  7. Как исправить ошибку валидации
  8. Плагины для браузеров, которые помогут найти ошибки в коде
  9. Коротко о главном

Что такое HTML-ошибка валидации и зачем она нужна

Под понятием  “валидация” подразумевается процесс онлайн-проверки HTML-кода страницы на соответствие стандартам w3c. Эти стандарты были разработаны Организацией всемирной паутины и стандартов качества разметки. Сама организация продвигает идею унификации сайтов по HTML-коду — чтобы каждому пользователю, вне зависимости от браузера или устройства, было удобно использовать ресурс.

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

Чем опасны ошибки в разметке

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

К наиболее распространённым последствиям ошибок в коде HTML-разметки также относят сбои в нормальной работе сайта и помехи в продвижении ресурса в поисковых системах.

Рассмотрим несколько примеров, как ошибки могут проявляться при работе:

  • Медленно подгружается страница 

Согласно исследованию Unbounce, более четверти пользователей покидают страницу, если её загрузка занимает более 3 секунд, ещё треть  уходит после 6 секунд;

  • Не видна часть текстовых, фото и видео-блоков 

Эта проблема делает контент для пользователей неинформативным, поэтому они в большинстве случаев уходят со страницы, не досмотрев её до конца;

  • Страница может остаться не проиндексированной

Если поисковый робот распознает недочёт в разметке, он может пропустить страницу и прервать её размещение в поисковых системах;

  • Разное отображение страниц на разных устройствах

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

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

Как проверить ошибки валидации

Владельцы ресурсов используют 2 способа онлайн-проверки сайтов на наличие ошибок — технический аудит или использование валидаторов. 

Первый случай подходит для серьёзных проблем и масштабных сайтов. Валидаторами же пользуются ежедневно. Наиболее популярный — сервис The W3C Markup Validation Service. Он сканирует сайт и сравнивает код на соответствие стандартам W3C. Валидатор выдаёт 2 типа несоответствий разметки стандартам W3C: предупреждения и ошибки. 

Давайте рассмотрим каждый из типов чуть подробнее.

Предупреждения

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

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

Примером предупреждения может быть указание на отсутствие тега alt у изображения. 

Ошибки

Ошибки  —  это те проблемы, которые требуют обязательного устранения. 

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

Распространённым примером ошибки может быть отсутствие тега <!DOCTYPE html> в начале страницы, который помогает информации преобразоваться в разметку. 

Пример прохождения валидации для страницы сайта

Рассмотрим процесс валидации на примере сайта avavax.ru, который создали на WordPress.

пример ошибки валидации

В результате проверки валидатор выдал 17 замечаний. После анализа отчета их можно свести к 3 основным:

  1. атрибут ‘text/javascript’ не требуется при подключении скрипта;
  2. атрибут ‘text/css’ не требуется при подключении стиля;
  3. у одного из элементов section нет внутри заголовка h1-h6.

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

Решить проблемы с предупреждениями для стилей и скриптов можно через добавление кода в файл темы function.php.

Добавление кода в файл

Для этого на хук wp_loaded нужно повесить функцию output_buffer_start(), которая загрузит весь генерируемый код html в буфер. При выводе в буфер вызывается функция output_callback($tag), которая просматривает все теги, находит нежелательные атрибуты с помощью регулярных выражений и заменяет их пробелами. Затем на хук ‘shutdown вешается функция output_buffer_end(), которая возвращает обработанное содержимое буфера.

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

  1. Добавить заголовок в код:  <h3>Обо мне</h3>

Отключить отображение заголовка:

1 #about h3 {
2 display: none;
3 }

После этой части заголовок будет в коде, но валидатор его увидит, а посетитель — нет. 

За 3 действия удалось убрать все предупреждения, чтобы качество кода устроило валидатор. Это подтверждается зелёной строкой с надписью: “Document checking completed. No errors or warnings to show”.

Как исправить ошибку валидации

Всё зависит от того, какими техническими знаниями обладает владелец ресурса. Он может сделать это сам, вручную. Делать это нужно постепенно, разбирая ошибку за ошибкой. Но нужно понимать, что если при проверке валидатором было выявлено 100 проблем — все 100 нужно обязательно решить. 

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

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

Плагины для браузеров, которые помогут найти ошибки в коде

Для поиска ошибок валидации можно использовать и встроенные в браузеры плагины. Они помогут быстро находить неточности еще на этапе создания кода. 

Для каждого браузера есть свой адаптивный плагин:

  • HTML Validator для браузера Firefox;
  • HTML Validator for Chrome;
  • HTML5 Editor для Opera.

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

Коротко о главном

Валидация — процесс выявления проблем с HTML-разметкой сайта и ее соответствия стандартам W3C. Это унифицированные правила, с помощью которых сайт может нормально работать и отображаться и для поисковых роботов, и для пользователей. 

Проверку ресурса можно проводить тремя путями: валидаторами, специалистам полномасштабного аудита и плагинами в браузере. В большинстве случаев валидатор — самое удобное и быстрое решение для поиска проблем. С его помощью можно выявить 2 типа проблем с разметкой — предупреждения и ошибки. 

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

Даже у крупных сайтов с миллионной аудиторией, например, Яндекс.Дзен или ВКонтакте, есть проблемы с кодом. Но комплексный подход к решению проблем помогает устранять серьёзные моменты своевременно. Нужно развивать сайт всесторонне, чтобы получить результат от его существования и поддержки. Если самостоятельно разобраться с проблемами не получается, не стоит “доламывать” — лучше обратиться за помощью к профессионалам, например, агентствам по веб-аудиту. 

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

валидация сайта

Валидация сайта

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

Если простыми словами, то валидация сайта — это проверка кода сайта на техническое соответствие и ошибки. Ну например, вы забыли использовать закрывающий тег — /html.  В последнем HTML5, визуально ничего не поменяется. Однако, это ошибка кода.

При написании кода, возможны и другие ошибки. И опять-таки, современный язык гипер разметки «стерпит» многое. Например, «забытие» закрывающего тега /head. И снова вы не увидите разницу. Но она есть))

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

В чем опасность?

Ну казалось-бы, ну и что тут такого? Да, нужно сказать, что зачастую такие ошибки не видимы. Точнее, невидимы человеком. А ведь страницы нашего сайта могут посетить не только люди, но и поисковые пауки, которые полностью просматривают сайт. И каждую ошибку, которую они находят на сайте, они передают на сервера поисковиков, таких как Яндекс или Гугл.

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

Да, надо признать, определенная пессимизация сайта из-за ошибок валидации, это довольно редкое явление. Но это вполне возможно, а значит, над валидацией обязательно нужно работать. А что для этого нужно сделать? Понятное дело, вначале ошибки нужно найти.

Но поскольку вручную это очень трудоёмкое и ненадежное дело, то для поиска ошибок, используются специальные сервисы, так называемые «Валидаторы».

Валидатор Markup Validation Service.

сервис Markup Validation Service

Этот сервис проверяет правильность кодов HTML и XHTML, которые являются основой большей части страниц при создании практически любого сайта и определяют его внутреннюю структуру. На этот сервис валидатора можно попасть, если пройти по ссылке http://validator.w3.org

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

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

поле для ввода url

Вот именно с него и надо начинать.

Вообще-то, проверка валидации сайта чрезвычайно проста, как и весь наш бренный мир: в адресном окне сервиса надо написать адрес сайта, т.е. его URL и затем нажать «Check». После такого простого действия, валидатор «попыхтит» несколько секунд и выдаст следующее:

Валидатор не нашел ошибок в коде страницы

Это означает, что никаких ошибок в коде страницы нет и Вы можете быть абсолютно спокойны.

Но также может быть и такой нежелательный вариант:

предупреждение об ошибках в коде

Это уже похуже и означает, что во внутреннем коде проверяемой страницы есть какие-то ошибки. Однако, это совсем не смертельно: просто надо прокрутить страницу ниже и там подробно будут написаны все найденные ошибки в процессе проверки.

Список ошибок найденных валидатором в коде страницы

Кроме того, валидатор не только перечислит найденные ошибки, но и точно покажет, на какой строке внутреннего кода эти ошибки расположены. Так что долго их искать не придётся. Здесь, ничего не преувеличивая, можно твёрдо сказать, что этот валидор работает прекрасно.

Но это ещё не всё: валидатор не только указывает местоположение обнаруженной ошибки кода, но и даёт достаточно полные рекомендации, каким образом можно устранить эти ошибки. Конечно, для этого не надо лениться и внимательно прочитать всё написанное.

В качестве краткого и обобщенного вывода, можно сказать следующее:

  1. данный сервис валидатора работает прекрасно и может очень быстро провести проверку сайта.
  2. Ну и небольшое, но очень приятное дополнение: валидация сайта производиться бесплатно.
  3. Сейчас можно перейти к следующему этапу: это проверка кода CSS.

Валидатор CSS Validation Service

CSS Validation Service

В общем это вторая функция вышеописанного сервиса, но она «заточена» не для проверки кода HTML и XHTML, а конкретно для проверки правильности кода стиля CSS, расположенного на внешней таблице. А чтобы попасть на страницу сервиса, надо пройти по ссылке http://jigsaw.w3.org/css-validator.

Кстати, здесь стоит отметить нечто приятное: проверка на этом сервисе абсолютно бесплатна. Так что не надо вытаскивать деньги из своего кошелька — пусть они лежат до нужного момента. Однако перейдём к методике работы на этом втором сервисе.

В общем-то вся работа на валидаторе CSS абсолютно идентична проверке на чистоту кода. Поэтому, приводить отдельную картинку адресной строки валидатора нет необходимости. Просто чуть ниже кратко рассмотрим непосредственно порядок самой проверки и всё.

Для этого надо в адресной строке записать URL таблицы CSS, типа «http://мой сайт/style.css» и после этого нажать кнопку с русской надписью «Проверить». Соответственно, этот валидатор тоже несколько секунд «попыхтит» и выдаст искомый результат:

ошибок в CSS не найдено

Это значит, что таблица CSS написана правильно и никаких ошибок в ней не обнаружено.

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

Вполне может быть, что случиться и такой вариант:

Сервис валидации нашел ошибки в CSS

Это значит, что обнаружены какие-то ошибки в коде CSS, но пугаться этого совсем не стоит. Сразу внизу под этой красной строкой, валидатор точно укажет, какой тег написан неправильно. Остаётся только в таблице стиля найти эти теги и сделать нужные исправления.

подробная информация о найденных ошибках

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

Краткое резюме.

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

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

Заранее хочется сказать, что все остальные проверки проходят также быстро и просто, как и рассмотренные выше — надо только внимательно прочитать порядок работы с валидатором.

Добавлено 19.04.2018г.

Распространенные ошибки валидности при проверке html кода

Решил дополнить статью ошибками HTML кода, которые часто встречаются на сайтах. Во всяком случае у меня их было много)). Сами ошибки валидатор подсвечивает желтым цветом.

1) Error: Character reference was not terminated by a semicolon.

1
Ошибка: символ не был прерван точкой с запятой — соответственно надо добавить.

2) Warning: Section lacks heading. Consider using h2-h6 elements to add identifying headings to all sections.

2
Предупреждение: Раздел не имеет заголовка. Рассмотрите возможность использования элементов h2-h6 для добавления идентифицирующих заголовков ко всем разделам. Тут все понятно, надо добавить хотя бы один подзаголовок. Это даже не ошибка, а рекомендация.

3) Error: Element noindex not allowed as child of element p in this context.

3
Ошибка: элемент noindex не разрешен как дочерний элемент элемента p в этом контексте. (Подавление дальнейших ошибок из этого поддерева.)
Решение простое, надо закомментировать тег ноиндекс, вид будет таким:

noindex

4) Error: The center element is obsolete.

4
Ошибка: тег «center» устарел — надо заменить, если речь про img то можно использовать атрибут align. Если что-то другое центрировали, то заменить на div.

5) An img element must have an alt attribute, except under certain

5
Ошибка: Элемент img должен иметь атрибут alt -тут все понятно, надо добавить атрибут альт, даже если он будет незаполненный, то ошибка уйдет.

6) The width attribute on the td element is obsolete. Use CSS instead.

Ошибка: Атрибут «width» на элементе «td» устарел

tab

7) The type attribute is unnecessary for javascript resources

6
Ошибка: атрибут type не нужен для ресурсов javascript. Решение просто удаляем все лишнее и оставляем только тег «script».

8) The align attribute on the img element is obsolete.

7
Ошибка: Атрибут align для элемента img устарел. Сделайте выравнивание изображений дивами.

Ошибка: Неправильное использование тега «li»: отсутствует тег «ul», «ol» . Нужно проверить вложенность элементов списка.

10) End tag for «div» omitted, but OMITTAG NO was specified

Ошибка: Не хватает закрывающего тега div. Решение — добавляем элемент

11) End tag for element «div» which is not open

Ошибка: закрывающий тег div лишний. Соответственно удаляем.

Жду ваших комментариев, а у вас на сайтах валидный код?

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

Проверить сайт на валидность важно по нескольким причинам:

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

Всему этому необходимо следовать. А задает эти нормы W3C Консорциум Всемирной паутины ( World Wide Web Consortium ).

Проверка HTML кода на валидность

W3C предоставляет для всех вебмастеров валидатор html кода, чтобы проверить валидность сайта.

 Валидность сайта

 Validate by URI — проверка по URL
Validate by File Upload — проверить загружаемый файл
Validate by Direct Input — вставка и проверка участка кода

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

Валидность HTML кода

Подмечу, что часто достаточно исправить 1 или пару ошибок, чтобы сайт полностью соответствовал правилам. ( Например, в этом случае достаточно было сделать 1 исправление в 1 файле, чтобы пропало 5 ошибок ).

Далее будет выведен список ошибок и их решение.

Ошибки валидности сайта

Все на английском, правда в валидаторе есть полезная опция «Clean up Markup with HTML-Tidy», ниже расскажу о ней.

Также  можно будет выбрать дополнительные опции при проверке на валидность:

    • Show Source – отобразить исходный код вашей страницы
    • Show Outline – показать строку, где есть ошибки
    • Validate error pages – проверить страницы ошибок, например 404 — страницы не существует
    • List Messages Sequentially – показать ошибки и предупреждения списком, последовательно
    • Group Error Messages by Type – группировать ошибки с общими признаками
    • Clean up Markup with HTML Tidy — программа HTML Tidy выводит исправленный код, не входит в состав W3C validator, поэтому не гарантируется полная корректность

Исправление ошибок валидности

Теперь попытаемся разобраться как исправлять ошибки.

1. Копируем строчку с ошибкой ( … не копируем, это продолжение кода )

2. Определяем в каком файле она находится. Открываем сайт, CTRL + U просматриваем исходный код страницы и ищем ошибку CTRL + F. Часто ошибка не связана с файлами шаблона, она может находиться в файлах плагинов, либо в подпапках вашего шаблона, поэтому нужны некоторые знания

3. Далее открываем файл и при помощи записи под ошибкой, либо при помощи программы HTML Tidy ( включаем опцию вверху страницы валидатора), в таком случае ищем уже исправленный код ( просто копируйте код на 2-3 символа до красного выделения ). И исправляем.

Часто встречаемые ошибки валидации

Тег noindex

Пример:
<noindex> <a rel=»nofollow» href=»…» >…</a></noindex>

Ошибка валидатора: You have used the element named above in your document, but the document type you are using does not define an element of that name

Пояснение: noindex — не входит официальную спецификацию тега языка гипертекстовой разметки веб-страниц HTML. Также полезно знать, что ЯНДЕКС учитывает, как и Google, Yahoo и Bing, relnofollow»

Правильно:
<a rel=»nofollow» href=»…» >…</a>

Пример:
<a href="index.php?pid=1&id=2">...</a>

Ошибка валидатора: Unknown entity…

Пояснение:  использовать &amp; вместо &

Правильно:
<a href="index.php?pid=1&amp;id=2">...</a>

Неверная вложенность

Пример:
<strong><li>...</strong></li>

Ошибка валидатора: Missing </li> tag

Пояснение: элементы должны быть закрыты в обратном порядке их открытию

Правильно:
<strong><li>...</li></strong>

Чувствительность DOCTYPE к регистру

Пример:
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >

Ошибка валидатора: Missing DOCTYPE

Пояснение: DOCTYPE зависим к регистру

Правильно:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="<a>http://www.w3.org/1999/xhtml</a>" >

Не прописан закрывающий «/»

Пример:
style.css" type="text/css" media="screen">

Пояснение:  «пустые элементы», как img или br, должны заканчиваться»/» c пробелом перед этим

Правильно:
…style.css» type=»text/css» media=»screen» />

Тэги прописаны в верхнем регистре

Пример:
<STRONG><LI>...</LI></STRONG>

Ошибка валидатора: There is no such element…

Пояснение: в XHTML документах все элементы и атрибуты должны быть в нижнем регистре, т.к. этот язык регистрозависим и для него <li> и <LI> разные тэги

Правильно:
<strong><li>...</li></strong>

Значения атрибутов прописаны без кавычек

Пример:
<style type=text/css>...</style>

Ошибка валидатора: Missing » »

Пояснение: значения атрибутов пишутся вместе с кавычками

Правильно:
<style type="text/css">...</style>

У img отсутствует атрибут alt

Пример:

<img src="/image/1.png" height="10" width="10" alt="" title="">

Ошибка валидатора: required attribute «alt» not specified

Пояснение: у тега img атрибут alt должен быть всегда, значение можно оставить пустым, если картинка используется для оформления

Правильно:

<img src="/image/1.png" height="10" width="10" alt="" title="">

В итоге вы сможете исправить ошибки сайта и сделать сайт валидным.

Валидность HTML кодаДля начала немного теории. Валидность HTML – это соответствие кодов html и каскадных таблиц стилей CSS неким стандартам, которые задает нам Консорциум Всемирной Паутины (W3C – World Wide Web Consortium). На производстве – ГОСТ, в русском языке – грамматика, а в интернете – валидность. Страницы сайта, прошедшего проверку на соответствие стандартам W3C будут правильно отображаться в современных браузерах, вырастет скорость загрузки и как следствие — маленький плюсик при ранжировании в поисковой выдаче.

Проверить валидность HTML кода сайта можно официальным валидатором стандарта W3C.

Онлайн сервис проверки валидности html кода страниц сайта Здесь мы видим три вкладки проверки:

  • Validate by URL – по URL адресу;
  • Validate by File Upload – загруженного файла;
  • Validate by Direct Input — непосредственно HTML кода страницы сайта.

Начните проверку по URL с главной страницы своего сайта (блога), а затем проверьте отдельные страницы, на которых вставлены какие-либо скрипты или блоки (голосование, различные сервисы, фотогалереи и т. д.).

Перед проверкой нажмите на кнопку «More Options» и выберите параметры отображения ошибок.

Онлайн сервис проверки валидности html кода страниц сайта

  • Show Source – с выводом исходного (с ошибками) кода;
  • Validate error pages – проверка страниц вывода ошибок (404 страница);
  • Show Outline – вывод строки с ошибкой;
  • Verbose Output — отображение заголовков, передаваемых сайтом браузеру: дата изменения документа, его размер и тип, параметры сервера;
  • Clean up Markup with HTML Tidy – вывод правильного кода (по версии html Tidy), которым можно заменить неправильный. Полезная функция, должна здорово помочь при исправлении ошибок. По моим наблюдениям, работает только с мелкими ошибками – пропущена кавычка, не закрыт тег, и т. д.
  • List messages Sequentially – вывод ошибок и предупреждений по порядку;
  • Group Error Messages bu Type – вывод ошибок и предупреждений в группах по типу.

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

После проверки этой моей страницы валидатор выдал предупреждение на линии 252 и ошибку на линии 263.

Ошибки кода HTML После перевода этой абракадабры можно понять, что для устранения предупреждения на линии 252 рекомендуется заменить символ «<» (в куске кода выделен красным цветом) на амперсанд «&amp;«. Опустимся на линию 252 приведенного HTML кода нашей страницы ниже.

Валидность кода Dr.Web-poisk

Сразу становится понятным то, что это код поиска вирусов онлайн от Dr.Web, включенный мной в пост в HTML редакторе.

Validnostj-koda-Dr.Web-ispravlenie

1. Как и было рекомендовано символ «<» заменяем на амперсанд «&amp;«. 2. Проделываем аналогичную операцию с закрывающим символом «>» на линии 263. Проводим перепроверку страницы валидатором.

Валидность HTMK

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

Довольно часто, почти всегда, ошибки кроются в плагинах. В этих случаях ошибку найти не так просто, и я рекомендую воспользоваться инструментом «поиск» файл менеджера Total Commander. Как использовать этот инструмент файл менеджера я уже писал в статье «Внешние ссылки» и повторяться здесь не буду.

Многим блогерам, особенно тем, кто плотно не знаком с HTML, будет трудно понять чего нам говорит валидатор. Для облегчения понимания сути ошибки и ее исправления скачайте шпаргалку — подсказку по ссылке — на скачивание шпаргалки, где описаны самые распространенные ошибки HTML кода и способы их исправления. Если, несмотря на все усилия, ошибку в коде плагина, скрипта, и т.п., устранить не удается,  откажитесь от него и замените подобным с валидным кодом.

Sorry! This document can not be checked.

Валидность HTML

Такой грозной надписью вас известит сервис, если он не сможет проверить сайт на валидность HTML сода. Причиной этому может быть конфликт плагинов. В моем случае помогло простое обновление WordPress. Можете использовать проверку валидности непосредственно HTML кода страницы блога на вкладке Validate by Direct Input.

В следующей статье «Валидность CSS» мы рассмотрим, как выполнить проверку и исправление ошибок CSS каскадных таблиц стилей. P.S. По многочисленным просьбам читателей публикую здесь валидный код блока кнопок поделиться в социальных сетях от Яндекса:

<script type="text/javascript" src="http://yandex.st/share/share.js" charset="utf-8"></script>
<script type="text/javascript"><!--
document.write('</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<div class="yashare-auto-init" data-yashareL10n="ru" data-yashareType="button" data-yashareQuickServices="yaru,vkontakte,facebook,twitter,odnoklassniki,moimir,lj,friendfeed,moikrug,gplus,blogger"></div>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
<p>');
--></script>

Именно этот блок вы видите в конце каждой моей статьи. Нажмите на кнопки, чтобы проверить, работают ли :-).

Проверка валидности HTML кода сайта обязательно входит в мой технический аудит. Но не нужно переоценивать значимость ошибок валидации на SEO продвижение — она очень мала. По любой тематике в ТОП будут сайты с большим количеством таких ошибок и прекрасно себе живут.

НО! Отсутствие технических ошибок на сайте является фактором ранжирования, и поэтому пренебрегать такой возможностью не стоит. Лучше исправить, хуже точно не будет. Поисковики увидят ваши старания и дадут маленький плюсик в карму.

Читайте также: кем и когда был введен гипертекст

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

Проверяется валидация кода сайта с помощью онлайн сервиса W3C HTML Validator. Если есть ошибки, то сервис выдает вам список. Сейчас я разберу самые распространенные типы ошибок, которые я встречал на сайтах.

  • Error: Duplicate ID min_value_62222

Error Duplicate ID min_value_62222

И за этой ошибкой такое предупреждение.

  • Warning: The first occurrence of ID min_value_62222 was here

Warning The first occurrence of ID min_value_62222 was here

Это значит, что дублируется стилевой идентификатор ID, который по правилам валидности html должен быть уникальным. Вместо ID для повторяющихся объектов можно использовать CLASS.

Исправлять это желательно, но не очень критично. Если очень много таких ошибок, то лучше исправить.

Аналогично могут быть еще такие варианты:

  • Error: Duplicate ID placeWorkTimes
  • Error: Duplicate ID callbackCss-css
  • Error: Duplicate ID Capa_1

Следующее очень распространенное предупреждение.

  • Warning: The type attribute is unnecessary for JavaScript resources

Warning The type attribute is unnecessary for JavaScript resources

Это очень частая ошибка при проверке валидации сайта. По правилам HTML5 атрибут type для тега script не нужен, это устаревший элемент.

Аналогично такое предупреждение для стилей:

  • Warning: The type attribute for the style element is not needed and should be omitted

Warning The type attribute for the style element is not needed and should be omitted

Исправлять эти предупреждения желательно, но не критично. При большом количестве лучше исправить.

  • Warning: Consider avoiding viewport values that prevent users from resizing documents

Warning Consider avoiding viewport values that prevent users from resizing documents

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

Я считаю это предупреждение очень нежелательным, для пользователя неудобно, это минус к поведенческим. Устраняется удалением этих элементов — maximum-scale=1.0 и user-scalable=no.

  • Error: The itemprop attribute was specified, but the element is not a property of any item

Error The itemprop attribute was specified, but the element is not a property of any item

Это микроразметка, атрибут itemprop должен находиться внутри элемента с itemscope. Я считаю эту ошибку не критичной и можно оставлять как есть.

  • Warning: Documents should not use about:legacy-compat, except if generated by legacy systems that can’t output the standard doctype

Warning Documents should not use about legacy-compat, except if generated by legacy systems that can't output the standard doctype

Строка about:legacy-compat нужна только для html-генераторов. Здесь нужно просто сделать но ошибка совсем не критичная.

  • Error: Stray end tag source

Error Stray end tag source

Если посмотреть в коде самого сайта и найти этот элемент, видно, что одиночный тег <source> прописан как парный — это не верно.

одиночный тег source

Соответственно, нужно убрать из кода закрывающий тег </source>. Аналогично этой ошибке могут встречаться теги </meta> </input> </noscript>. Эту ошибку нужно исправлять.

  • Error: An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images

Error An img element must have an alt attribute, except under certain conditions For details, consult guidance on providing text alternatives for images

Все картинки должны иметь атрибут alt, я считаю эту ошибку критичной, ее нужно исправлять.

  • Error: Element ol not allowed as child of element ul in this context. (Suppressing further errors from this subtree.)

Error Element ol not allowed as child of element ul in this context Suppressing further errors from this subtree

Здесь не верно прописана вложенность тегов. В <ul> должны быть только <li>. В данном примере эти элементы вообще не нужны.

неправильная вложенность тегов

Аналогично могут быть еще такие ошибки:

  • Element h2 not allowed as child of element ul in this context.
  • Element a not allowed as child of element ul in this context.
  • Element noindex not allowed as child of element li in this context.
  • Element div not allowed as child of element ul in this context.

Это все нужно исправлять.

  • Error: Attribute http-equiv not allowed on element meta at this point

Error Attribute http-equiv not allowed on element meta at this point

Атрибут http-equiv не предназначен для элемента meta, нужно убрать его или заменить.

Аналогичные ошибки:

  • Error: Attribute n2-lightbox not allowed on element a at this point.
  • Error: Attribute asyncsrc not allowed on element script at this point.
  • Error: Attribute price not allowed on element option at this point.
  • Error: Attribute hashstring not allowed on element span at this point.

Здесь также нужно или убрать атрибуты n2-lightbox, asyncsrc, price, hashstring или заменить их на другие варианты.

  • Error: Bad start tag in img in head

Error Bad start tag in img in head

Или вот так:

  • Error: Bad start tag in div in head

Error Bad start tag in div in head

Тегов img и div не должно быть в <head>. Эту ошибку нужно исправлять.

  • Error: CSS: Parse Error

Error CSS Parse Error

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

не должно быть точки с запятой в стилях

Ну такая ошибка, мелочь, но не приятно) Смотрите сами, нужно убирать это или нет, на продвижение сайта никакой совершенно роли не окажет.

  • Warning: The charset attribute on the script element is obsolete

Warning The charset attribute on the script element is obsolete

В скриптах уже не нужно прописывать кодировку, это устаревший элемент. Предупреждение не критичное, на ваше усмотрение.

  • Error: Element script must not have attribute charset unless attribute src is also specified

Error Element script must not have attribute charset unless attribute src is also specified

В этой ошибке нужно убрать из скрипта атрибут charset=»uft-8″, так как он показывает кодировку вне скрипта. Я считаю, эту ошибку нужно исправлять.

  • Warning: Empty heading

Warning Empty heading

Здесь пустой заголовок h1. Нужно удалить теги <h1></h1> или поместить между ними заголовок. Ошибка критичная.

  • Error: End tag br

Error End tag br

Тег br одиночный, а сделан как будто закрывающий парный. Нужно убрать / из тега.

одиночный тег br

  • Error: Named character reference was not terminated by a semicolon. (Or & should have been escaped as &.)

Error Named character reference was not terminated by a semicolon

спецсимволы html

Это спецсимволы HTML, правильно нужно писать &copy; или &amp;copy. Лучше эту ошибку исправить.

  • Fatal Error: Cannot recover after last error. Any further errors will be ignored

Fatal Error Cannot recover after last error Any further errors will be ignored

Это серьезная ошибка:

код после html

После </html> ничего вообще не должно быть, так как это последний закрывающий тег страницы. Нужно удалять все, что после него или переносить выше.

  • Error: CSS: right: only 0 can be a unit. You must put a unit after your number

Error CSS right only 0 can be a unit You must put a unit after your number

Нужно значение в px написать:

значения в коде

Вот аналогичная ошибка:

  • Error: CSS: margin-top: only 0 can be a unit. You must put a unit after your number

Error CSS margin-top only 0 can be a unit You must put a unit after your number

  • Error: Unclosed element a

Error Unclosed element a

<a></a> — это парный тег, а здесь он не закрыт, соответственно, нужно закрыть. Ошибку исправлять.

  • Error: Start tag a seen but an element of the same type was already open

Где-то раньше уже был открыт тег <a> и не закрыт, откуда идет следующая ошибка.

  • Error: End tag a violates nesting rules

Здесь отсутствие закрывающего тега </a> нарушает правила вложенности, откуда идет уже фатальная ошибка.

  • Fatal Error: Cannot recover after last error. Any further errors will be ignored

Это частный случай, так конечно нужно смотреть индивидуально.

  • Warning: The bdi element is not supported in all browsers. Please be sure to test, and consider using a polyfill

Warning The bdi element is not supported in all browsers Please be sure to test, and consider using a polyfill

Элемент bdi не поддерживается во всех браузерах, лучше использовать стили CSS, если нужно изменить направления вывода текста. Это не критичное предупреждение.

  • Error: A document must not include both a meta element with an http-equiv attribute whose value is content-type, and a meta element with a charset attribute

Error A document must not include both a meta element with an http-equiv attribute whose value is content-type and a meta element with a charset attribute

Здесь 2 раза указана кодировка:

двойная кодировка

Нужно убрать <meta charset=»UTF-8″ /> в начале. Ошибку лучше исправить.

  • Error: Bad value callto:+7 (473) 263-22-06 for attribute href on element a: Illegal character in scheme data: space is not allowed

Error Bad value callto 7 495 263-22-06 for attribute href on element a Illegal character in scheme data space is not allowed

Здесь запрещены пробелы для атрибута href, нужно писать так — callto:74732632206. Ошибку лучше исправить, но не критично.

  • Error: CSS: max-width: Too many values or values are not recognized

Error CSS max-width Too many values or values are not recognized

И аналогичная ошибка:

  • Error: CSS: max-height: Too many values or values are not recognized

Error CSS max-height Too many values or values are not recognized

В данных случаях для max-width: и max-height: не поддерживается свойство auto. Должно быть конкретное значение в px, % и других единицах измерения для CSS. В целом, эти ошибки не критичные.

  • Error: The for attribute of the label element must refer to a non-hidden form control

Error The for attribute of the label element must refer to a non-hidden form control

Атрибут label должен относиться к фрагменту id с идентификатором «control-label». То есть нужно в код формы вставить кусок id=»control-label». Тоже ошибка не критичная.

id элемент в коде

  • Error: Legacy encoding windows-1251 used. Documents must use UTF-8

Error Legacy encoding windows-1251 used Documents must use UTF-8

Кодировка windows-1251 уже устарела, сейчас везде используется utf-8. По хорошему нужно делать сайт изначально на utf-8, иначе он или отдельные страницы могут отображаться кракозябрами. Но это не критичная ошибка. Если у вас с сайтом все ок, то можно оставить, как есть.

Вот еще похожая ошибка:

  • Error: Bad value text/html; charset=windows-1251 for attribute content on element meta: charset= must be followed by utf-8

Error Bad value text html charset windows-1251 for attribute content on element meta charset must be followed by utf-8

Для атрибута content кодировка должна быть utf-8. Смотрите сами, хотите исправлять это или нет, не критично.

Заключение

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

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

Разбор ошибок валидации сайта

Наконец-то появилось свободное время между бесконечной чередой заказов, и я решил заняться своим блогом. Попробуем его улучшить в плане валидации. Ниже в статье я расскажу, что такое валидация сайта, кода html и css, зачем она нужна и как привести сайт к стандартам на конкретном примере.

Что такое валидация сайта?

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

Конкретный пример прохождения валидации для страницы сайта

Возьмем первую попавшуюся страницу на моем сайте — Кодирование и декодирование base64 на Java 8. Забьем адрес страницы в валидатор и смотрим результат:

ошибки валиадции

Errors found while checking this document as HTML 4.01 Transitional!
Result:	105 Errors, 67 warning(s)

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

Unable to Determine Parse Mode!

The validator can process documents either as XML (for document types such as XHTML, SVG, etc.) or SGML (for HTML 4.01 and prior versions). For this document, the information available was not sufficient to determine the parsing mode unambiguously, because:

the MIME Media Type (text/html) can be used for XML or SGML document types
No known Document Type could be detected
No XML declaration (e.g <?xml version="1.0"?>) could be found at the beginning of the document.
No XML namespace (e.g <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">) could be found at the root of the document.
As a default, the validator is falling back to SGML mode.

Warning No DOCTYPE found! Checking with default HTML 4.01 Transitional Document Type.

No DOCTYPE Declaration could be found or recognized in this document. This generally means that the document is not declaring its Document Type at the top. It can also mean that the DOCTYPE declaration contains a spelling error, or that it is not using the correct syntax.

The document was checked using a default "fallback" Document Type Definition that closely resembles “HTML 4.01 Transitional”.

Это одно и тоже. А исправляется просто: в самом начале страницы добавить тег:

<!DOCTYPE html>

Проверяем ,что у нас получилось и видим, что одним этим тегом мы убрали 105 ошибок и 3 предупреждения! Теперь у нас осталось только 64 предупреждения. Начинаем разбирать их по одному.

Warning: The type attribute for the style element is not needed and should be omitted.
From line 5, column 1; to line 5, column 23
/x-icon">↩<style type="text/css">↩↩↩↩A 

Это значит, что для элемента style не нужен атрибут type – это лишнее. На странице у нас два таких замечания. Аналогичное предупреждение и по JavaScript:

Warning: The type attribute is unnecessary for JavaScript resources.
From line 418, column 1; to line 418, column 31
</script>↩<script type="text/javascript">↩$(doc

Таких у нас 8 ошибок. Убираем данные атрибуты и ура – еще на 10 предупреждений меньше!

Error: CSS: background: The first argument to the linear-gradient function should be to top, not top.
At line 39, column 61
0%,#E8E8E8 100%);↩    border-r

Следующая ошибка — первый аргумент у linear-gradient должен быть to top, а не top. Исправлем. Далее ошибка:

Error: CSS: Parse Error.
From line 65, column 13; to line 65, column 16
margin: 0 auto;↩padd

Здесь у меня неверно закомментировано css. Надо просто убрать эту строку. Или закомментировать по-другому /* и */. Я так сделал, как привык так комментировать на Java.

Error: CSS: @import are not allowed after any valid statement other than @charset and @import..
At line 88, column 74
0,600,700,300);↩@import url(//

Теперь у нас идет ошибка импорта. Перенесем эти строчки в самое начало файла и она исчезнет.

Error: Bad value _blanck for attribute target on element a: Reserved keyword blanck used.
From line 241, column 218; to line 241, column 295
 cookies. <a href="//upread.ru/art.php?id=98" target="_blanck" style="display: inline;">Здесь

Далее не нравится значение атрибута target, нам сообщают, что надо использовать «blank» без нижнего подчеркивания спереди. Убираем.

Error: End tag li seen, but there were open elements.
From line 379, column 2; to line 379, column 6
<ul>↩	</li>↩↩</ul

Теперь у нас идет div не на месте.

Error: Table columns in range 2…3 established by element td have no cells beginning in them.
From line 262, column 5; to line 263, column 94
px;">↩<tr>↩<td colspan="3" style="width:100%; padding-bottom: 25px;padding-top: 0px; text-align:center;">↩<img 

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

Error: Element style not allowed as child of element div in this context. (Suppressing further errors from this subtree.)
From line 486, column 1; to line 486, column 7
↩</table>↩<tyle>↩.hleb
Contexts in which element style may be used:
Where metadata content is expected.
In a noscript element that is a child of a head element.
In the body, where flow content is expected.
Content model for element div:
If the element is a child of a dl element: one or more dt elements followed by one or more dd elements, optionally intermixed with script-supporting elements.
If the element is not a child of a dl element: Flow content.

А эта ошибка говорит о том, что нельзя вставлять style внутри div. Переносим в начало файла.

Error: The width attribute on the table element is obsolete. Use CSS instead.
From line 505, column 1; to line 505, column 21
>↩↩↩↩↩↩↩↩↩<table width ="100%">↩<tr>↩

Тут нам подсказывают, что не стоит устанавливать ширину атрибутом, а лучше сделать это отдельным тегом. Меняем на style=»width:100%;».

Error: Duplicate attribute style.
At line 507, column 41
ign="top" style="padding-right

Переводим: дублируется атрибут style. Второй стиль при этом работать не будет. Объединяем

Error: Attribute name not allowed on element td at this point.
From line 506, column 5; to line 507, column 82
0%;">↩<tr>↩<td style="width:1%;padding-right:10px;" valign="top" name="navigid" id="navigid">↩↩↩↩</
Attributes for element td:
Global attributes
colspan - Number of columns that the cell is to span
rowspan - Number of rows that the cell is to span
headers - The header cells for this cell

У ячейки не должно быть имени – атрибута name. Тут в принципе можно убрать, id вполне хватит.

Error: The valign attribute on the td element is obsolete. Use CSS instead.
From line 506, column 5; to line 507, column 67
0%;">↩<tr>↩<td style="width:1%;padding-right:10px;" valign="top" id="navigid">↩↩↩↩</

Убираем valign. Вместо него ставим style=»vertical-align:top».

Error: & did not start a character reference. (& probably should have been escaped as &.)
At line 543, column 232
при lineLength &t;= 0) и lineS

А эта ошибка вообще непонятно как оказалась ) Это я коде к статье ошибся. Меняем на <

Error: An img element must have an alt attribute, except under certain conditions. For details, consult guidance on providing text alternatives for images.
From line 654, column 1; to line 654, column 30
 /><br />↩<img src="img/art374-1.jpg" />↩<br /

У изображений должен быть alt. Добавляем альты с описанием картинок.

Error: CSS: padding: only 0 can be a unit. You must put a unit after your number.
From line 260, column 18; to line 260, column 19
dding: 10 20;↩}↩↩#

Только ноль может быть без обозначений. Надо поставить что – это пиксели, или к примеру, проценты. Добавляем px после чисел.

Warning: The document is not mappable to XML 1.0 due to two consecutive hyphens in a comment.
At line 974, column 8
ipt> ↩↩↩ <!--детектим адблок

Не нравятся комментарии. Да, в общем, их можно и убрать, не разбираясь, не особенно они и нужны.

Error: Stray end tag td.
From line 982, column 1; to line 982, column 5
↩</table>↩</td>↩↩<sty

Заблудившийся тег td. Убираем его.

Error: Bad value  for attribute action on element form: Must be non-empty.
From line 1102, column 6; to line 1102, column 98
/h6>↩					<form action="" id="jaloba-to-me" class="submit" method="POST" accept-charset="windows-1251">	<tabl

Здесь валидатор не устраивает пустое значение атрибута action – должен быть адрес страницы какой-то. У нас обрабатывается данная форма js, так что без разницы, поставим action=”self”

Все! Смотрим результат:

валиадция сайта пройдена

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

Если вам что-то непонятно в статье или вы хотите, чтобы ваш сайт полностью соответствовал спецификации и стандартам HTML ,вы можете обратиться ко мне. Я проверю и устраню любые шибки валидации.


Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, сайтостроение, html, валидация

Альтернативный текст

Для более верной работы сайта (магазина, в данном случае), проверяем на наличие ошибок в коде с помощью валидатора https://validator.w3.org/.

Например в статьях на этом сайте есть целых 15 ошибок кода.

Посмотреть их можно здесь.

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

Ошибки же, о которых пойдет речь ниже, касаются магазинов на JoomShopping, которыми я занимаюсь чаще и более основательно, чем сайтом rtr24.ru.

Ошибки валидации JoomShopping

У меня ошибки содержались в модулях «Обратный звонок» и в «Фильтре по магазину».

1. Ошибка The type attribute for the style element is not needed and should be omitted

<style type="text/css">

Это устаревший код, сегодня достаточно писать

<style>

2. Ошибка The type attribute is unnecessary for JavaScript resources

<script type="text/javascript">

Тоже устарел, Вместо него везде можно смело писать

<script >

3. Ошибка в «Обратном звонке»

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

Тогда в дефолтном шаблоне модуля ищем:

<form action="<?php echo JRoute::_( '', true, $params->get('usesecure')); ?>" method="post" name="feedback_form" class="form_items">

Конкретно нас интересует:

<?php echo JRoute::_( '', true, $params->get('usesecure')); ?>

Вместо этого можно написать:

<?php echo JRoute::_(/lubaja-nascha-staija); ?>

Я пишу:

<?=$_SERVER['PHP_SELF'];?>

Теперь заказав звонок, клиент магазина останется на странице с тем же товаром (вдруг он его еще не рассмотрел?).

4. Ошибки в модуле фильра товаров JoomShopping

В папке:

modulesmod_jshopping_unijax_filtertmpldefault

Открываем файлы:

vendor.php
manufacturer.php
label.php
delivery_time.php
characteristic.php
category.php
availability.php

И с помощью «Найти-Заменить» в Notepad++ во всех файлах сразу меняем:

value=""></option>

на:

value="">&nbsp;</option>

5. The itemprop attribute was specified, but the element is not a property of any item

В файле шаблона Joomla index.php

Ищем:

<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>">

И делаем:

<html lang="<?php echo $this->language; ?>" dir="<?php echo $this->direction; ?>" itemscope itemtype="http://schema.org/WebPage">

На этом месте, магазин который я сейчас разрабатываю, начал показывать 0 ошибок в валидаторе.

Как настроить автоматическую проверку почты в The Bat

Ошибки валидации – это ошибки в коде страниц сайта, при этом ошибки на главной странице и на внутренних страницах сайта могут отличаться друг от друга. Сайт считается валидным, если у него отсутствуют ошибки в коде страниц сайта. Ошибки могут появляться в ходе разработки сайта, например, когда неверно закрыты html-теги или не закрыты вовсе, когда используются устаревшие теги, не задан тип документа (<!DOCTYPE html>), некорректно организована вложенность элементов и другие. Часть ошибок могут быть видимыми, и пользователь сможет заметить их при посещении страниц сайта, часть ошибок может быть скрытой от глаз.

Наиболее популярный и зарекомендовавший себя валидатор, на наш взгляд, – validator.w3.org, он сканирует сайт на наличие ошибок в соответствии с принятыми Консорциумом Всемирной паутины стандартами. Данный валидатор имеет 3 способа проверки на ошибки: ввести URL конкретной страницы вашего сайта, загрузить файл страницы сайта и ввести часть кода сайта, которую необходимо проверить.

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

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

Также существуют плагины для браузеров для поиска ошибок на страницах сайта.

http://users.skynet.be/mgueury/mozilla/ – плагин для Mozilla

https://chrome.google.com/webstore/detail/html-tidy-browser-extensi/gljdonhfjnfdklljmfaabfpjlonflfnm – плагин для Chrome

https://addons.opera.com/en/extensions/details/validator/ – плагин для Opera

После того как сайт проверили на ошибки, встает вполне резонный вопрос: нужно ли их немедленно удалять и чем это чревато при SEO-продвижении?

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

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

Давайте проанализируем, сколько ошибок присутствует в коде страниц у крупных ресурсов.

Яндекс:

Google:

ОАО «РЖД»:

Как вы уже заметили, даже у сайтов поисковых систем присутствуют ошибки в коде страниц, что лишний раз подтверждает, что устранение ошибок носит скорее рекомендательный характер, при этом стоит упомянуть, что не нужно пренебрегать этим фактором и «запускать» ваш сайт. Развивайте сайт комплексно, всесторонне, тогда и результат будет соответствовать вашим ожиданиям.

Кстати, проверка сайта на ошибки, которые действительно влияют на продвижение, проходит в рамках SEO-аудита. Если сомневаетесь, что можете адекватно оценить свой сайт на наличие ошибок, обращайтесь. 

Большинство ошибок, возникающих при валидации кода можно свести к набору типовых вариантов, зная которые легко понять, на что «намекает» валидатор. В качестве образца возьмем расширение HTML Validator для браузера Firefox, предназначенное для проверки кода и рассмотрим список ошибок и замечаний по коду.

Посмотреть все возможные сообщения валидатора можно по адресу http://www.htmlpedia.org/wiki/HTML_Tidy, далее приведены основные ошибки с их описанием и решением. Зеленым цветом выделен корректный вариант, другой цвет используется для обозначения ошибки.

Notice: entity «…» doesn’t end in «;»

Это замечание возникает при использовании спецсимволов вроде &lt; при отсутствии на конце точки с запятой.

&nbsp;

&nbsp

Решение

Добавьте в конце спецсимвола точку с запятой.

Notice: numeric character reference «…» doesn’t end in ‘;’

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

&#8482

Решение

Добавьте в конце спецсимвола точку с запятой.

unescaped & or unknown entity «&…»

Символ амперсанда (&) часто применяется в адресах ссылок (атрибут href тега <a>), поскольку он разделяет несколько параметров. Однако амперсанд зарезервирован для спецсимволов вроде &nbsp; поэтому в ссылках необходимо указывать &amp; вместо &.

<a href=»http://www.htmlbook.ru/content/?id=30&amp;text=1″>Ссылка</a>

<a href=»http://www.htmlbook.ru/content/?id=30&text=1″>Ссылка</a>

Решение

Замените & на &amp;.

missing </…>

Отсутствует обязательный закрывающий тег.

<head><title>Заголовок</title></head>

<head><title>Заголовок</head>

Решение

Добавьте закрывающий тег.

missing </aaa> before <bbb>

Ошибка возникает при нарушении порядка тегов, когда блочный тег располагается внутри встроенного. В данном случае блочный тег <bbb> находится внутри встроенного тега <aaa>.

<p><span>Текст</span></p>

<span><p>Текст</p></span>

Решение

Поменяйте расположение тегов — перенесите встроенный тег внутрь блочного.

discarding unexpected <…>

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

<div><div>Текст</div></div>

<div>Текст</div></div>

<div><div>Текст</div>

Решение

В зависимости от ситуации добавьте или удалите открывающий или закрывающий тег.

Notice: nested emphasis …

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

<p><b>Текст</b></p>

<p><b><b>Текст</b></b></p>

Решение

Удалите один из тегов.

replacing unexpected … by </…>

Закрывающий тег не соответствует открывающему тегу.

<p><b>Текст</b></p>

<p><b>Текст</span></p>

Решение

Замените открывающий или закрывающий тег на парный.

… isn’t allowed in <…> elements

Обнаружены теги, которые запрещено размещать внутри указанных элементов.

<head><title>Заголовок</title></head>

<head><body>Текст</body></head>

Решение

Переместите HTML-элемент в правильный раздел.

missing <…>

Нет обязательного тега в структуре элементов. Ошибка, к примеру, может возникнуть при формировании таблицы, когда пропущен тег <tr> и сразу же после <table> следует <td>.

<ol><li>Список</li></ol>

<ol>Список</ol>

Решение

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

Notice: inserting implicit <…>

Сообщение возникает из-за предыдущей ошибки на странице.

Решение

Исправьте предыдущие ошибки.

Insert missing <title> element

В коде не вставлен тег <title>.

<head><title>Заголовок</title></head>

<head></head>

Решение

Добавьте контейнер <title>.

Multiple <frameset> elements

Тег <frameset> используется в документе более одного раза без вложения. Допускается вставлять несколько элементов <frameset>, но вложенных один в другой.

<frameset …><frame …>
<frameset …><frame …></frameset>
</frameset>

<frameset …><frame …></frameset>
<frameset …><frame …></frameset>

Решение

Используйте вложенные теги <frameset>.

<…> is not approved by W3C

Указанный тег не входит в спецификацию HTML.

<span style=»white-space: nowrap;»>текст без переносов</span>

<nobr>текст без переносов</nobr>

Решение

Удалите тег или замените его подходящим эквивалентом.

Error: <…> is not recognized!

Тег не распознан и не входит в спецификацию HTML.

Правильно: <p>Текст</p>

Неверно: <p><adres>Текст</adres></p>

Решение

Удалите неизвестный тег.

Trimming Empty Tag

Контейнер пустой или содержит только пробел.

<p>Текст</p>

<p>&nbsp;</p>

<p></p>

Решение

Удалите тег или добавьте внутрь контейнера текст.

<a> is probably intended as </a>

В закрывающем теге <a> отсутствует слэш.

<a href=»http://htmlbook.ru»>Ссылка на сайт</a>

<a href=»http://htmlbook.ru»>Ссылка на сайт<a>

Решение

Добавьте слэш к закрывающему тегу.

… shouldn’t be nested

Некоторые теги вроде <form> не могут содержать сами себя. Это сообщение также возникает из-за предыдущей ошибки.

<form action=»gb.php» name=»guestbook»></form>
<form action=»gb2.php» name=»guestbook2″></form>

<form action=»gb.php» name=»guestbook»>
<form action=»gb2.php» name=»guestbook2″></form>
</form>

Решение

Удалите вложенные теги или исправьте предыдущую ошибку.

Text found after closing </body>-tag

Теги или текст добавляется после закрывающего тега </body>.

<html>
 <head><title>Заголовок</title></head>
 <body><p>Основной текст</p></body>
</html>

<html>
 <head><title>Заголовок</title></head>
 <body><p>Основной текст</p></body>
 <b>Привет!</b>
</html>

Решение

Удалите текст после тега </body> или перенесите этот тег в конец текста.

Adjacent hyphens within comment

Комментарии в коде HTML определяются конструкцией вида <!— комментарий —>. Если в тексте комментария подряд идет два и более дефиса, возникает ошибка.

<!— Комментарий — заголовок —>

<!— комментарий —>

<!— Комментарий — тело документа —>

Решение

Удалите лишние дефисы.

SYSTEM, PUBLIC, W3C, DTD, EN must be upper case

Элемент <!DOCTYPE> указан неверно, в частности следующие атрибуты необходимо писать в верхнем регистре: SYSTEM, PUBLIC, W3C, DTD, EN.

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01 Transitional//EN» «http://www.w3.org/TR/html4/loose.dtd»>

<!doctype html public «-//w3c//dtd html 4.01 Transitional//en» «http://www.w3.org/TR/html4/loose.dtd»>

Решение

Пишите <!DOCTYPE> корректно.

Warning: missing <!DOCTYPE> declaration

Не указан элемент <!DOCTYPE>.

<!DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.01//EN» «http://www.w3.org/TR/html4/strict.dtd»>
<html>
<head>
<title>Заголовок</title>
</head>
<body>
<p>Основной текст</p>
</body>
</html>

<html>
<head>
<title>Untitled Document</title>
</head>
<body>
</body>
</html>

Решение

Поместите элемент <!DOCTYPE> в самую первую строку кода документа.

Too much <…>-elements

Повторяется тег, который в коде должен быть только один. К таким тегам относится <html>, <head>, <title> и <body>.

<head>
<title>Заголовок</title>
</head>

<head>
<title>Заголовок</title>
<title>Название статьи</title>
</head>

Решение

Удалите повторяющийся тег.

<…> inserting «…» attribute

Не указан обязательный атрибут для данного тега.

<style type=»text/css»>

<style>

Решение

Проверьте тег и добавьте недостающие атрибуты.

… attribute … lacks value

Атрибут тега не содержит обязательное значение или оно написано с синтаксической ошибкой.

<a href=»link.html»>Ссылка</a>

<a href>Ссылка</a>

Решение

Проверьте атрибуты тега и добавьте недостающие значения.

… attribute «…» has invalid value «…»

Атрибут содержит некорректное значение. Ошибка проявляется в тех случаях, когда в значении вместо текста пишется число и наоборот. Так, атрибуты id и name должны начинаться с символа ([A-Za-z]) и могут содержать цифры ([0-9]), дефис (-), подчеркивание (_), двоеточие (:) и точку (.). Значение ширины и высоты в атрибутах тегов не должно содержать ничего, кроме цифр ([0-9]) и процентов (%).

<div id=»layer1″>Слой 1</div>

<img src=»images/pic.gif» width=»200″ height=»120″>

<div id=»2layer»>Слой 2</div>

<img src=»images/pic.gif» width=»200px» height=»120px»>

Решение

Проверьте атрибут тега и измените его значение.

<…> missing > for end of tag

Ошибка может возникать в двух случаях: некорректно написан тег, что происходит, когда забыли добавить закрывающую скобку и применение > вместо использования спецсимвола.

<p>Пример текста</p>

<p>Для случая 0&lt;p рассмотрим следующий пример.</p>

<p Пример текста</p>

<p>Для случая 0<p рассмотрим следующий пример.</p>

Решение

Вставьте отсутствующую закрывающую скобку.
Замените < на &lt;.

<…> proprietary attribute «…»

Тег содержит атрибут, специфичный только для браузера Internet Explorer или другого и не входящий в спецификацию. Примером является атрибут height тега <table>.

Список всех атрибутов, входящих в спецификацию HTML приведен по адресу http://www.w3.org/TR/html4/index/attributes.html

<table style=»height: 100%»>

<table height=»100%»>

Решение

Список наиболее характерных атрибутов тегов приведен в табл. 14.1.

Табл. 14.1. Замена нестандартных атрибутов тегов

Тег Устаревший атрибут Стандартный атрибут
<body> marginwidth=0, marginheight=0, leftmargin=0, topmargin=0 style=»margin: 0″
<table> height=100% style=»height: 100%»
<table> nowrap style=»white-space: nowrap» или
<td nowrap>
<td> background=»abc.gif» style=»background-image:url(abc.gif)»

… proprietary attribute value «…»

Значение атрибута не входит в спецификацию HTML и является специфичным для браузера Internet Explorer или другого. Например, значение align=»absmiddle» тега <img> недопустимо.

<p><img src=»hello.gif» alt=»Привет» align=»middle»></p>

<p><img src=»hello.gif» alt=»Привет» style=»vertical-align: middle»></p>

<p><img src=»hello.gif» alt=»Привет» align=»absmiddle»></p>

Решение

Используйте стандартные значения атрибутов тегов или используйте стилевой эквивалент.

… dropping value «…» for repeated attribute «…»

Атрибут применяется в теге больше одного раза.

<img src=»image.jpg»>

<img src=»image.jpg» src=»image.jpg»>

Решение

Удалите повторяющийся атрибут.

… unexpected or duplicate quote mark

Отсутствует открывающая или закрывающая кавычка в атрибуте тега.

<img src=»image.jpg»>

<img src=image.jpg»>

Решение

Добавьте парную кавычку к значению атрибута.

… attribute with missing trailing quote mark

Тег содержит атрибут, в котором задано неверное количество кавычек.

<p id=»my_id»>

<p id=»my_id»»>

Решение

Добавьте или удалите одну из кавычек.

… id and name attribute value mismatch

Ошибка возникает, когда значения атрибутов id и name не совпадают между собой, что приводит к конфликту при обращении к свойствам элемента через скрипты.

<a name=»elm» id=»elm»>

<a id=»elm»>

<a name=»abcdef» id=»db1″>

Решение

Удалите один из атрибутов или сделайте значения атрибутов name и id одинаковыми.

Notice: replacing <…> by <…>

Ошибка возникает в следующих случаях:

  • неверный порядок тегов;
  • добавлен лишний закрывающий тег;
  • имеется открывающий тег без наличия обязательного закрывающего.

<p>Текст</p><br>

<p>Текст</p></p>

<p>abc<br><table>…</table></p>

Решение

Измените порядок тегов или удалите один из открывающих или закрывающих тегов.

… anchor «…» already defined

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

<form name=»my_form1″ action=»test1.php»></form>
<form name=»my_form2″ action=»test2.php»></form>

<form name=»my_form» action=»test1.php»></form>
<form name=»my_form» action=»test2.php»></form>

Решение

Выберите другое имя или измените предыдущие имена таким образом, чтобы они не совпадали.

<…> is probably intended as </…>

Тег повторяется дважды в коде HTML, тогда как подобный тег не должен содержать сам себя.

<em>Привет, мир!</em>

<em>Привет<em>, мир!</em></em>

Решение

Удалите один из тегов.

<…> lacks «…» attribute

Требуется обязательный атрибут тега, который, тем не менее, отсутствует.

<form action=»my_action.php»>

<form>

Решение

Добавьте недостающий атрибут к тегу.

Понравилась статья? Поделить с друзьями:
  • Как убрать ошибку бмв е87
  • Как убрать ошибку барабана на brother
  • Как убрать ошибку аэрбег ниссан примера р12
  • Как убрать ошибку аутентификации на телефоне
  • Как убрать ошибку иммобилайзера на гранте