100,000+
April 22, 2026
September 26, 2009
Take control of your WordPress core XML Sitemap and add a Google News Sitemap. Compatible with WordPress Multisite, Polylang and WPML and most caching plugins. There are no static files created.
NEW: Connect your site to your Google Search Console and Bing Webmaster Tools to keep an eye on sitemap performance and possible errors.
NEW: Submit your sitemaps right from the WordPress admin. Yes, you read that correctly: Sitemap Pings are back!
XML Sitemap
Google News Sitemap
This plugin does not collect any user or visitor data nor set browser cookies. Using this plugin should not impact your site privacy policy in any way.
Data that is published
An XML Sitemap index, referencing other sitemaps containing your web site’s public post URLs of selected post types that are already public, along with their last modification date and associated image URLs, and any selected public archive URLs.
An author sitemap can be included, which will contain links to author archive pages. These urls contain author/user slugs, and the author archives can contain author bio information. If you wish to keep this out of public domain, then deactivate the author sitemap and use an SEO plugin to add noindex headers to the respective archive pages.
A Google News Sitemap containing your web site’s public and recent (last 48 hours) URLs of selected news post type, along with their publication time stamp and associated image URL.
Data that is transmitted
when a connection between your site and Google Search Console is configured in this plugin, the sitemap index and google news sitemap can be submitted to Google. No data is transmitted to any third party.
If you’re happy with this plugin as it is, please consider writing a quick rating or helping other users out on the support forum.
If you wish to help build this plugin, you’re very welcome to translate it into your language or contribute code on Github.
XML Sitemap Feed was originally based on the discontinued plugin Standard XML Sitemap Generator by Patrick Chia. Since then, it has been completely rewritten and extended in many ways.
NOTES:
If you do not use fancy URL’s or you have WordPress site running in a subdirectory, a dynamic robots.txt will NOT be generated.
On large sites, it is advised to use a good caching plugin to improve your site and sitemap performance.
I. If you have been using another XML Sitemap plugin before, check your site root and remove any created sitemap.xml, sitemap-news.xml and (if you’re not managing this one manually) robots.txt files that remained there.
II. Install plugin by:
Quick installation via Covered Web Services !
… OR …
Search for “xml sitemap feed” and install with that slick Plugins > Add New admin page.
… OR …
Follow these steps:
Download archive.
Upload the zip file via the Plugins > Add New > Upload page … OR … unpack and upload with your favourite FTP client to the /plugins/ folder.
III. Activate the plugin on the Plugins page.
Done! Check your sparkling new XML Sitemap by visiting yourblogurl.tld/sitemap.xml (adapted to your domain name of course) with a browser or any online XML Sitemap validator. You might also want to check if the sitemap is listed in your yourblogurl.tld/robots.txt file.
Same as above but do a Network Activate to make a XML sitemap available for each site on your network.
Installed alongside WordPress MU Sitewide Tags Pages, XML Sitemap Feed will not create a sitemap.xml nor change robots.txt for any tag blogs. This is done deliberately because they would be full of links outside the tags blogs own domain and subsequently ignored (or worse: penalised) by Google.
Upon uninstalling the plugin from the Admin > Plugins page, plugin options and meta data will be cleared from the database. See notes in the uninstall.php file.
On multisite, the uninstall.php loops through all sites in the network to perform the uninstallation process for each site. However, on large networks it only does this when define('XMLSF_MULTISITE_UNINSTALL', true); is explicitly set in wp-config.php.
Please read more on FAQ’s and Troubleshooting
Date: 20260421
* Fix LPAD months, thanks @midwestdev
* Admin button styles
Date: 20260129
* Fix Google Connect instructions text
* Fix transients upgrade routine
Date: 20260121
* Bing Webmaster Tools sitemap reports
* Bing sitemap submission from admin
* Priority tags dropped
Date: 20251201
* Improved GSC connection instructions
* Code and text strings cleanup
* FIX: split by week DB query
* FIX: XML Sitemap Advanced compatibility
Date: 20251126
* Google Search Console sitemap reports
* Sitemap submission from admin
* Knowledge base link in admin help sections
Date: 20251118
* Prepare advanced sitemap notification feature.
Date: 20251014
* Drop unused news tags & stylesheet columns
* FIX: failing sanitize callbacks
* FIX: Squirrly SEO incompatibility warnings
Date: 20250915
* FIX: WPML Compatibility missing valid callback, thanks @linusbenknerkk
Date: 20250717
* FIX: Possible excessively long URL on admin post search, thanks @leedxw
* FIX: Notice dismiss failing
Date: 20250625
* Polylang index lastmods per language in core sitemap
* Resturcture admin notices
* FIX: SEOPress notices
* FIX: core sitemap index lastmods (post order)
* FIX: Polylang Pro compatibility, thanks @followalter
Date: 20250427
* Improved WPML compatibility
* Load core sitemaps early to prevent unnecessary queries
* FIX: dynamic property deprecated notices
* FIX: unregister GN sitemap rewite rules on deactivation
Date: 20250402
* FIX: missing exclude/priority meta box
* FIX: error blocking deactivation
* FIX: non-numeric value encountered in automatic priority calculations, thanks @i0n1ca
* FIX: undefined function on Clear settings
Date: 20250331
* Exclude option in Quick Editor
* Filter xmlsf_taxonomies_query_args
* Filter xmlsf_news_hours_old
* custom urls sitemap for core server
* external sitemaps for core server
* Namespacing & autoloading
* Admin notices for Slim SEO, Squirrly SEO, Jetpack Sitemaps & XML Sitemaps Manager
* FIX: Polylang news sitemap category selection
* FIX: Polylang user archive translations on Plugin sitemap
* FIX: Attempt to read property post_type on null
* FIX: Possible empty taxonomy sitemaps in index
* FIX: Missing textdomain, thanks @itapress
* FIX: Blog page lastmod date format
* FIX: Noindex robots meta header for core sitemap, thanks @ukheather
* FIX: possible empty static front page lastmod
* FIX: Max posts per sitemap not saving
Date: 20240506
* FIX: Unauthenticated file inclusion – CVE-2024-4441 reported by Foxyyy
Date: 20240329
* post types max number
* FIX: blog_public can be integer when object cache is used
* FIX: compatibility date redirect warning when using core server
* FIX: rewrite rules conflict with Polylang
* FIX: call to undefined function with Nginx Helper
Date: 20240221
* FIX: wp-cli disable plugin incompatibility
* FIX: trailing slash
* FIX: split by month
* FIX: disabled post types in index
* ClassicPress and WP pre-5.5 compatibility
* FIX: Undefined contact on uninstall
* FIX: admin compatibility message
Date: 20240219
* Switch between Plugin or WP core sitemap server for sitemap generation
* xmlsf_generator action hook
* xmlsf_sitemap_index_pre and xmlsf_sitemap_index_post action hooks
* xmlsf_author_has_published_posts filter
* Dropping all Ping Services (no longer supported)
* Dropping allowed domains filtering
* Exclude spammed or deleted authors on multisite
* Updated help links
* Update coding standards
* FIX: Don’t use transients if not strictly needed
* FIX: “Failed opening required” when no template
* FIX: Conversion of false to array deprecated warning
Date: 20230810
* FIX: Work around get_users() fatal error in WP 6.3
* FIX: Wrong Nginx helper purge urls (backport from 5.4-beta)
Date: 20230629
* FIX: Forced Status 200 response conflict with Etag/If-None-Match headers, thanks @revolutionnaire
Date: 20230530
* FIX: File not found error on invalid sitemap requests
* FIX: Lastmod date older than post date on scheduled posts
Date: 20230528
* FIX: Undefined variable + Invalid argument supplied for foreach(), thanks @yankyaw09
xmlsf_request and xmlsf_news_requestxmlsf_news_publication_name and xmlsf_news_titlexmlsf_urlxmlsf_news_url and xmlsf_news_tags_innerxmlsf_index_url_args filterxmlsf_news_tags_after to after closing tagDate: 20191111
* Ad Inserter compatibility check
* xmlsf_urlset and xmlsf_news_urlset action hooks, thanks to Stanislav Khromov (@khromov)
* Exclude hierarchical post types from news sitemap
Date: 20191009
* xmlsf_tags_after, xmlsf_url_after and xmlsf_news_url_after action hooks
* Make stylesheet paths relative to prevent exclusion when using different language domains
* FIX: Taxonomy selection not available to new installs
Date: 20190917
* NEW Rank Math incompatibility admin warnings
* FIX undefined index
* FIX invalid form control
Date: 20190429
* Image query optimization and meta caching
* Last comment date meta caching
* Lastmod and publication dates in local time
* Removed ignored image tag from news sitemap
* Max memory limit for post type and taxonomy term sitemaps
* Prevent CDN file urls
* Zlib before GZhandler on .gz request
* FIX: don’t ping for excluded posts
* FIX: traditional and simplified Chinese with WPML
* FIX: redundant front page url
* FIX: array_filter() expects parameter 1 to be array
* FIX: possible division by zero
* FIX: update_term_modified_meta
* FIX: rewrite rules on deactivate/uninstall
Date: 20190313
* SEOPress and Catch Box incompatibility admin messages
* FIX bbPress incompatibility
* FIX failing last modified date for taxonomy sitemaps
* FIX sitemap showing when only private posts
* FIX possible sitemaps for no longer existing post types in index
* Admin interface improvements: highlighting and scroll
* Upgrade routines in own class only to be included when needed
* Moved metabox methods to dedicated classes
* NEW Respond to .gz requests (with ob_gzhandler output buffering if needed)
* NEW filters xmlsf_disabled_taxonomies, xmlsf_news_keywords, xmlsf_news_stock_tickers
* NEW action xmlsf_ping
* NEW Tools: Ping search engines and Flush rewrite rules
Date: 20181025
* Allowed domains back to Settings > Reading
* FIX static files check on activation
* NEW Admin warning on conflicting plugin settings
* FIX Empty post priority saved as 0.0
* FIX Call to undefined function xmlsf_get_archives()
* FIX force LC_NUMERIC locale to C
* FIX Call to private method
* FIX Custom post types with a hyphen not showing
* FIX Admin static files message fatal error, thanks @kitchin
* FIX Improper if statement in upgrade routine, thanks @kitchin
* FIX PHP 5.4 compatibility issues
Date: 20180908
* Complete code restructure and cleanup: MVC and JIT inclusion
* Fewer DB queries, much smaller memory footprint on normal queries
* NEW Admin interface with dedicated options pages and help tabs
* NEW Taxonomy term options: priority and automatic calculation
* NEW Admin warning on conflicting static files
* NEW Option to delete conflicting static files
* NEW Filters for post types: xmlsf_post_types and xmlsf_news_post_types
* NEW Filters for priority values: xmlsf_post_priority and xmlsf_term_priority
* Removal of Genre, Keywords and Access tags as Google dropped support
* Taxonomy term sitemaps speed improvement: get lastmod date from database
* Exclude Woocommerce product_shipping_class taxonomy
* PHP 7.2+ compat: create_function deprecated
* No more domain filtering for custom URLs and external sitemaps
* FIX Gutenberg editor GN genre taxonomy not showing
* FIX Plain and /index.php/ permalink structure
* FIX Clear all options on uninstall
* FIX Pings
Date: 20180507
* Code cleanup
* FactCheck genre
* Changefreq tag dropped
* translation strings for genres
* FIX: zlib.output_compression compatibility, thanks @alicewondermiscreations
* FIX: permalink issue with Woocommerce account page endpoints
* FIX: undefined index in news post types
Date: 20180316
* Conditional functions is_sitemap() and is_news()
* code cleanup and annotation
* new google ping URL
* revisit get first/last date/modified functions and cache key set/delete
* FIX: cache key missing timezone
* FIX: wp_rewrite init before flush_rules
Date: 20161207
* FIX: On cache_flush purge also the respective time_key cache entry,
props @e2robert https://wordpress.org/support/topic/object-cache-issue-results-in-outdated-last-modified-values-on-index-sitemap/
* FIX: Variable variable php 7 compat
* Detect if headers are already sent and print warning in source
Date: 20160506
* WPML compatibility
* FIX: News Sitemap chinese language tag
* FIX: flush rules on plugin re-activation
Date: 20160407
* Code cleanup
* POT file update
* Dutch translation update
robotstxt_sitemap_url for any translate and url changing plugins.add_feed (on init) to the do_feed_$feed hookis_404() condition TRUE and Response Header 404 on sites without postsis_feed() condition FALSE after custom query_postsget_post_modified_time instead of get_post_time| Version | Download | Type |
|---|---|---|
| 5.7.3 | Download | Stable |
| 5.7.2 | Download | Stable |
| 5.7.1 | Download | Stable |
| 5.7 | Download | Stable |
| 5.6.3 | Download | Stable |
| 5.6.2 | Download | Stable |
| 5.6.1 | Download | Stable |
| 5.6 | Download | Stable |
| 5.5.9 | Download | Stable |
| 5.5.8 | Download | Stable |
| 5.5.7 | Download | Stable |
| 5.5.6 | Download | Stable |
| 5.5.5 | Download | Stable |
| 5.5.4 | Download | Stable |
| 5.5.3 | Download | Stable |
| 5.5.2 | Download | Stable |
| 5.5.1 | Download | Stable |
| 5.4.9 | Download | Stable |
| 5.4.6 | Download | Stable |
| 5.3.6 | Download | Stable |
| 5.2.7 | Download | Stable |
| 5.1.2 | Download | Stable |
| 5.0.7 | Download | Stable |
| 4.9.4 | Download | Stable |
| 4.8.3 | Download | Stable |
| 4.7.5 | Download | Stable |
| 4.6.3 | Download | Stable |
| 4.5.1 | Download | Stable |
| 4.4.1 | Download | Stable |
| 4.3.2 | Download | Stable |
| 4.2.3 | Download | Stable |
| 4.1.4 | Download | Stable |
| 4.0.1 | Download | Stable |
| 3.9.3 | Download | Stable |
| 3.8.8 | Download | Stable |
| 3.7.4 | Download | Stable |
| 3.6.1 | Download | Stable |
| 3.5 | Download | Stable |
| 3.4 | Download | Stable |
| 3.3 | Download | Stable |
| 3.2 | Download | Stable |
| 3.0 | Download | Stable |
| 2.1 | Download | Stable |
| 2.0 | Download | Stable |
| 1.0 | Download | Stable |
| Development | Download | Trunk |