Ligase 2.4.17 — Audytor: 0/100 dla wszystkich postów (bug audytora, nie schemy)
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
-
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. -
scan_post()wybiera relevantny węzeł do oceny zależnie od post_type:product→Productpage→AboutPage/ContactPage/CheckoutPage/CollectionPage/FAQPage/WebPagepost→BlogPosting/Article/NewsArticle- Fallback do pierwszego węzła gdy żadnego z target types nie ma
Po wgraniu
- Pobierz https://github.com/MarcinZmuda/Ligase-Schema-Markup/releases/download/v2.4.17/ligase-2.4.17.zip
- WP Admin → Wtyczki → Wyślij + Zastąp
- WP Admin → Ligase → Audytor → "Uruchom audyt" (przeczyść też cache)
- 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.