XML Sitemap & Google News feeds

Wordpress Plugin
Download latest - 3.9.3

Developers

deployer
RavanH

Download Stats

Today 1,775
Yesterday 2,357
Last Week 22,430
All Time 1,048,833
Banner 772x250

This plugin dynamically creates feeds that comply with the XML Sitemap and the Google News Sitemap protocol. It is Multi-Site and Multi-Lingual compatible and there are no options to be set nor file or dir access rights to be tampered with.

You or your site owners on your Multi-site network will not be bothered with complicated settings like other XML Sitemap plugins. XML sitemap values like ChangeFreq and URL Priority is auto-calculated based on post age and comment activity.

The feeds become instantly available: One XML Sitemap on yourblogurl.tld/sitemap.xml (or yourblogurl.tld/?feed=sitemap), ready for indexing by search engines like Google, Yahoo, MSN, Ask.com and others. And one Google News Sitemap on yourblogurl.tld/sitemap-news.xml (or yourblogurl.tld/?feed=sitemap-news), ready for indexing by Google News. Both are automatically referenced in the dynamically created robots.txt on yourblogurl.tld/robots.txt to tell search engines where to find your XML Sitemaps.

Please read the FAQ's for info on how to get your articles listed on Google News.

Compatible with caching plugins like WP Super Cache, W3 Total Cache and Quick Cache that cache feeds, allowing a faster serving to the hungry, impatient (!) spiders.

qTranslate and xLanguage compatible! Tested in Pre-Path Mode and Query Mode. Each language on your site will have its own XML Sitemap.

NOTES:

  1. If you do not use fancy URL's or you have WordPress installed in a subdirectory, a dynamic robots.txt will NOT be generated. You'll have to create your own and upload it to your site root! See FAQ's.

  2. On large sites, it is advised to use a good caching plugin like Quick Cache, WP Super Cache or W3 Total Cache to improve your site and sitemap performance.

Advantages

  • The main advantage of this plugin over other XML Sitemap plugins is simplicity. No need to change file or folder permissions, move files or spend time on a difficult plugin options page. In fact, there are no options at all!
  • Completely automatic post URL priority and change frequency calculation based on post age and comment and trackback activity.
  • Works out-of-the-box, even on multi-site / shared codebase / multi-blog setups like WordPress MU, WP 3.0 in MultiSite (WPMS) mode and others.
  • Also works upon Network Activate or placed in /mu-plugins/ on WP 3.0 in MS mode and WPMU and even takes care to exclude any tags blogs to avoid malus points for link spamming.
  • Compatible with multi-lingual sites using qTranslate or xLanguage to allow all languages to be indexed equally.

Limitations

  • The feed contains the front page and all posts and pages but excludes category, tag and other dynamic archive pages. This should not be a problem and by most it is even advised to exclude them. There are SEO plugins around that actively block these archive pages from search engines.
  • Except by re-saving older posts from time to time (keeping the lastmod date fairly recent) there is no way to manually control the priority of individual posts/pages in the sitemap. See the Faq's for more.
  • This plugin does not ping any search engines. But then, WordPress does this by default already via the Ping-o-Matic service so why bother? See the Faq's for more.
  • Because the feed is dynamically created, on very large sites the creation process might take a while. Search engines are said to have a short fuse about waiting for a sitemap, so you may want to consider using a cache plugin that also (pre)caches feeds. If you are unfamiliar with caching and server setup start with an easy caching plugin such as Quick Cache. For more options (and better performance) you might find solace in WP Super Cache or W3 Total Cache.
  • On VERY large sites (read: over 10.000 posts) with limited memory assigned to PHP, the generation of the sitemap might cause a problem when the process runs out of memory. See the FAQ's for tips to increase the PHP memory limit on your server.

Translations

There is nothing to translate. The sitemap protocol is international, there is no options page nor any front-end or widget output. Nothing to see here, please move along ;)

Plugin developers

Since 3.8.5, there is a FILTER hook xml_sitemap_url available that lets you filter the URL for the sitemap reference in the generated robots.txt and the home URL in the sitemap. It sends both string (for single url) and array (for multiple urls) and should receive the same. See pre-packaged examples of it's use in xml-sitemap.php for the qTranslate and xLanguage plugins.

Credits

XML Sitemap Feed was originally based on the discontinued plugin Standard XML Sitemap Generator by Patrick Chia. Many thanks! Since then, it has been completely rewritten and extended in many ways.


Releases (58 )

Version Release Date Change Log
3.9.3 2022-07-08

= 3.9.2 = Google News stylesheet, bugfixes, WP 3.4 compatibility, basic Polylang compatibility, speed improvement and sticky posts get max priority now

4.0 2022-07-08

= 3.9.2 = Basic Google News feed stylesheet and XSS vulnerability improvement.

5.3.3 2022-02-02

Fix Bing ping 410 error response and help links.

=

5.3.2 2022-01-20

Fix Bing ping 410 error response and help links.

=

5.2.7 2020-03-30
  • NEW: Ad Inserter compatibility check
  • NEW: xmlsf_urlset and xmlsf_news_urlset action hooks, thanks to Stanislav Khromov (@khromov)
  • Exclude hierarchical post types from news sitemap
5.2.6 2019-10-19

New action hooks, taxonomy selection bugfix and relative path stylesheets.

=

5.2.5 2019-10-09
  • NEW: xmlsf_tags_after, xmlsf_url_after and xmlsf_news_url_after action hooks
  • FIX: Taxonomy selection not available to new installs
5.2.4 2019-09-17

Bugfixes + Rank Math compatibility warnings.

=

5.2.3 2019-05-17

Bugfix release.

=

5.2.2 2019-04-30

Bugfix release.

=

5.2.1 2019-04-30

= 5.2.2 =

Bugfix release.

5.2 2019-04-29

Major DB query reduction and speed improvements. Bugfixes.

=

5.1.2 2019-04-29
  • FIX: admin notice dismiss button failing
  • FIX: date archive redirect notice showing for inactive post types
  • Plugin support and rate links on plugins page
5.1.1 2019-04-04

Bugfix release: options page and news pings.

=

5.1 2019-03-14

New filter and action hooks. Bugfixes and admin UI improvements.

=

5.0.7 2018-10-25

Bugfix release.

=

4.9.4 2018-05-24

Bugfixes: double content type filtering and missing featured images (thanks @flyerua)

=

4.9.2 2018-05-12

Bugfix release.

=

4.9.1 2018-05-12
  • FIX: double genre terms on upgrade from 4.4, thanks @mouhalves
  • FIX: wp_count_posts uncached and too heavy on large sites, thanks @carlalexander
  • Last-modified response header now linked to Update on comments setting
  • FIX: plugin_basename propagation
4.9 2018-05-08

New FactCheck genre. Remove changefreq tag. Fix permalink issue with Woocommerce account page endpoints.

=

4.8.3 2018-05-06
  • fix get_lastpostdate array/string
  • restore pre PHP5.4 compatibility (popular request)
4.8.2 2018-03-18

Fix get_lastpostdate array/string and restore pre PHP5.4 compatibility (popular request)

=

4.8 2018-03-16

New conditional functions, ping URL, and several bug fixes.

=

4.7.5 2018-03-01
  • 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
4.7.3 2016-07-05

Improved Polylang and WPML compatibility. Various bug fixes.

=

4.7.1 2016-05-06

WPML and PHP 5.3 compatibility.

=

4.7 2016-05-06
  • WPML compatibility
  • FIX: News Sitemap chinese language tag
  • FIX: flush rules on plugin re-activation
4.6.3 2016-05-06
  • NEW: filter xmlsf_custom_sitemaps
  • BUGFIX: empty custom urls sitemap
4.6.2 2016-04-18
  • NEW: filter xmlsf_custom_urls
  • More cleanup
  • BUGFIX: broken Polylang compatibility reported by @zesseb
4.6.1 2016-04-15
  • Code cleanup
  • POT file update
  • Dutch translation update
4.6 2016-03-31

New action hook xmlsf_news_tags_after, attempt to remove conflicting static sitemap files on activation

=

4.5.1 2016-03-31

Fix Persistent/Stored XSS vulnerability on admin page, thanks to Sneha Rajguru @Sneharajguru

=

4.5 2016-01-22

Set access or exclude individual posts from Google News sitemap. Improved cache handling and Nginx Helper compatibility.

=

4.4.1 2015-09-13

Multiple default genres, several bugfixes, dropping Google News old geolocation tag plus XMLSF_POST_TYPE and XMLSF_NEWS_POST_TYPE.

=

4.4 2015-06-16

Google News Sitemap: limit posts to certain categories. Some (query) optimizations and bugfixes.

=

4.3.2 2015-02-20

Custom domains and URLs. Major Google News sitemap settings changes. Plus bugfixes.

=

4.0.1 2013-11-29

Bugfix release.

=

4.2.3 2013-07-22

Bugfix release and split custom post types by year/month

=

4.1.4 2013-04-29

New: Split posts by year to improve generate speed and priority settings. Many new options. Ping search engines. Bugfixes.

=

3.9.2 2012-10-14

Google News stylesheet, bugfixes, WP 3.4 compatibility, basic Polylang compatibility, speed improvement and sticky posts get max priority now

=

3.9.1 2012-02-16

XSS vulnerability fix release.

=

3.9 2010-12-10

Google News Sitemap! And a workaround for memory limit errors for most sites.

=

3.8.8 2010-10-08

Bugfixes: PHP4 compatibility + mu-plugins URL stylesheet

=

3.8.5 2010-09-06
  • xLanguage support based on code and testing by Daniele Pelagatti
  • new FILTER HOOK robotstxt_sitemap_url for any translate and url changing plugins.
  • BUGFIX: Decimal separator cannot be a comma!
3.8.3 2010-08-10
  • filter external URLs inserted by plugins like Page Links To (thanks, Francois)
  • minified sitemap and stylesheet output

  • BUGFIX: qTranslate non-default language home URL

3.8 2010-08-01
  • qTranslate support !
  • no more Sitemap reference in robots.txt on non-public blogs
3.7.4 2010-07-30
  • switch from add_feed (on init) to the do_feed_$feed hook
  • BUGFIX: is_404() condition TRUE and Response Header 404 on sites without posts
  • BUGFIX: is_feed() condition FALSE after custom query_posts
  • BUGFIX: no lastmod on home url when only pages on a site
  • BUGFIX: stylesheet url wrong when WP installed in a subdir
3.7 2010-07-19
  • massive changefreq calculation improvement
  • further priority calulation improvement taking last comment date into account
3.6.1 2010-06-16
  • BUGFIX: wrong date calculation on blogs less than 1 year old
3.6 2010-06-15
  • massive priority calculation improvement
3.5 2010-06-12
  • complete rewrite of plugin internals
  • speed improvements
  • WP 3.0 (normal and MS mode) ready
3.4 2010-06-08
  • bugfix: use home instead of siteurl for blog url for sitemap reference in robots.txt
  • code streamline and cleanup
3.3 2009-10-17
  • automatic exclusion of tags blog in wpmu
3.2 2009-10-07
  • rewrite and add_feed calls improvements
  • bugfix: double entry when static page is frontpage
3.0 2009-09-29
  • added styling to the xml feed to make it human readable
2.1 2009-09-27
  • bugfix: lastmod timezone offset displayed wrong (extra space and missing double-colon)
2.0 2009-09-27
  • priority calculation based on comments and age
  • changefreq based on comments
1.0 2009-09-27
  • changed feed template location to avoid the need to relocate files outside the plugins folder
  • bugfix: get_post_modified_time instead of get_post_time
  • bugfix: rewrite rules causing unlimited amount of sitemap feeds on any url ending with sitemap.xml instead of just one in the root