automattic/msm-sitemap
Comprehensive sitemaps for your WordPress.com VIP site.
1.5.6
282K downloads/mo
#4695 most downloaded on Packagist
Automattic/msm-sitemap
What this package is like to depend on
Last release 3 months ago
19 May 2026
Ships unpredictably
gaps range from 2 weeks to 4.0 years
Nearly every release is documented
notes for 16 of 16 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
16 releases · first in 2015
4 releases in the last 12 months
see the full history below
Release timeline
16 releases · May 2015 to May 2026Releases
latest 16-
1.5.619 May 2026Release notes
Open source →Fixed
- fix: Date handling in
get_last_modified_posts()for negative-offset timezones by @kevinfodness in #297
Maintenance
- chore: Add export-ignore for dev files in release archives by @GaryJones in #267
- chore: Pin i18n script to plugin slug so it works from any working directory by @GaryJones
New Contributors
- @kevinfodness made their first contribution in #297
Full Changelog: 1.5.5...1.5.6
Release notes
Open source →Fixed
- fix: Date handling in
get_last_modified_posts()for negative-offset timezones by @kevinfodness in https://github.com/Automattic/msm-sitemap/pull/297
Maintenance
- chore: Add export-ignore for dev files in release archives by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/267
- chore: Pin i18n script to plugin slug so it works from any working directory by @GaryJones
- fix: Date handling in
-
1.5.506 Jan 2026Release notes
Open source →Fixed
- fix: Use post_modified for sitemap index lastmod values by @GaryJones in #262
- fix: Use site timezone for lastmod dates in URL entries by @GaryJones in #261
- fix: Explicitly set 200 status for sitemap output by @GaryJones in #251
New Contributors
- @dependabot[bot] made their first contribution in #260
Full Changelog: 1.5.4...1.5.5
Release notes
Open source →Fixed
- fix: Use post_modified for sitemap index lastmod values by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/262
- fix: Use site timezone for lastmod dates in URL entries by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/261
- fix: Explicitly set 200 status for sitemap output by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/251
-
1.5.418 Dec 2025Release notes
Open source →Fixed
- fix: Use site timezone for sitemap generation by @GaryJones in #208
- fix: Use site timezone for sitemap index lastmod dates by @GaryJones in #248
Added
- feat: Introduce cron management service and enhanced admin UI by @GaryJones
- feat: Add WP-CLI
cronsubcommand for sitemap cron management by @GaryJones - feat: Introduce value objects for sitemap entries (SitemapIndexEntry, UrlEntry, UrlSet) by @GaryJones
Maintenance
- refactor: Reorganise tests into Integration directory by @GaryJones in #247
- ci: Standardise CI workflows and test matrix by @GaryJones
- chore: Align git configuration with a8c-plugins standards by @GaryJones
Upgrade Note: Regenerate Sitemaps Recommended
The timezone fixes in this release correct how dates are generated and displayed in sitemaps. If you were experiencing Google Search Console errors flagging sitemap dates as "invalid" or "future-dated", regenerating your sitemaps after upgrading should resolve these issues.
To regenerate sitemaps:
- Via Admin: Go to Tools → Sitemap and click "Generate from all articles"
- Via WP-CLI:
wp msm-sitemap generate --all
Release notes
Open source →Fixed
- fix: Use site timezone for sitemap generation by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/208
- fix: Use site timezone for sitemap index lastmod dates by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/248
Added
- feat: Introduce cron management service and enhanced admin UI by @GaryJones
- feat: Add WP-CLI
cronsubcommand for sitemap cron management by @GaryJones - feat: Introduce value objects for sitemap entries (SitemapIndexEntry, UrlEntry, UrlSet) by @GaryJones
Maintenance
- refactor: Reorganise tests into Integration directory by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/247
- ci: Standardise CI workflows and test matrix by @GaryJones
- chore: Align git configuration with a8c-plugins standards by @GaryJones
-
1.5.315 Sep 2025Release notes
Open source →Changes
- feat: use custom XSL stylesheets by @GaryJones
This is a hotfix release to fix #229. Without this, your XML sitemaps may appear to be blank. The XML is present in the source, so search engines can read them; it's just the human view that looks blank.
You'll need to refresh the rewrite rules, and regenerate the sitemaps:
wp rewrite flush- Or visit Settings -> Permalinks in wp-admin.
wp msm-sitemap generate --all --force- This will take a while, depending on the number of posts you have, so you can also do this via year/month/day e.g.
wp msm-sitemap generate --date=2025-09 --force.
- This will take a while, depending on the number of posts you have, so you can also do this via year/month/day e.g.
-
1.5.231 Jul 2025Release notes
Open source →Fixed
- fix: Add post deletion handling to update sitemap by @GaryJones in #211
Maintenance
- style: fix more code style violations by @GaryJones in #212
Full Changelog: 1.5.1...1.5.2
Release notes
Open source →Fixed
- fix: Add post deletion handling to update sitemap by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/211
Maintenance
- style: fix more code style violations by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/212
-
1.5.130 Jul 2025Release notes
Open source →Added
- feat: Add XSL stylesheets to XML sitemaps by @GaryJones in #206
- feat: Add sitemap_url to list and get CLI output by @GaryJones in #207
Changed
- Add a post_status/post_type to query for performance by @srtfisher in #169
Maintenance
- style: Run PHPCBF to automatically fix some CS violations by @GaryJones in #205
New Contributors
- @srtfisher made their first contribution in #169
Full Changelog: 1.5.0...1.5.1
Release notes
Open source →Added
- feat: Add XSL stylesheets to XML sitemaps by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/206
- feat: Add sitemap_url to list and get CLI output by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/207
Changed
- Add a post_status/post_type to query for performance by @srtfisher in https://github.com/Automattic/msm-sitemap/pull/169
Maintenance
- style: Run PHPCBF to automatically fix some CS violations by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/205
-
1.5.016 Jul 2025Release notes
Open source →Requires:
- WordPress: 5.9 or later
- PHP 7.4 or later
Added
- Adding hook for custom post status with tests by @elysium001 in #176
- Adding custom hook for generated xml properties by @elysium001 in #177
- Add
msm_pre_get_last_modified_postsfilter by @rbcorrales in #178 - Allow the post year range to be short-circuited and also cached by @srtfisher in #195
- feat: Add filters for sitemap index XML customization by @GaryJones in #197
- feat: Enhance WP-CLI commands for Metro Sitemap by @GaryJones in #202
Changed
- Substitute cal_days_in_month by @david-binda in #130
- Disables WordPress 5.5 Sitemaps by @kraftbj in #160
- Convert boolean options to bool before strict comparison by @rickhurst in #164
- Update supported PHP version to 7.4 and WP 5.9 minimum by @mchanDev in #175
- Respect
WPCOM_SKIP_DEFAULT_SITEMAPconstant by @renatonascalves in #180 - Refresh tests, up minimum WP version by @GaryJones in #181
- Add Post ID to
msm_sitmap_skip_postsby @BrookeDot in #184
Fixed
- If all posts were skipped, remove the sitemap post by @adamsilverstein in #122
- Temporary workaround for sitemaps returning 404 by @vaurdan in #161
- PHP 8.1 date error by @mchanDev in #174
- Update
WP_CLI::line()toWP_CLI::log()by @raamdev in #185 - Install SVN before checking out tests by @whyisjake in #186
- fix: i18n issues by @GaryJones in #194
- fix: Enhance tooltip for indexed URLs with pluralization support by @GaryJones in #196
- Add custom post permalink handling for msm_sitemap posts by @GaryJones in #201
Maintenance
- Setup GitHub actions by @trepmal in #166
- Update plugin headers for clarity by @GaryJones in #187
- test: Add testdox argument by @GaryJones in #190
- Refactor FunctionsTest for clarity and consistency by @GaryJones in #191
- test: Increase WP max version for tests by @GaryJones in #192
- test: Refactor test methods into TestCase by @GaryJones in #193
- Add lots of tests by @GaryJones in #198
Documentation
- Migrating plugin instructions from old VIP Docs site to plugin's
README.mdby @yolih in #172 - Update plugins, update tests by @mchanDev in #173
New Contributors
- @vaurdan made their first contribution in #161
- @rickhurst made their first contribution in #164
- @trepmal made their first contribution in #166
- @yolih made their first contribution in #172
- @mchanDev made their first contribution in #173
- @elysium001 made their first contribution in #176
- @rbcorrales made their first contribution in #178
- @renatonascalves made their first contribution in #180
- @GaryJones made their first contribution in #181
- @raamdev made their first contribution in #185
- @whyisjake made their first contribution in #186
- @BrookeDot made their first contribution in #184
- @adamsilverstein made their first contribution in #122
Full Changelog: 1.4.2...1.5.0
Release notes
Open source →Requires:
- WordPress: 5.9 or later
- PHP 7.4 or later
Added
- Adding hook for custom post status with tests by @elysium001 in https://github.com/Automattic/msm-sitemap/pull/176
- Adding custom hook for generated xml properties by @elysium001 in https://github.com/Automattic/msm-sitemap/pull/177
- Add
msm_pre_get_last_modified_postsfilter by @rbcorrales in https://github.com/Automattic/msm-sitemap/pull/178 - Allow the post year range to be short-circuited and also cached by @srtfisher in https://github.com/Automattic/msm-sitemap/pull/195
- feat: Add filters for sitemap index XML customization by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/197
- feat: Enhance WP-CLI commands for Metro Sitemap by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/202
Changed
- Substitute cal_days_in_month by @david-binda in https://github.com/Automattic/msm-sitemap/pull/130
- Disables WordPress 5.5 Sitemaps by @kraftbj in https://github.com/Automattic/msm-sitemap/pull/160
- Convert boolean options to bool before strict comparison by @rickhurst in https://github.com/Automattic/msm-sitemap/pull/164
- Update supported PHP version to 7.4 and WP 5.9 minimum by @mchanDev in https://github.com/Automattic/msm-sitemap/pull/175
- Respect
WPCOM_SKIP_DEFAULT_SITEMAPconstant by @renatonascalves in https://github.com/Automattic/msm-sitemap/pull/180 - Refresh tests, up minimum WP version by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/181
- Add Post ID to
msm_sitmap_skip_postsby @BrookeDot in https://github.com/Automattic/msm-sitemap/pull/184
Fixed
- If all posts were skipped, remove the sitemap post by @adamsilverstein in https://github.com/Automattic/msm-sitemap/pull/122/
- Temporary workaround for sitemaps returning 404 by @vaurdan in https://github.com/Automattic/msm-sitemap/pull/161
- PHP 8.1 date error by @mchanDev in https://github.com/Automattic/msm-sitemap/pull/174
- Update
WP_CLI::line()toWP_CLI::log()by @raamdev in https://github.com/Automattic/msm-sitemap/pull/185 - Install SVN before checking out tests by @whyisjake in https://github.com/Automattic/msm-sitemap/pull/186
- fix: i18n issues by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/194
- fix: Enhance tooltip for indexed URLs with pluralization support by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/196
- Add custom post permalink handling for msm_sitemap posts by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/201
Maintenance
- Setup GitHub actions by @trepmal in https://github.com/Automattic/msm-sitemap/pull/166
- Update plugin headers for clarity by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/187
- test: Add testdox argument by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/190
- Refactor FunctionsTest for clarity and consistency by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/191
- test: Increase WP max version for tests by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/192
- test: Refactor test methods into TestCase by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/193
- Add lots of tests by @GaryJones in https://github.com/Automattic/msm-sitemap/pull/198
Documentation
- Migrating plugin instructions from old VIP Docs site to plugin's
README.mdby @yolih in https://github.com/Automattic/msm-sitemap/pull/172 - Update plugins, update tests by @mchanDev in https://github.com/Automattic/msm-sitemap/pull/173
-
1.4.209 Jan 2020Release notes
Open source →Release notes
Open source →Fixed
- Fix slow query by @emrikol in https://github.com/Automattic/msm-sitemap/pull/153
Changed
- Remove cron override code for VIP Go by @mjangda in https://github.com/Automattic/msm-sitemap/pull/139
Documentation
- Fix typo for default in README.md by @pjpak in https://github.com/Automattic/msm-sitemap/pull/148
-
1.4.105 Mar 2019Release notes
Open source →Added
Maintenance
- Update the plugin version and the stable tag by @shantanu2704 in #142
- Update Version and Stable tag to 1.4.1 by @brettshumaker in #150
New Contributors
- @shantanu2704 made their first contribution in #142
- @kasparsd made their first contribution in #147
- @brettshumaker made their first contribution in #150
Full Changelog: 1.4...1.4.1
Release notes
Open source →Added
- Add filter to limit the sitemap date range by @kasparsd in https://github.com/Automattic/msm-sitemap/pull/147
Maintenance
- Update the plugin version and the stable tag by @shantanu2704 in https://github.com/Automattic/msm-sitemap/pull/142
- Update Version and Stable tag to 1.4.1 by @brettshumaker in https://github.com/Automattic/msm-sitemap/pull/150
-
1.2.123 Dec 2016Release notes
Open source →Fixed
- Use date range query for getting single sitemap by @mjangda in https://github.com/Automattic/msm-sitemap/pull/95
- Adding
post_type,posts_per_pageandpost_statusto WP_Query used in … by @david-binda in https://github.com/Automattic/msm-sitemap/pull/96
-
1.5-beta25 Jan 2024Release notes
Open source →Added
- Add
msm_pre_get_last_modified_postsfilter by @rbcorrales in #178 - Adding hook for custom post status with tests by @elysium001 in #176
- Adding custom hook for generated xml properties by @elysium001 in #177
Changed
- Disables WordPress 5.5 Sitemaps by @kraftbj in #160
- Convert boolean options to bool before strict comparison by @rickhurst in #164
Fixed
- Temporary workaround for sitemaps returning 404 by @vaurdan in #161
- Bugfix/issues 171 php 8.1 date error by @mchanDev in #174
Maintenance
Documentation
- Migrating plugin instructions from old VIP Docs site to plugin's README.md by @yolih in #172
- Update plugins, update tests by @mchanDev in #173
New Contributors
- @vaurdan made their first contribution in #161
- @rickhurst made their first contribution in #164
- @trepmal made their first contribution in #166
- @yolih made their first contribution in #172
- @mchanDev made their first contribution in #173
- @elysium001 made their first contribution in #176
- @rbcorrales made their first contribution in #178
Full Changelog: 1.4.2...1.5-beta
- Add
-
1.410 Jul 2018Release notes
Open source →Fixed
- Improve
MSM_Sitemap::get_post_ids_for_date()SQL's performance by sorting by date via PHP. by @david-binda in https://github.com/Automattic/msm-sitemap/pull/128 - Remove extra wp query by @david-binda in https://github.com/Automattic/msm-sitemap/pull/129
- Force
$(days|months|years)_being_processedto an array by @kraftbj in https://github.com/Automattic/msm-sitemap/pull/134 - CLI: Use cal_days_in_month when available by @kraftbj in https://github.com/Automattic/msm-sitemap/pull/136
Changed
- Don't autoload indexed url and last run options by @mjangda in https://github.com/Automattic/msm-sitemap/pull/111
- Run on wp-cron on VIP Go by @joshbetz in https://github.com/Automattic/msm-sitemap/pull/131
Documentation
- Added Filtering Sitemap URL info to plugin Readme by @blunce24 in https://github.com/Automattic/msm-sitemap/pull/141
Maintenance
- Removing unused variable by @david-binda in https://github.com/Automattic/msm-sitemap/pull/125
- Removing unused MSM_Sitemap::find_valid_days method by @david-binda in https://github.com/Automattic/msm-sitemap/pull/126
- Fix tests in PHP 7 by @david-binda in https://github.com/Automattic/msm-sitemap/pull/127
- Improve
-
1.306 Jul 2017Release notes
Open source →Added
- Adding the ability to index sitemaps by year by @bcampeau in https://github.com/Automattic/msm-sitemap/pull/119
Fixed
- Fix if no posts exist, oldest year is set to 1970 by @mdbitz in https://github.com/Automattic/msm-sitemap/pull/100
- Use
cas the date format for lastmod by @mjangda in https://github.com/Automattic/msm-sitemap/pull/101 - Escape loc URL by @mjangda in https://github.com/Automattic/msm-sitemap/pull/103
- Requests for Sitemaps that don't exist return 404 error messages by @mdbitz in https://github.com/Automattic/msm-sitemap/pull/105
- Make sure to only output unique dates by @pkevan in https://github.com/Automattic/msm-sitemap/pull/115
Changed
- Filter added to posts_pre_query to bypass DB Call on sitemap render by @mdbitz in https://github.com/Automattic/msm-sitemap/pull/106
- Optimize
get_last_modified_postsquery by @mjangda in https://github.com/Automattic/msm-sitemap/pull/107
Maintenance
- Unit Test update to resolve run time and concerns with current logic by @mdbitz in https://github.com/Automattic/msm-sitemap/pull/97
- Fix Travis by @mjangda in https://github.com/Automattic/msm-sitemap/pull/120
-
1.220 Dec 2016Release notes
Open source →Fixed
- Fixing issue #82 where sitemap counts do not appear by @pkevan in https://github.com/Automattic/msm-sitemap/pull/83
- Ensure cron events are scheduled with consistent data types in their arguments by @ethitter in https://github.com/Automattic/msm-sitemap/pull/90
- Switch to raw SQL from
WP_Date_Queryby @mjangda in https://github.com/Automattic/msm-sitemap/pull/93 - Switch to
get_post_modified_time()for UTC by @mjangda in https://github.com/Automattic/msm-sitemap/pull/94
Changed
- Adding VIP Go helper to block initial crons by @pkevan in https://github.com/Automattic/msm-sitemap/pull/84
- Add update cron for VIP Go by @pkevan in https://github.com/Automattic/msm-sitemap/pull/85
- VIPGo helpers and sanity check for cron update by @pkevan in https://github.com/Automattic/msm-sitemap/pull/86
Maintenance
- Create
.travis.ymlby @mjangda in https://github.com/Automattic/msm-sitemap/pull/91
-
1.120 Apr 2016Release notes
Open source →Fixed
- Delete Empty Sitemaps by @mjangda in https://github.com/Automattic/msm-sitemap/pull/80
-
1.014 May 2015