Kalo te përmbajtja
SEO Analyzer

Të dhëna të strukturuara

Microdata

Formati i vjetër i shënimeve, i ndërthurur me HTML-në; mjeti e njeh praninë e tij por nuk e validon.

Çfarë është

Microdata është formati i shënimeve që i fut të dhënat e strukturuara brenda vetë HTML-së, me atributet itemscope, itemtype dhe itemprop.

Avantazhi i tij historik ishte se të dhënat rrinin pranë tekstit që përshkruanin, prandaj nuk mund të ndryshonin veç. Disavantazhi është që shënimi dhe pamja janë të ndërthurura: çdo rishkrim i shabllonit rrezikon t'i prishë të dhënat, dhe struktura e HTML-së kufizohet nga struktura e skemës.

Motorët e mbështesin ende plotësisht. Por për kod të ri, JSON-LD është zgjedhja e rekomanduar sepse rri veçmas.

Pse ka rëndësi

Nëse sajti yt ka Microdata që punon, nuk ka nevojë ta ndryshosh. Ky konstatim nuk është kërkesë për migrim.

Aty ku ka rëndësi është mirëmbajtja. Një rishkrim i pamjes — kalimi te një kornizë e re, ndryshimi i një komponenti — i prish shënimet pa e vënë re askush, sepse ato jetojnë brenda atributeve që u zhvendosën.

Problemi i dytë është përzierja: shumë sajte kanë njëkohësisht Microdata të vjetër dhe JSON-LD të ri që flasin për të njëjtin entitet me vlera të ndryshme. Motori merr njërin dhe ti nuk e di cilin.

Dhe gabimi më i shpeshtë strukturor: një itemscope pa itemtype. Atëherë shfaqet një entitet pa lloj, i papërdorshëm nga çdo motor.

Si rregullohet

<div itemscope itemtype="https://schema.org/Organization">
  <span itemprop="name">Servisi Alfa</span>
  <span itemprop="address" itemscope itemtype="https://schema.org/PostalAddress">
    <span itemprop="addressLocality">Prishtinë</span>
  </span>
</div>

Hapat:

  • Çdo `itemscope` duhet të ketë `itemtype`. Pa të, entiteti nuk ka lloj.
  • Përdor URL të plotë te `itemtype`, me https://schema.org/.
  • Mos mbaj dy burime për të njëjtin entitet. Nëse shton JSON-LD, hiq Microdata-n e vjetër.
  • Për kod të ri, zgjidh JSON-LD. E njëjta informatë, e ndarë nga pamja.
  • Nëse migron, bëje faqe për faqe dhe verifiko me mjetin zyrtar pas secilës.

Si e mat ky mjet

SchemaAnalyzer::detectMicrodata() (services/SchemaAnalyzer.php:84) kërkon çdo element me atribut itemtype, merr vlerën, dhe nxjerr pjesën e fundit të shtegut si emër lloji (:91). Çdo njësi shtohet në listën e përbashkët me is_valid = true dhe pa asnjë gabim (:96).

Çfarë NUK e mat

Asnjë njësi Microdata nuk validohet. Ato shënohen si të vlefshme pa asnjë kontroll — is_valid vendoset gjithnjë true te services/SchemaAnalyzer.php:96, dhe funksioni i validimit të fushave nuk thirret kurrë për to. Pra edhe një Organization pa name kalon.

Kërkimi bëhet mbi itemtype, jo mbi itemscope. Kjo do të thotë se një itemscope pa itemtype — gabimi më i shpeshtë strukturor i Microdata-s — nuk zbulohet fare.

Atributet itemprop nuk lexohen, prandaj nuk dihet çfarë fushash ka entiteti. Entitetet e ndërfutura numërohen si të pavarura, sepse çdo itemtype bëhet njësi më vete — kjo e fryn numrin e shënimeve të raportuara.

RDFa, formati i tretë, nuk zbulohet aspak.

Mospërputhje midis tekstit të analizuesit dhe matjes

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
Structured data detectedis_valid vendoset gjithnjë true dhe validimi i fushave nuk thirret për Microdata-n. Një itemscope pa itemtype nuk zbulohet fare.Kërkimi bëhet mbi //*[@itemtype]; validateSchema nuk thirret në këtë degë.matur gjatë 5.10services/SchemaAnalyzer.php:96

Kodi që e kryen matjen

  • services/SchemaAnalyzer.php:84SchemaAnalyzer::detectMicrodata
  • services/SchemaAnalyzer.php:96is_valid

Standardi