Ligase 2.4.10 — schema.org validator fix (shippingDetails) + returnPolicyCategory + smart type detection + OPcache auto-reset
Pięć fixów z realnej diagnozy makumi.eu po wgraniu 2.4.9. Wszystkie naprawiają konkretne błędy zgłoszone przez Rich Results Test + Schema Markup Validator + UI panel.
Krytyczne
shippingDetails na OnlineStore — Schema Markup Validator odrzucał
"Właściwość shippingDetails nie została rozpoznana przez schemat jako część obiektu typu OnlineStore."
Wcześniej Organization (w trybie store) emitowała shippingDetails na sobie. Schema.org tego NIE pozwala — property istnieje TYLKO na Offer / OfferShippingDetails.
Fix:
- Organization przestaje emitować
shippingDetails.hasMerchantReturnPolicyzostaje (jest dozwolone na OnlineStore). - Każdy Product Offer inline'uje site-level shipping z opcji Store/E-commerce. Cost: kilka linii JSON więcej per produkt. Benefit: self-contained Merchant Listing który Validator akceptuje.
MerchantReturnPolicy brakujące pola
Google Rich Results flag'ował:
"Brakujące pole returnPolicyCategory (opcjonalnie)"
Field_Contract nie deklarował 3 wymaganych/recommended fields dla site-level path. Dodane:
returnPolicyCategory→ derivedhttps://schema.org/MerchantReturnFiniteReturnWindowreturnMethod→ derivedhttps://schema.org/ReturnByMailreturnFees→ derived zstore_return_feesopcji z prefixemhttps://schema.org/
Plus 8 sub-properties dla shippingDetails w field-contract (shippingRate, destination, deliveryTime.handling/transit).
Mniejsze
Smart schema type detection w admin listingu
Pages w "Ligase → Posty" pokazywały się jako BlogPosting (hardcode-fallback). To było tylko UI prediction (front zawsze emitował WebPage), ale mylące. Teraz ligase_guess_schema_type_for_post():
- WC produkt →
Product - post →
BlogPosting - Page slug/title zawiera "kontakt"/"contact" →
ContactPage - "o-nas"/"about" →
AboutPage - "koszyk"/"cart"/"zamowienie"/"checkout" →
CheckoutPage - "sklep"/"shop"/"blog" →
CollectionPage - "faq"/"pytania" →
FAQPage - inne pages →
WebPage
OPcache auto-reset
Po install + po WP "Replace current with uploaded" auto-fires opcache_reset(). Eliminuje klasę regresji "klikam checkbox, save'uje, wraca do unchecked" która hit'owała na 2.4.6→2.4.7 (org_author_mode) i 2.4.7→2.4.8 (default_schema_type, health_report_enabled). Shared-host PHP-FPM (Smarthost / cPanel) trzymał skompilowaną starą sanitize() w pamięci.
Yoast 27.x BreadcrumbList duplikat
Dodane 4 nowe filter'y dla Yoast 27.x które pozwalają BreadcrumbList przemknąć mimo wpseo_schema_graph cut'a:
wpseo_schema_breadcrumbwpseo_schema_breadcrumb_list_showwpseo_should_output_breadcrumbs_schemawpseo_schema_BreadcrumbList
Co masz zrobić na makumi.eu
- Pobierz https://github.com/MarcinZmuda/Ligase-Schema-Markup/releases/download/v2.4.10/ligase-2.4.10.zip
- WP Admin → Wtyczki → Dodaj nową → Wyślij wtyczkę → ZIP → Zastąp obecnym
- Wypełnij Ustawienia → Store / E-commerce (jeśli jeszcze nie):
- Waluta:
PLN - Zwroty kraj:
PL, dni:14, opłaty:ReturnShippingFees(lubFreeReturngdy macie darmowe) - Wysyłka kraj:
PL, stawka:0lub konkretna kwota - Handling 1-2 dni, Transit 1-2 dni
- Waluta:
- Wyczyść cache (WP Rocket / Cloudflare). OPcache zresetuje się automatycznie dzięki nowemu hookowi.
- Powtórz Rich Results Test dla https://makumi.eu/produkt/koldra-hera/ —
shippingDetailspowinno być inline w Offer,returnPolicyCategorypowinno być wypełnione. - Zaznacz "Organizacja jako autor" w Ustawieniach → powinno zostać zaznaczone po Save (dzięki auto-reset OPcache).