JL Sitemap 2.2.0
Summary
Prepare JL Sitemap 2.2.0 with safer sitemap generation, Joomla 6 compatibility fixes, corrected multilingual VirtueMart URLs, hardened image sitemap output, and improved administrator AJAX behavior, add German translation.
Fixed Issues
What Changed
Sitemap generation safety
- Added atomic writes for generated XML/JSON sitemap files.
- New sitemap files are written to temporary files first and promoted only after successful generation.
- Existing sitemap files are preserved until the replacement set is ready.
- Old split sitemap files are deleted only after the new sitemap set is promoted.
- Removed the local CLI direct-write fallback from production code.
Subdirectory URL handling
- Fixed duplicated administrator/subdirectory paths in generated URLs.
- Preserved the leading slash from
Uri::root(true)when building site entry URLs. - Kept already root-prefixed paths intact in legacy cron URL preparation.
VirtueMart multilingual SEF routing
- Fixed multilingual VirtueMart URL generation for sites where product/category aliases differ per language.
- VirtueMart URLs are now routed per target language on multilingual SEF sites.
- Alternates use the same per-language routing context.
- Already routed VirtueMart URLs and alternates are marked to avoid central re-routing.
- Single-language behavior remains unchanged.
Robots handling
- Empty local robots values now fall back to the global site robots value.
noindexchecks are normalized and case-insensitive.- Menu item robots handling no longer mutates global robots state for later items.
Content image behavior
- Confirmed article sitemap images are emitted from Joomla
images.image_fulltext. - Added admin-facing note that article images use the full article image field, not intro image.
- Verified that disabling article images removes article image entries from generated sitemap XML.
Image sitemap XML output
- Hardened sitemap text node writing for XML-sensitive values.
- Fixed the public validator failure where an image URL containing raw
&could become a self-closing<image:loc/>. - Sitemap text values are now XML-escaped before
SimpleXMLElement::addChild(). - Verified generated image URLs with query strings are written as escaped XML, for example
&.
Administrator AJAX actions
- generate and remove XML sitemap actions are ajax-based now
Minimum platform requirements
- Raised the package minimum Joomla requirement to
5.0.0. - Raised the package minimum PHP requirement to
8.1.0. - Updated the release package filename from
j4_j6toj5_j6. - Updated README support text to Joomla 5 and 6.
Scheduler CLI provider output
- Fixed PHP 8.3 warning from incomplete multilingual association groups in the content sitemap provider.
- Empty or null-date
publish_upnow means no scheduled start limit instead of excluding otherwise published articles. - Verified Scheduler CLI generation includes provider URLs, not only menu URLs.
Scheduler CLI multilingual routing
- Fixed multilingual Scheduler CLI generation where provider URLs could collapse to home or language-home URLs such as
/?lang=en-GBand/?lang=ru-RU. - CLI generation now prepares Joomla site routing context without making a frontend HTTP request.
- When multilingual mode is enabled, the runtime context enables the site language filter state and attaches
system/languagefilterbuild rules toSiteRouterif they are missing. - Single-language behavior remains unchanged because the new routing preparation exits early when multilingual mode is disabled.
Notes
#65is intentionally not changed. The legacy system cron plugin is treated as deprecated because the Scheduler task plugin replaces it.- No live subdirectory stand was available for
#78/#103; verification for that defect class is source/package-level.