Валідність коду – що це і як її перевірити? Чи потрібна HTML-валідація? Що таке валідність коду
Перевірка валідності HTML коду сайту обов'язково входить до мого. Але не потрібно переоцінювати значущість помилок валідації на SEO просування - вона дуже мала. За будь-якою тематикою в ТОП будуть сайти з великою кількістю таких помилок і чудово живуть.
АЛЕ! Відсутність технічних помилок на сайті є фактором ранжирування, і тому нехтувати такою можливістю не варто. Краще виправити, гірше точно не буде. Пошуковики побачать ваші старання та дадуть маленький плюсик у карму.
Як перевірити сайт на валідність HTML коду
Перевіряється валідація коду сайту за допомогою онлайн сервісу W3C HTML Validator. Якщо є помилки, сервіс видає вам список. Зараз я розберу найпоширеніші типи помилок, які зустрічав на сайтах.
Error: Duplicate ID min_value_62222
І за цією помилкою таке попередження.
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: Тип типу є необхідним для JavaScript ресурсів
Це дуже часта помилкапід час перевірки валідації сайту. За правилами HTML5, атрибут type для тега script не потрібен, це застарілий елемент.
Аналогічно таке попередження для стилів:
Warning: Type atribut for the style element is not needed and should be omitted
Виправляти ці попередження бажано, але не критично. За великої кількості краще виправити.
Warning: Вважається, що звільняють viewport values that prevent users from resizing documents
Це попередження показує, що не можна збільшити розмір сторінки на мобільному або планшеті. Тобто користувач захотів подивитися ближче зображення або дуже маленький текст і не може цього зробити.
Я вважаю це попередження небажаним, для користувача незручно, це мінус до поведінкових. Усувається видаленням цих елементів – maximum-scale=1.0 та user-scalable=no.
Error: Itemprop attribute був specified, але element не є property of any item
Це мікророзмітка, атрибут itemprop повинен знаходитися всередині елемента з itemscope. Я вважаю цю помилку не критичною і можна залишати як є.
Warning: Documents не може використовуватися про: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: An img element must have an alt attribute, except under certain conditions. Для більш детальної інформації, consult guidance on providing text alternatives for images
Усі картинки повинні мати атрибут alt, я вважаю цю помилку критичною, її потрібно виправляти.
Error: Element ol not allowed як дитина елемента ul в цьому контексті. (Suppressing further errors від цього subtree.)
Element h2 не дозволяється як дитина елемента ul в цьому контексті.
Element not allowed as child of element ul у цьому контексті.
Element noindex не дозволяється як дитина елемента в цьому контексті.
Element div не дозволяється як дитина елемента ul в цьому контексті.
Це все потрібно виправляти.
Error: Attribute http-equiv не дозволяється на елементі meta на цьому пункті
Атрибут http-equiv не призначений для елемента meta, потрібно його прибрати або замінити.
Аналогічні помилки:
Error: Attribute n2-lightbox не дозволяється на елементі на цьому пункті.
Error: Attribute asyncsrc не дозволяється на елементі script на цьому пункті.
Error: Attribute price не може бути зроблено на елементі опції в цьому пункті.
Error: Attribute hashstring не може бути здійснений на елементі згоряння на цьому пункті.
Тут також потрібно прибрати атрибути n2-lightbox, asyncsrc, price, hashstring або замінити їх на інші варіанти.
Error: Bad start tag in img in head
Або ось так:
Error: Bad start tag in div in head
Тегів img і div не повинно бути у
. Цю помилку слід виправляти.
Error: CSS: Parse Error
У цьому випадку тут не повинно бути крапки з комою після дужки у стилях.
Ну така помилка, дрібниця, але не приємно) Дивіться самі, потрібно прибирати це чи ні, на просування сайту ніякої ролі не надасть.
Warning: Charset atribut on the script element is obsolete
У скриптах не потрібно прописувати кодування, це застарілий елемент. Попередження не критичне, на ваш розсуд.
Error: Element script не має attribute charset unless attribute src is also specified
У цій помилці потрібно прибрати зі скрипта атрибут charset="uft-8", оскільки він показує кодування поза скриптом. Я вважаю, що цю помилку потрібно виправляти.
Warning: Empty heading
Тут пустий заголовок h1. Потрібно видалити теги
або помістити між ними заголовок. Помилка критична.
Error: End tag br
Тег br одиночний, а зроблений начебто закриває парний. Потрібно прибрати/з тега.
Error: Named character reference був не доведений до semicolon. (Or & should have been escaped as &.)
Fatal Error: Cannot recover after last error. Any further errors will be ignored
Це серйозна помилка:
Післянічого взагалі не повинно бути, оскільки це останній тег сторінки, що закриває. Потрібно видаляти все, що після нього чи переносити вище.
Error: CSS: right: only 0 can be a unit. You must put a unit after your number
Потрібно значення в px написати:
Ось аналогічна помилка:
Error: CSS: margin-top: тільки 0 може бути unit. You must put a unit after your number
Error: Unclosed element a
Вітаю, дорогі друзі! Радий бачити вас на моєму блозі! Сьогодні мова піде про валідність HTMLна сайті в цілому та його окремих сторінках. Валідність – це відповідність коду певним стандартам. Над розробкою веб-стандартів працює Консорціум World Wide Web (W3C) – це міжнародне співтовариство, в якому перебувають організації, штатні співробітники та громадськість.
Місія консорціуму полягає в тому, щоб розкрити весь потенціал всесвітньої павутини, розробляючи та впроваджуючи протоколи та керівні принципи, що забезпечують довгострокове зростання мережі Інтернет.
На офіційному сайті W3C надані дуже корисні онлайн-інструменти для вебмайстрів, одним із них є валідатор - це безкоштовний сервіс, що дозволяє перевірити відданість сайту сучасним веб-стандартам.
На жаль, сервіс повністю англійською мовою, але якщо ви трішки знаєтеся на розробці та верстці, то неодмінно зрозумієте його суть і посил 😉
Отже, на головній сторінці розташовані три вкладки:
Validate by URI — перевірка вказаної URL-адреси;
Validate by File Upload - перевірка завантаженого файлу;
Validate by Direct Input – перевірка шляхом прямого введення вихідного коду.
Для запуску аналізатора потрібно перейти на необхідну вкладку, як приклад я розглядатиму перевірку за URL-адресою. Під посиланням More Options ховаються додаткові опції, натисніть на неї, щоб отримати доступ до налаштувань:
Character Encoding – кодування символів. WordPress використовує UTF-8, але можна залишити стандартне значення "Detect automatically" для автоматичного визначення кодування.
Document Type – тип документа (HTML, XHTML, SVG та ін.). Поставте прапорець Only if missing, якщо тип документа не заданий на сторінці і його потрібно вручну перевірити.
List Messages Sequentially - виводити помилки та попередження послідовним списком;
Group Error Messages by Type - групувати помилки та попередження за типом;
Show Source – показати вихідний код;
Show Outline – показати структуру документа;
Clean up Markup with HTML Tidy – очищення розмітки за допомогою HTML-Tidy;
Validate error pages — перевіряти сторінки з помилками, наприклад, із 404 помилкою;
Verbose Output – докладний висновок. Якщо чесно, я не помітив різниці при включенні цієї опції, якщо знаєте, за що вона відповідає — поділіться в коментарях, буду дуже вдячний.
Коли всі налаштування виставлені, натисніть кнопку Check для старту валідатора HTML. Якщо документ не має помилок, з'явиться напис:
Document checking сформульований. No errors or warnings to show.
У перекладі російською мовою це означає: «Перевірка документа завершена. Помилки чи попередження не знайдено». Чудово!
Якщо документ не пройде перевірку, побачимо простий напис про її завершення:
І звичайно ж, список повідомлень, які містять відомості про помилки та попередження з поясненнями, а також посилання на конкретні рядки документів, але тільки в тому випадку, якщо була включена опція Show Source.
На скріншоті нижче наведено фрагмент перевірки головної сторінки Яндекса. Дивно це бачити, навіть не очікував, адже Яндекс сам бере участь у розробці стандартів W3C… Ну гаразд, дотримуватися абсолютно всіх стандартів справді складно, тим більше для такого великого порталу.
На початку свого шляху Блог Вільного Вебмайстра містив дуже багато помилок та попереджень. У міру вивчення мені вдалося знизити їх кількість, а згодом і зовсім позбутися. Надалі дотримуватимуся стандартів W3C, хоча деякі плагіни додають ложку дьогтю в бочку меду… Час покаже!
То навіщо ж нам валідний код? Валідація веб-документів — важливий крок, який може значно допомогти покращити та забезпечити їхню якість, а також заощадити багато часу та грошей. Деякі фахівці запевняють, що правильний код може сприятливо вплинути на пошукову видачу! Перевірте свій сайт та розкажіть про результати!
До цього часу ми розглядали окремі фрагменти коду HTML. Але HTML-документ(або веб-сторінка, що означає те саме) вимагає певної структури для того, щоб стати валідним.
Чому ми дбаємо про валідацію HTML-документу?
Правильність: валідний документ коректно відображається у браузері.
Налагодження: некоректний код HTML може спричинити помилки, складні для виявлення.
Підтримка: валідний документ легше оновлювати пізніше, навіть комусь іншому
Доктайп
Першою інформацією, яку ми пишемо, є тип HTML-документа - доктайп.
Подумайте про доктайп як про версію автомобіля протягом багатьох років: Ford Fiesta, куплений у 1986 році, був Fiesta 2. Якщо ви купуєте його сьогодні, то це Fiesta 7.
Раніше співіснувало кілька версій HTML (XHTML та HTML 4.01 були конкуруючими стандартами). В даний час нормою є HTML5.
Щоб повідомити браузеру, що HTML-документ є HTML5, просто почніть свій документ з наступного рядка:
От і все. Просто встановіть та забудьте про це.
Ви можете поставити запитання, чому це доктайп HTML5 не згадує цифру 5. У W3C подумали, що попередні визначення доктайпу були занадто заплутаними і скористалися можливістю, щоб спростити його, видаливши згадку про версію HTML.
Елемент
Крім рядка з доктайпом, весьваш HTML-документ повинен розташовуватися всередині елемента
:
технічно є предкомвсіх елементів HTML.
Як атрибути несуть додаткову інформацію для HTML, так і елемент
несе додаткову інформацію для всієї веб-сторінки.
Наприклад, Заголовоксторінки (відображається на вкладці) знаходиться в
:
Мій казковий блог
Наступні елементи HTML можуть з'являтися в
і тільки в
:
В той час як
містить тільки метадані, не призначені для відображення взагалі (за винятком ), то елемент це місце, де ми пишемо весь наш вміст. Все всередині буде відображатисяу вікні браузера.
Повністю валідний HTML-документ
Об'єднавши всі ці вимоги, ми можемо написати простий та валідний HTML-документ:
MarkSheet
Привіт світ!
Якщо ви перегляньте цей приклад у браузері, то побачите, що:
"MarkSheet" написано на вкладці браузера;
"Привіт світ!" - це єдиний текст, який відображається у вікні, тому що це єдиний вміст
.
W3C пропонує Markup Validation Service для перевірки будь-якого HTML-документа на наявність помилок та попереджень.
Валідація є одним з найважливіших аспектів хорошого веб-дизайну. Давайте розглянемо, що це таке і як перевірити HTML-код на валідність. Як приклад візьмемо найпоширенішу систему керування контентом (CMS) – WordPress. Після чого ми поділимося переліком помилок, з якими зіткнулися на практиці і, найголовніше, запропонуємо свої, перевірені, методи їх усунення.
Навіщо потрібна перевірка на валідність сайту
Простіше кажучи, перевірка веб-сторінки дозволить визначити, чи вона відповідає стандартам, розробленим Консорціумом Всесвітньої павутини (W3C). Зазвичай це робиться шляхом перевірки окремих сторінок на валідність за допомогою онлайн-сервісу перевірки від W3C.
Подібно до правил граматики різними мовами, є також правила в програмуванні. Перевірка дозволяє побачити, чи відповідає сторінка цим правилам, а у разі наявності помилок та попереджень будуть надані рекомендації щодо їх усунення. Докладніше про необхідність такої перевірки розглянемо нижче.
На що впливає валідність сайту
Ви коли-небудь замислювалися про те, як браузери читають веб-сторінку? У них є “двигуни” для аналізу коду та перетворення його на візуальний вигляд для людей. На жаль, кожен браузер має власний механізм обробки коду, і це може призвести до відображення ваших сторінок по-різному.
Неправильна веб-сторінка може бути прочитана браузерами по-різному. Це призведе до того, що ваші відвідувачі, можливо, навіть не зможуть правильно побачити контент сторінки у своїх браузерах. Валідація надалі дозволить виправити майже всі основні відмінності та робить вашу веб-сторінку доступною для читання майже всіма веб-браузерами (найчастіше винятком стає Internet Explorer старих версій). Звідси і виник термін “кроссбраузерная верстка” – тобто. верстка, яка однаково гарна (сумісна) для всіх популярних браузерів.
А як це вплине на SEO? Важливо розуміти, що роботи пошукових системлюблять семантичні веб-сторінки. Семантична верстка, згідно з даними Вікіпедії, – це підхід до створення веб-сторінок на мові HTML, заснований на використанні HTML тегів відповідно до їхньої семантики (призначення). Крім того, структурна семантична веб-сторінка дозволяє пошуковим роботам більш точно визначати значимість як окремих елементів веб-сторінки, так і всього тексту в цілому. Як запевняє Google, валідний код ніяк не впливає на ранжування сторінок. Але при цьому наявність помилок у коді здатна негативно вплинути на сканування мікророзмітки та адаптованістю під мобільні пристрої.
Інструменти перевірки для вашого сайту
Розуміючи необхідність відсутності помилок валідації на сторінках сайту, розглянемо, як здійснити пошук даних помилок.
Існує безліч безкоштовних сервісів для перевірки сайту, такі як Markup Validation Service W3C, Web Page Analyzer, Browsershots та інші.
Сторінки всіх сайтів в інтернеті оформляються спеціальним кодом, прописаним за стандартними правилами HTML.
Що таке валідність?
Валідація - це перевірка на дотримання встановлених норм, а в контексті, що застосовується вебмайстрами - коректності коду сторінок: синтаксичних помилок, вкладеності тегів і т.п. Якщо все робити правильно, код сторінки не повинен містити невірні атрибути, конструкції та помилки. Валідація сайту дозволяє виявити недоліки, які потрібно виправити.
Валідність сайту – це відповідність коду існуючим стандартам HTML.
З'ясувати, чи є зауваження чи помилки в коді веб-сторінки, можна як онлайн, так і не маючи доступу до мережі та користуючись офлайн-програмами.
Що таке валідатори коду
Валідатор коду – це програма, використовуючи яку можна перевірити HTML-код сторінок та CSS-код на відповідність сучасним нормам. Вона знаходить і фіксує некоректні елементи, вказуючи на їхнє місцезнаходження та формулюючи, що саме оформлено неправильно.
Основні «прикмети» валідної верстки
Валідна верстка містить код, що повністю відповідає вимогам W3C (World Wide Web Consortium), що займається розробкою технологічних стандартів для всього Інтернету.
Якщо код на сторінках сайту є вірним, то у всіх браузерах сайт відображається коректно (а не криво).
Відсутні підозри про несправедливе «зниження» у видачі і немає сторінок, викинутих з індексу.
приклад. Якщо, припустимо, неправильно стоять теги
..
, (зокрема, відсутній елемент, що закриває), то пошуковик не буде нічого виправляти - він інтерпретуватиме так, як написано чорним по білому в коді. У результаті можуть виникнути наслідки, пов'язані з просуванням сайту.
Чи важлива валідна верстка у просуванні сайту
Теоретично так, але на практиці виявляється, що в топі висить безліч сайтів з помилками валідації, та й сайти з помилками рухаються загалом непогано. Проблеми з просуванням можуть бути лише якщо ваш сайт некоректно відображається на якомусь типі пристроїв або у якомусь браузері. Якщо він виглядає чудово, але помилки у валідації є — на просування це не вплине.
Деякі вебмайстри цілеспрямовано досліджували це питання, намагаючись з'ясувати, чи залежать результати ранжирування результатів валідації. Вебмайстер Марк Даост зазначив, що валідність коду не є принциповою. А Шаун Андерсон, навпаки, дійшов висновку, що валідність як бальзам на душу сайту щодо позицій видачі.
Ще один фахівець, Майк Девідсон, також провів подібний експеримент і дійшов висновку, що Google класифікує сторінки якості їх написання. Наприклад, незакритий тег може призвести до сприйняття частини контенту як значення тега.
Цей вебмастер зробив дуже важливий висновок:
Не можна точно сказати, наскільки сильно ранжування залежить від валідності коду, але абсолютно точно те, що наявні недоліки можуть призвести до вильоту сторінок або всього сайту з індексу пошукових систем.
Навіщо потрібний валідний код
Валідний код дозволяє правильно відображати сторінки у браузерах (і стилі для сайту CSS можуть бути відображені неправильно).
Причому можлива ситуація, коли в одному браузері ваш сайт відображається так, як ви його налаштували, а в іншому - зовсім інакше. Зображення може бути перекошене, а контент може стати абсолютно нечитаним.
У результаті ви втрачаєте трафік із цього браузера. До того ж, поведінковий фактор, який є одним із трьох найважливіших факторів у SEO, значно впливає на результати видачі.
Уявіть, що на ваш сайт заходять відвідувачі і тут же його закривають через неможливість сприйняти інформацію - спасибі з помилок у коді. Або вони взагалі повертаються назад до пошукової системи, тому що рішення не знайдено. Це все послужить погану службу, бо в результаті поведінковий фактор змінить позиції сайту на гірший бік.
Як перевірити сайт на валідність
Для перевірки бездоганності коду найчастіше використовують дуже корисний сайт валідатор Markup Validation Service, розташований за адресою: http://validator.w3.org, створений компанією W3C.
HTML
Тут перед Вами три варіанти валідації:
ввести URL-адресу сторінки;
завантажити файл із кодом зі свого комп'ютера;
вставити готовий код у форму.
Сервіс вказує не тільки на помилки html коду та їх розташування, а й дає поради щодо виправлення.Якщо код вже є в Мережі, то можна зробити валідацію шляхом введення її URL-адреси у форму Validate by URL і натискання кнопки Check. Валідатор HTML увімкне зчитування коду та повідомить про підсумки.
Необхідно вводити саме адресу URL-сторінки, що перевіряється. Весь сайт перевірятись не буде. Введіть адресу сайту – програмою вважається лише його головна сторінка. У разі знаходження зауважень виходить повідомлення про невалідність програмного коду і далі вказуються рядки з допущеними похибками.
У цьому відео наочно пояснено процес перевірки за допомогою валідатора:
Перевірка локальних файлів
За цією ж адресою http://validator.w3.org можна перевірити код, вибравши вкладку Validate by File Upload і завантаживши документ із прописаним кодом.
Вибираємо шлях до необхідного файлу і тиснемо Check. Далі все відбувається аналогічно.
Використання форми для введення коду
Іноді зручніше вставити відразу код сторінки та перевірити його онлайн: вибираємо вкладку Validate by Direct Input і відправляємо весь код на сервер.
CSS
Перевірка валідності коду CSS може бути пройдена також онлайн валідатором: https://jigsaw.w3.org/css-validator/
Тут все російською мовою, для багатьох це справді приємний сюрприз.
Знову можна вибрати - вказати URL-адресу, завантажити свій файл або вставити код.
Здійснюється перевірка сайту на помилки, як і у випадку з HTML, і отримуємо відповідь від сервера. Налаштувань перевірки немає, проте можна вивчити пропонований згенерований валідний код, розташований після списку недоліків коду.
Вивчаємо отриманий код та наводимо вихідний до потрібного вигляду.
Розширення для браузерів
Для браузерів існують різні розширення для перевірки валідації. Для Google Chrome є плагін HTML Tidy Browser Extension, що перевіряє валідність коду, для Opera - розширення Validator, для Safari - Zappatic, для Firefor - HTML Validator.
Зупинимося на останньому детальніше. Він здійснює таку ж перевірку, що і validator, тільки офлайн. Взяти його можна тут http://users.skynet.be/mgueury/mozilla/
Встановлюємо розширення, перезавантажуємо браузер – і можна одразу працювати. У разі виникнення проблем з установкою можна написати в саппорт Mozilla Firefox або погортати форум http://forum.mozilla-russia.org/doku.php?id=general:extensions_installing
Детальне відео про встановлення HTML Validator та його використання:
При завантаженні будь-якого URL розширення автоматично вмикається та зчитує код. Результат видно у верхньому правому кутку.
Виглядає результат як невелика картинка з результатом валідації:
Клацнувши за результатом, можна відкрити: - вихідний код; - Помилки - в лівому нижньому блоці (або повідомлення про валідність); - підказки з виправлення помилок - у правому нижньому.
Як виправити найчастіші помилки
Яким би способом не було проведено перевірку коду, помилки виходять списком. Також обов'язково вказано рядок із недоліком.
Перш ніж правити код, варто про всяк випадок зробити резервну копію шаблону сайту.
У розширенні для Firefox при натисканні на назву помилки у відкритому вікні розширення вас автоматично перекидає на рядок з невалідним кодом.
До цих же помилок вказані підказки щодо їх виправлення. Наведу кілька прикладів.
1. No space between attributes. …rel="shortcut icon" href="http://arbero.ru/favicon.ico" type="image/x-icon"
Тут виправлення прибираємо «крапку з комою».
2. End tag for element "div", який не працює
Закриваючий тег div зайвий. Забираємо його.
Погано знаєте англійська мова(А завжди все описано саме на ньому)? Копіюєте код помилки і вставляєте його в пошукову систему. Аналогічну тему, напевно, вже описував якийсь вебмайстер або верстальник, отже, ви завжди знайдете спосіб вирішення завдання на спеціалізованих ресурсах.
Хоча, якщо чесно, я не витрачав багато зусиль на помилки в коді. Краще просто подбайте про те, щоб сайт коректно виглядав на всіх пристроях та браузерах.