Technikai alapok Szakszó

Elavult HTML-tagek

Szerző: · 3 perc olvasás · Frissítve:
Elavult HTML-tagek - Technikai alapok (szakszó) a tudástárban
Elavult HTML-tagek - Technikai alapok | eClick GEO-audit tudástár

Az elavult HTML-tagek azok az elemek és attribútumok, amelyeket a HTML5 szabvány kivett a specifikációból, mert megjelenést írnak le a jelentés helyett. Ilyen a <center>, a <font>, a <marquee>, a <big>, a <strike> vagy a táblázatokon használt bgcolor és align.

Miért tűntek el a szabványból

A HTML feladata a tartalom szerkezetének leírása. A megjelenés a CSS dolga. A kilencvenes évek végén ez a két réteg még összekeveredett, ezért születtek formázó tagek.

A HTML5 ezt a keveredést szüntette meg. A böngészők a legtöbb elavult elemet máig megjelenítik, kompatibilitási okból. Ez a megtűrés viszont nem támogatás: a validátor hibát jelez, és a jövőbeli renderelés nem garantált.

Hogyan működik a gyakorlatban

A <font color="red" size="5"> pontosan azt tudja, amit egy CSS-osztály. A különbség az, hogy a CSS-t egy helyen szerkeszted, a <font> tageket pedig több száz sorban. A technikai adósság itt kamatozik: minden design-változtatás kézi munkává válik.

A vizsgálatokban ezt tipikusan régi sablonokban, e-mail sablonból bemásolt szövegekben és WYSIWYG-szerkesztővel írt cikkekben látjuk. Sok magyar KKV-oldalon a blogbejegyzések tartalmaznak <font> tageket, mert valaki Wordből másolt be szöveget.

Mit jelent ez a gépi olvasónak

Egy nyelvi modell és egy keresőrobot a tagekből próbálja kitalálni a tartalom szerkezetét. A <center> semmit nem mond a jelentésről. A <strong> vagy a <h2> viszont igen.

Az elavult tagek önmagukban nem rontják a rangsorolást. A jelentésvesztés viszont igen: ha a kiemelést <font size="6"> adja <h2> helyett, a címhierarchia gépi szempontból eltűnik.

Röviden: az elavult tagek nem büntetést hoznak, hanem azt jelzik, hogy a kód megjelenést mond ott, ahol jelentést kellene mondania.

Miért fontos

SEO-szempontból

Közvetlen rangsorolási hátrány nincs. A W3C-validáció hibái viszont gyűlnek, és a valódi problémák elvesznek a zajban. Ha 200 validátor-hibából 180 <font> tag, a lezáratlan <div> észrevétlen marad.

Gépi olvashatóság

A formázó tagek nem hordoznak jelentést. Egy kiemelt bekezdés <b> helyett <strong> taggel jelzi a fontosságot. A különbség a gépi értelmezésnél számít, ahol a modell a szerkezetből következtet.

Üzleti következmény

A <font> taggel formázott oldal nem reszponzív. A fix size és width értékek mobilon törnek. A magyar forgalom többsége mobilról jön, így ez konverziót visz.

A másik költség a karbantartás. Arculatváltáskor a CSS-t egy fájlban írod át, az inline formázást pedig oldalanként. Lásd még: Inline CSS.

Kikre vonatkozik

Kikre vonatkozik

  • Régi, 2015 előtt készült oldalak, amelyeket azóta csak tartalommal bővítettek.
  • WYSIWYG-szerkesztővel írt blogok, ahol a szerző Wordből vagy e-mailből másol.
  • Webshopok termékleírásai, amelyeket beszállítói adatlapról emeltek át.
  • Migrált oldalak, ahol a régi HTML egy az egyben átkerült az új rendszerbe.

Kikre nem

  • Modern keretrendszerrel (React, Vue, Laravel Blade) épült oldalak: ott a komponens nem generál <font> taget.
  • Staging és fejlesztői környezetek: ott nem üzleti prioritás.
  • Harmadik féltől beágyazott iframe tartalma: azt nem te kontrollálod.

A szabály hatóköre kód, hatása alacsony. Ez nem tűzoltás. Akkor javítsd, amikor úgyis hozzányúlsz a sablonhoz.

Hogyan ellenőrzöd

  1. Nyisd meg az oldalt, majd Ctrl+U (Cmd+Option+U) a forráskód megtekintéséhez.
  2. Keress rá a lapon belül: <font, <center, <marquee, bgcolor=, align=.
  3. Futtasd a W3C validátort a validator.w3.org címen. Az elavult elemek Error: The X element is obsolete üzenettel jönnek.
  4. Parancssorból: curl -s https://pelda.hu | grep -o '<font' | wc -l megadja a darabszámot.
  5. A devtools Elements fülén nézd meg a renderelt DOM-ot is. A szerkesztő néha futás közben injektál <font> taget.

Jó jel

  • A validátor nem jelez obsolete elemet.
  • A formázás CSS-osztályokból jön, a HTML-ben class attribútumot látsz.
  • A kiemelés <strong> és <em>, nem <b> és <i> vizuális célra.

Rossz jel

  • <font> vagy <center> a termékleírásokban.
  • bgcolor és align attribútumok táblázatokon.
  • <table> alapú elrendezés a fő tartalomban.
  • <marquee> bárhol.

Hogyan javítod

A lépés mindenhol ugyanaz: cseréld le az elavult tageket modern HTML+CSS-re. A <center> helyett text-align: center, a <font> helyett CSS-osztály, a <b> helyett <strong>.

WordPress

  1. Nézd meg a sablon fájljait: header.php, footer.php, single.php.
  2. A bejegyzésekben a blokkszerkesztő Kód szerkesztése nézetében látod a nyers HTML-t.
  3. Tömeges cseréhez használj Search & Replace pluginokat, de előtte készíts adatbázis-mentést.
  4. Ha a téma generálja, gyermektémában írd felül. Ne a szülőtémát szerkeszd.

Shopify

  1. Online Store > Themes > Edit code.
  2. A .liquid fájlokban keress <center és <font mintára.
  3. A stílust tedd az assets/base.css vagy a téma saját CSS-fájljába.
  4. A termékleírásokat a termék admin felületén, HTML-nézetben javítsd.

Unas

  1. Az admin Design > Saját HTML/CSS részén nézd át a sablon-blokkokat.
  2. A termékleírás szerkesztőjében válts forráskód nézetre, és ott cseréld a tageket.
  3. A saját CSS mezőbe vidd az osztályokat, hogy ne ismételd az inline stílust.

Shoprenter

  1. Az adminban Megjelenés > Sablonkezelő, a .tpl fájlokban keress.
  2. A saját CSS-t a téma beállításainál add hozzá.
  3. A termékleírásokat CSV-exporttal tudod tömegesen átnézni és visszatölteni.

Egyedi fejlesztés

  1. grep -rn '<font\|<center\|<marquee\|bgcolor=' ./resources ./templates a sablonokra.
  2. Vidd a stílust osztályokba. Ne inline style attribútumba, az csak másik adósság.
  3. Az adatbázisban tárolt tartalmakra írj migrációt, előtte mentéssel.
  4. Tedd be a CI-be a HTML-validációt, hogy ne kerüljön vissza.

Mit néz ebből a riport

Az audit a letöltött HTML-ben keresi az ismert elavult elemeket, és alacsony hatású megállapításként jelzi őket. Ez nem büntetés, hanem kódminőségi jelzés. A riportokban ez szinte mindig együtt jár más régi-sablon tünetekkel.

Gyakori hibák

  • A <font> tagek cseréje inline style attribútumra. A jelentés továbbra sem lesz meg, és az inline CSS ugyanúgy nem újrahasznosítható.
  • Csak a sablon javítása, a tartalmak kihagyása. A termékleírásokban és a régi cikkekben marad a legtöbb elavult tag.
  • Wordből másolt szöveg beillesztése formázással. Az szerkesztő ilyenkor <font> és <span> tagek tömegét hozza be.
  • A <b> és <i> gépies cseréje <strong> és <em> tagre. Ha a jelentés tényleg vizuális, a <b> helyes; a csere gondolkodás nélkül félrevezető.
  • <table> alapú elrendezés megtartása. A táblázat adatnak való, elrendezésre a CSS Grid és a Flexbox a megoldás.
  • Tömeges keresés-csere adatbázis-mentés nélkül. Egy rossz reguláris kifejezés több ezer terméket tesz tönkre.
  • A javítás után elmaradt újravalidálás. A validátor nélkül nem tudod, tényleg eltűnt-e a hiba.

Technikai példa

Elavult megoldás, ahogy régi sablonokban látni:

<center>
  <font face="Arial" size="5" color="#c00000">Akciós ajánlataink</font>
</center>
<table bgcolor="#f5f5f5" align="center" width="800">
  <tr><td><b>Kiemelt termék</b></td></tr>
</table>

Ugyanez modern HTML-lel és CSS-sel. A jelentés a tagekből jön, a megjelenés az osztályokból:

<h2 class="promo-title">Akciós ajánlataink</h2>
<div class="promo-box">
  <p><strong>Kiemelt termék</strong></p>
</div>

<style>
  .promo-title { text-align: center; color: #c00000; font-size: 1.5rem; }
  .promo-box { max-width: 800px; margin: 0 auto; background: #f5f5f5; }
</style>

A <h2> most szerkezetet ad a címhierarchiának, a max-width pedig mobilon is működik a fix width="800" helyett.

Darabszám-ellenőrzés parancssorból:

curl -s https://pelda.hu | grep -oE '<(font|center|marquee|big|strike)\b' | sort | uniq -c

Gyakori kérdések

Büntet a Google az elavult HTML-tagekért?
Nincs ilyen büntetés. A Google renderel, nem validál. A hátrány közvetett: ha a formázó tagek helyettesítik a címsorokat és a kiemelést, a tartalom szerkezete gépileg elveszik. Ezen kívül az oldal jellemzően nem reszponzív, ami mobilon rontja a használhatóságot.
A böngésző megjeleníti a <font> taget, akkor miért baj?
A megjelenítés kompatibilitási szívesség, nem szabványtámogatás. A HTML5 specifikáció obsolete elemnek jelöli, tehát a jövőbeli viselkedés nem garantált. A gyakorlati probléma inkább a karbantartás: a formázás oldalanként szét van szórva.
Elég, ha a sablont javítom?
Nem. A tapasztalat szerint a legtöbb elavult tag a tartalmakban van, nem a sablonban. Termékleírások, régi blogcikkek, statikus aloldalak. A sablon javítása után futtass újra ellenőrzést, és nézd meg a tartalmi oldalakat is.
Mennyire sürgős ez a javítás?
Alacsony prioritás. Önállóan nem éri meg fejlesztői órát ráfordítani. Akkor javítsd, amikor úgyis hozzányúlsz a sablonhoz vagy a tartalomhoz. Ha viszont sok van belőle, az a régi kódbázis jelzése, és érdemes a technikai adósságot felmérni.
A <b> és az <i> is elavult?
Nem, mindkettő érvényes HTML5 elem, de megváltozott a jelentésük. A <b> stilisztikai kiemelés fontosság nélkül, az <i> pedig eltérő hangvételű szöveg. Ha valódi fontosságot jelölsz, <strong> és <em> a helyes választás.

Források

Kapcsolódó fogalmak

A te oldaladon hogy áll a(z) „Elavult HTML-tagek”?

Futtass egy SEO-auditot: pontszám, fejlesztői ítélet, a leggyorsabb javítások, és minden tételhez bizonyíték.

Ingyenes SEO-audit indítása