Skip to content

Ligase 2.4.17 — Audytor: 0/100 dla wszystkich postów (bug audytora, nie schemy)

Choose a tag to compare

@MarcinZmuda MarcinZmuda released this 01 Jun 13:43
· 36 commits to main since this release

KRYTYCZNY fix Audytora. Po 2.4.x panel "Skanowanie i naprawa" pokazywał Score=0 dla wszystkich postów (na makumi.eu 176 postów × 0/100), mimo że Rich Results Test brał te same posty za zielone.

Diagnoza

Audytor renderuje wp_head, łapie <script type="application/ld+json">, decode'uje JSON i scorer'em ocenia. Bug w get_jsonld_for_post():

Ligase emituje jeden script z @graph envelope:

{
  "@context": "https://schema.org/",
  "@graph": [
    {"@type": "WebSite", ...},
    {"@type": "BlogPosting", "headline": "...", "datePublished": "...", ...},
    {"@type": "Person", ...}
  ]
}

Audytor zwracał TOP-LEVEL envelope jako "schema" — patrzył na $schema['headline'], $schema['datePublished'], etc. Te pola NIE istnieją na envelope (one są w @graph wewnątrz BlogPosting). Wynik: każdy post oceniony jako "Brak headline, Brak datePublished, Brak author..." → Score 0.

Fix

  1. get_jsonld_for_post() rozpakowuje @graph — każdy węzeł trafia jako osobny schema block. Dla pojedynczego artykułu zwraca: WebSite + Organization + BlogPosting + Person + BreadcrumbList — 5 osobnych nodes.

  2. scan_post() wybiera relevantny węzeł do oceny zależnie od post_type:

    • productProduct
    • pageAboutPage / ContactPage / CheckoutPage / CollectionPage / FAQPage / WebPage
    • postBlogPosting / Article / NewsArticle
    • Fallback do pierwszego węzła gdy żadnego z target types nie ma

Po wgraniu

  1. Pobierz https://github.com/MarcinZmuda/Ligase-Schema-Markup/releases/download/v2.4.17/ligase-2.4.17.zip
  2. WP Admin → Wtyczki → Wyślij + Zastąp
  3. WP Admin → Ligase → Audytor → "Uruchom audyt" (przeczyść też cache)
  4. Score skoczy z 0 do realnych 40-90 dla większości postów

Jeśli któryś post nadal 0 — daj znać który (URL), bo wtedy znaczy że tam faktycznie czegoś brakuje w schemie.