Problem
Canonical and og:url use the filtered final canonical pipeline, while WebPage and Breadcrumb schema build a separate current URL from $wp->request. Schema IDs therefore omit trailing slashes and ignore route-owner canonical overrides.
Required outcome
Use ec_seo_get_final_canonical_url() as the WebPage and Breadcrumb entity identity base. Canonical, Open Graph URL, WebPage URL/ID, and Breadcrumb ID must agree.
Tests
Cover ordinary archives, scoped location discovery, pagination, /all/, and /location/ virtual routes.
Problem
Canonical and
og:urluse the filtered final canonical pipeline, while WebPage and Breadcrumb schema build a separate current URL from$wp->request. Schema IDs therefore omit trailing slashes and ignore route-owner canonical overrides.Required outcome
Use
ec_seo_get_final_canonical_url()as the WebPage and Breadcrumb entity identity base. Canonical, Open Graph URL, WebPage URL/ID, and Breadcrumb ID must agree.Tests
Cover ordinary archives, scoped location discovery, pagination,
/all/, and/location/virtual routes.