Kalo te përmbajtja
SEO Analyzer

Të dhëna të strukturuara

JSON-LD i pavlefshëm

Blloqe JSON-LD me sintaksë të prishur; motori i shpërfill të tërë, pa asnjë njoftim.

Çfarë është

Një bllok JSON-LD duhet të jetë JSON i vlefshëm. Nëse sintaksa është e prishur, i gjithë blloku hidhet — jo pjesa e gabuar, por gjithçka brenda tij.

Gabimet më të shpeshta janë tri: presja e tepërt para kllapës mbyllëse, çelësat pa thonjëza, dhe thonjëzat tipografike të futura nga një redaktor teksti në vend të thonjëzave të drejta.

Një i katërt, më i fshehtë, prek faqet e gjeneruara: një vlerë teksti që përmban vetë një thonjëz të pashmangur e prish JSON-in sapo të dhënat e vërteta zëvendësojnë shembullin.

Pse ka rëndësi

Dështimi është i heshtur. Faqja duket njësoj, shfletuesi nuk ankohet, konsola nuk shfaq asgjë. Motori thjesht i shpërfill shënimet, dhe rezultatet e pasuruara që prisje nuk shfaqen kurrë.

Pra ke bërë punën, ke shtuar kodin, dhe nuk merr asnjë nga përfitimet — pa asnjë shenjë që diçka nuk shkon. Zbulimi ndodh zakonisht muaj më vonë, kur dikush pyet pse konkurrenti ka yje te rezultatet.

Situata bëhet më e keqe në sajte të gjeneruara, ku i njëjti shabllon i prishur prek mijëra faqe njëherësh.

Dhe ka një kurth te ky mjet vetë: sepse pikësimi i numëron blloqet e prishura si njësi të gjetura, një faqe krejt e prishur merr notën maksimale.

Si rregullohet

// e gabuar — presje e tepërt dhe çelës pa thonjëza
{ "@type": "Article", headline: "Titulli", }

// e saktë
{ "@type": "Article", "headline": "Titulli" }

Hapat:

  • Gjeneroje JSON-in me një funksion serializimi, kurrë me bashkim vargjesh. Kjo e zhduk gjithë klasën e gabimeve.
  • Shmang thonjëzat e zgjuara. Kopjimi nga një dokument teksti është shkaku më i shpeshtë.
  • Validoje në ndërtim, jo në prodhim. Një test që parson çdo bllok JSON-LD të faqeve të gjeneruara e kap gabimin para publikimit.
  • Kontrollo me të dhëna reale, jo me shembullin. Emrat me apostrof e prishin shabllonin.
  • Kujdes me karakteret e kontrollit dhe rreshtat e rinj brenda vlerave teksti.

Si e mat ky mjet

Te SchemaAnalyzer::detectJsonLd() (services/SchemaAnalyzer.php:39), përmbajtja e çdo <script type="application/ld+json"> dekodohet. Kur dekodimi dështon, shtohet një njësi me llojin Invalid JSON-LD dhe is_valid = false (:49), dhe jepet një paralajmërim (:56).

Pastaj kodi kalon te blloku tjetër — një bllok i prishur nuk e ndal analizën e të tjerëve.

Çfarë NUK e mat

Kontrolli e kap gabimin, por pikësimi e mohon atë. Njësia e pavlefshme shtohet në listën e njësive të gjetura, dhe pikësimi te services/SchemaAnalyzer.php:30 jep 100 sapo lista nuk është bosh.

Rezultati i matur mbi një faqe me tri blloqe të prishura: score: 100 · items: 3 · issues: 2× "Invalid JSON-LD". Pra raporti thotë njëkohësisht "të dhënat e strukturuara janë të përsosura" dhe "të dhënat e strukturuara janë të prishura". Nota duhet shpërfillur; konstatimet duhen lexuar.

Mesazhi i gabimit nuk thotë ku është problemi: nuk jep numër rreshti, nuk jep pozicion, nuk thotë cili nga blloqet. Në një faqe me disa blloqe duhet t'i kontrollosh të gjitha me dorë.

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 detected — 3 schema item(s) foundPikësimi është binar mbi numrin e njësive, dhe blloqet e pavlefshme shtohen si njësi me llojin 'Invalid JSON-LD'.Mbi 09-jsonld-i-prishur.html: score 100, items 3 (2 me is_valid=false), 2 paralajmërime 'Invalid JSON-LD'.MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.4services/SchemaAnalyzer.php:30

Kodi që e kryen matjen

  • services/SchemaAnalyzer.php:49Invalid JSON-LD
  • services/SchemaAnalyzer.php:30score

Standardi