Тази статия е за често срещани HTML грешки в сайтовете и оправянето им с помощта на HTML валидатора http://validator.w3.org Валидаторът дава доста подробни обяснения, но понякога решението не е очевидно. Тук разглеждам именно такива трудни за отстраняване грешки.
Нямам намерение да убеждавам някой, че трябва да изчисти грешките в своя сайт – приемам, че отдавна е убеден, че това е полезно не само от SEO гледна точка, но и поради улесняване на достъпа на незрящи посетители до сайта.
Изчистването на HTML код от грешки може да бъде непосилна задача за доста хора. Какво ще стане ако напишеш името на твоя домейн във валидатора и видиш резултат „Result: 525 Errors, 226 warning(s)“. Най-важното „Без паника!“, големия брой грешки не трябва да те впечатлява, защото грешките са взаимно свързани – изчистването на една грешка може да премахне много след нея.
Ето често срещани примери за грешки и тяхното отстраняване.
1. Премахване на атрибути на тага body.
Грешка:
Line 14, Column 36: Attribute „leftmargin“ is not a valid attribute <body bgcolor=“#D9D5D2″ leftmargin=„0″ topmargin=“0″ marginwidth=“0″ marginheight=“0″>
Решение:
Премахват се атрибутите на тага body и се поставя техен аналог в главния CSS файл.
Ако твоя сайт няма CSS файл. Създай в главната уеб директория празен текстов файл style.css и добави в HTML файла между head таговете реда:
<link rel=“stylesheet“ href=“/style.css“ type=“text/css“ media=“screen,print“ />
след това промени боди тага в HTML файла така:
<body> Във файла style.css се поставят правилата: body { text-align: center; margin: 0; padding: 0; background-color: #D9D5D2; }
2. Заместване на тага embed с object.
Тага embed е остарял таг за включване на Flash анимация в страницата.
Грешка:
Line 136, Column 12: Attribute „SRC“ is not a valid attribute. Did you mean „src“? <embed src=„images/bcastr31.swf“ width=880 height=330 quality=“high“ TYPE=“appli
Решение:
Премахване на таг embed разглеждам в отделна статия Флаш анимация без таг embed за валиден XHTML
3. Премахване на атрибута onload на тага img.
Уеб страници създадени с програмата „Web Page Maker“, които съдържат картинки в навигацията, имат атрибут onLoad на img таговете. Той вика JavaScript функцията MM_preloadImages(). Този код е невалиден и дава следната грешка:
Грешка:
Line 96, Column 228: Attribute „ONLOAD“ is not a valid attribute. Did you mean „onload“? …eria.html“><img name=“nav20″ onLoad=„MM_preloadImages(‘images/nav1.gif… HTML кода, който поражда грешката, изглежда като този: <div id=„nav1“><a onMouseOut=„MM_swapImgRestore()“ onMouseOver=„MM_swapImage(‘nav1′,“,’images/nav1.gif’,1)“ href=„index.html“> <img name=„nav1“ onLoad=„MM_preloadImages(‘images/nav1.gif’)“ alt=„“ border=0 src=„images/nav1.gif“ width=„180“ height=„26“></a> </div>
Решение:
За да направя кода валиден и да запазя функциалността, просто премествам атрибута в тага body за всички бутони от навигацията.
<body onload=„MM_preloadImages(‘images/nav1.gif’);MM_preloadImages(‘images/nav2.gif’);“> а горния код се съкращава до: <div id=„nav1“><a onmouseout=„MM_swapImgRestore()“ onmouseover=„MM_swapImage(‘nav1′,“,’images/nav1.gif’,1)“ href=„index.html“> <img name=„nav1“ alt=„“ border=0 src=„images/nav1.gif“ width=„180“ height=„26“></a> </div>
Променени са също onmouseout и onmouseover с малки букви. Всичко това води до валиден XHTML код.
4. Заместване на тага marquee с jQuery скролер на текст.
Тага marquee е много остарял таг и не е по XHTML стандарта. При поставяне на текст между тагове marquee текста започва да се движи хоризонтално или вертикално. С използването на този таг браузерът натоварва процесора и движението е насечено, изглежда много грозно и трудно се чете от посетители на сайта. При валидиране на страницата валидатора дава следната грешка:
Грешка:
Line 41, Column 52: Attribute “DIRECTION” is not a valid attribute <marquee direction=„up“ scrollamount=“2″ loop=“true“><ul>…
Решение:
Най-доброто решение за заместване на този таг безспорно е с използване на JavaScript.
Подробно решение на проблема съм дал в статията Заместване на тага marquee за валиден XHTML
5. Ползвай & вместо & при параметри на скрипт.
Грешка:
Line 53, Column 49: cannot generate system identifier for general entity „dropdown_id“ …s=“lang“><a href=“/page.php?lang=bg&dropdown_id=30″ class=“bul“>BG</a> <a hre…
Решение:
Замени всички & с & в параметри на връзките.
Пример:
/page.php?lang=bg&dropdown_id=30
става
/page.php?lang=bg&dropdown_id=30
6. Не ползвай блокови тагове включени в inline тагове.
Грешка:
Line 172, Column 85: document type does not allow element „h1“ here; missing one of „object“, „ins“, „del“, „map“, „button“ start-tag …“ title=“Начало форум“ id=“logo“><h1>ganbox.com SEO форум</h1></a></div>
Решение:
Таг h1 не може да се включва в тага a. Просто размени местата им от:
<a href=„./index.php“ title=„Начало форум“ id=„logo“><h1>ganbox.com SEO форум</h1></a>
на:
<h1><a href=“./index.php“ title=“Начало форум“ id=“logo“>ganbox.com SEO форум</a></h1>
Тук съм дал само някои от най-често срещаните грешки. Периодично ще допълвам статията, ако измисля още.
Веднъж като схванеш принципа на действие и ще ти става все по лесно да изчистваш грешките от своя сайт.
С безплатния инструмент SEO състояние на сайт можеш да проверяваш началната страница на сайт за HTML грешки, както и много друга полезна SEO информация за сайта.
Прочетена:17229
много полезна статия, мерси 🙂