Skip to content

Conversation

@GaryJones
Copy link
Contributor

@GaryJones GaryJones commented Jan 2, 2026

Summary

Bugfix release focusing on sitemap lastmod date accuracy and HTTP response handling.

Fixed

  • Use post_modified for sitemap index lastmod values (#262)
  • Use site timezone for lastmod dates in URL entries (#261)
  • Explicitly set 200 status for sitemap output (#251)
  • Use past date in timezone test to avoid future post status

Maintenance

  • Add .npmrc for npm configuration

Planned release date: 6th January 2026

🤖 Generated with Claude Code

GaryJones and others added 11 commits December 18, 2025 23:57
WordPress core sitemaps (introduced in WP 5.5) use the same 'sitemap'
query var as MSM Sitemap. When core's sitemap handler runs and finds no
matching core sitemap, it sets a 404 status. Even though MSM Sitemap
outputs valid XML with the correct Content-Type header, the 404 status
persists because we only set headers for Content-Type, not the HTTP
status. This causes search engines to receive a 404 status with valid
sitemap content.

By explicitly calling status_header( 200 ) before outputting the XML, we
override any previously set status and ensure search engines receive the
correct 200 OK status with our valid sitemap content.

This approach is cleaner than the current VIP Go workaround in
vipgo-helper.php which disables core's render_sitemaps action entirely.
Bumps the dev-dependencies group with 1 update: [@wordpress/env](https://github.com/WordPress/gutenberg/tree/HEAD/packages/env).


Updates `@wordpress/env` from 10.36.0 to 10.37.0
- [Release notes](https://github.com/WordPress/gutenberg/releases)
- [Changelog](https://github.com/WordPress/gutenberg/blob/@wordpress/env@10.37.0/packages/env/CHANGELOG.md)
- [Commits](https://github.com/WordPress/gutenberg/commits/@wordpress/env@10.37.0/packages/env)

---
updated-dependencies:
- dependency-name: "@wordpress/env"
  dependency-version: 10.37.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dev-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Changes get_post_modified_time() from GMT (true) to site timezone
(false) for consistency with the sitemap index fix in #248.

Affected files:
- SitemapIndexEntryFactory::from_post()
- UrlEntryFactory::from_post()

This ensures all lastmod dates in sitemaps use the site's configured
timezone, preventing incorrect UTC timestamps that could cause
search engines to flag dates as invalid.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Per Google's sitemap specification, the lastmod value in a sitemap index
should indicate when the sitemap file was last modified, not the date
the sitemap represents.

Previously, a sitemap for 2024-01-15 would show lastmod as
2024-01-15T00:00:00. Now it correctly shows when the sitemap was
regenerated (e.g., 2025-12-30T07:01:33).

Changes:
- Touch sitemap posts when regenerating to update post_modified
- Query both post_date (for URL) and post_modified (for lastmod)
- Factory now accepts optional modification time mapping

This helps search engines understand which sitemaps have actually
changed and need re-crawling.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
WordPress automatically sets posts with future dates to 'future' status
instead of 'publish'. The test was using June 15th of the current year,
which fails in the first half of the year when that date is still in
the future.

Changed to use January 1st of the current year, which is always in the
past regardless of when the test runs.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@GaryJones GaryJones self-assigned this Jan 2, 2026
@GaryJones GaryJones added the type: release Release-related tasks label Jan 2, 2026
@GaryJones GaryJones added this to the Next milestone Jan 2, 2026
@GaryJones GaryJones marked this pull request as ready for review January 6, 2026 14:05
@GaryJones GaryJones requested a review from a team as a code owner January 6, 2026 14:05
@GaryJones GaryJones merged commit 117a5c5 into main Jan 6, 2026
10 checks passed
@GaryJones GaryJones deleted the release/1.5.5 branch January 6, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: release Release-related tasks

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants