PR-6.1-dev Pending

User tests: Successful: Unsuccessful:

avatar anishmehta24
anishmehta24
20 Sep 2026

Pull Request resolves #48479.

  • I read the Generative AI policy and my contribution is either not created with the help of AI or is compatible with the policy and GNU/GPL 2 or later.

Summary of Changes

The WebPage node emitted by System - Schema.org and the BreadcrumbList node emitted by mod_breadcrumbs both carried one site-wide @id on every page (https://example.com/#/schema/WebPage/base and https://example.com/#/schema/BreadcrumbList/<module id>), so every page of a site described a different node under the same identifier. The Organization and WebSite nodes are genuinely one node per site and are left as they are.

  • modules/mod_breadcrumbs/tmpl/default.php: @id becomes <current page URL>#breadcrumb.
  • plugins/system/schemaorg/src/Extension/Schemaorg.php: @id of the WebPage becomes <current page URL>#webpage (the page URL was already used for url; it is now computed once).

The WebPage.breadcrumb link is unchanged in code: the plugin reads the @id from the module's inline.breadcrumbs-schemaorg asset, so it follows the new identifier automatically. Per-item schemas keep isPartOf: {"@id": <WebPage @id>}, which now points at the page they belong to.

Written with the help of Claude Code and reviewed by me; I could not run a Joomla site while preparing this, so the testing instructions below are what a tester needs to confirm.

Testing Instructions

  1. Install Joomla 6.1 with sample data.
  2. Enable the plugin System - Schema.org and publish a Breadcrumbs module on all pages.
  3. Open two different pages and view the page source; compare the application/ld+json blocks.

Actual result BEFORE applying this Pull Request

On both pages:

{"@type": "BreadcrumbList", "@id": "https://example.com/#/schema/BreadcrumbList/17", ...}
{"@type": "WebPage",        "@id": "https://example.com/#/schema/WebPage/base", "breadcrumb": {"@id": "https://example.com/#/schema/BreadcrumbList/17"}, ...}

Expected result AFTER applying this Pull Request

Each page carries its own identifiers, and the breadcrumb link on the WebPage matches the BreadcrumbList of that page:

{"@type": "BreadcrumbList", "@id": "https://example.com/about#breadcrumb", ...}
{"@type": "WebPage",        "@id": "https://example.com/about#webpage", "breadcrumb": {"@id": "https://example.com/about#breadcrumb"}, ...}

Organization and WebSite keep #/schema/Organization/base and #/schema/WebSite/base.

Link to documentations

Please select:

  • No documentation changes for guide.joomla.org needed
  • No documentation changes for manual.joomla.org needed

🤖 Generated with Claude Code

avatar anishmehta24 anishmehta24 - open - 20 Sep 2026
avatar anishmehta24 anishmehta24 - change - 20 Sep 2026
Status New ⇒ Pending
avatar joomla-cms-bot joomla-cms-bot - change - 20 Sep 2026
Category ⇒ Modules Front End Plugins
avatar brianteeman
brianteeman - comment - 22 Sep 2026

Written with the help of Claude Code and reviewed by me; I could not run a Joomla site while preparing this, so the testing instructions below are what a tester needs to confirm.

It is expected that everyone who submits a pull request to Joomla has tested their own work before submitting anything. Simply asking AI to write a pull request for you is not accepted

avatar HLeithner HLeithner - close - 22 Sep 2026
avatar HLeithner
HLeithner - comment - 22 Sep 2026

hello @anishmehta24 it seems you checked the checkbox without reading the Generative AI policy, which makes us unable to proceed with your pull request.

I will close it by our rules, for the next pull request please follow our contribution rules, thank you.

avatar HLeithner HLeithner - change - 22 Sep 2026
Status Pending ⇒ Closed
Closed_Date 0000-00-00 00:00:00 ⇒ 2026-09-22 09:41:39
Closed_By ⇒ HLeithner
Labels Added: PR-6.1-dev

Add a Comment

Login with GitHub to post a comment