Release Notes



Native support for WPML — the multilingual module is loaded only if WPML is active on your WordPress installation.


The plugin didn't delete the data related to the 'Topic' taxonomy when a complete uninstal was requested by the user.


This is the first version distributed only through my website, SiteTree is now a premium plugin.

New Features
  • Stand-alone Image and Video Sitemaps.
  • Group the pages in your Site Tree by Topic.
  • The Pinging Log.
  • Exclude web pages and flag Ghost Pages, in bulk.


Updated the informational message shown in the SiteTree Dashboard: now you will be told when SiteTree 7.0 is available.


SiteTree is about to go premium.

  • A PHP Fatal Error could arise on visiting the SiteTree Dashboard if one or more parent pages had been moved to the bin.
  • When there was no News of type 'post' to show, but there were News filed under other Post Types included in the sitemap, SiteTree showed an empty News Sitemap.


Now you can tell SiteTree not to generate the 'Page' Google Sitemap by excluding the 'page' content type — you have to click on 'Configure' in the 'Google Sitemaps' pane.

Also, fixed a bug that caused non-existent Google Sitemaps to be served anyway as empty sitemaps.


Fixed a bug where a PHP notice could show up in the site's home page when a static home page was set.


Whether or not you were aware of the existence of Demux Leaf, the thrilling news now is that Demux Leaf is part of the core of SiteTree: Site Tree Pagination and XML Sitemap Index creation step into the feature-set!

A number of improvements and fixes are the corollary.

Requires WordPress 5.5+


Updated the 'Leaves' page to reflect the recent renaming of Pro Leaf as Wonder Leaf. And, added uninstallation instructions in the readme.txt file.


Removed the donation links introduced with the previous update.


Added two links to the donate page on this website, one in the 'Plugins' screen, the other in the footer of the SiteTree Dashboard. The latter disappears as soon as you click on it.


Fixed an old bug that caused items in Custom Posts hyper-lists to show up with the wrong permalink.


Introduced 14 new hooks to let Multilingual Leaf, a newcomer among the Leaves family, intercommunicate with SiteTree.

Just an aside: if you own a multilingual website powered by WPML, have a look into Multilingual Leaf, you might find it useful!

Also, two main action hooks, sitetree_will_build_lists and sitetree_did_build_lists, triggered during the building process of the Site Tree, have been renamed respectively as sitetree_will_build_site_tree and sitetree_did_build_site_tree.

And like with any other release, bug fixes aren't missing. In particular, since SiteTree 5.0, a fatal error could fire off on loading the dynamic robots.txt file generated by WordPress.


Fixed a bug that caused the home page item in the hyper-list of Pages of your Site Tree to not be kept always at the top of the hyper-list.


It's time to introduce a Template Tag: sitetree_get_hyperlist() is only awaiting the developer inside you!


Fixed a critical bug introduced with SiteTree 5.1 that hindered the proper operation of the Google Sitemap.



Fixed a PHP Fatal Error that popped up when the hyper-list of Posts in the Site Tree was grouped by category and the group's title was hyperlinked.


Prepared the ground for Pro Leaf 1.1 and its Bulk Exclude functionality.

From this version on the fonts used by the XML Sitemaps' templates will be packaged in the plugin, so as to prevent that on server implementing stricter content policies the sitemaps have problems rendering in a browser.


The [sitetree] shortcode receives some love: through the new only_children_of attribute you can now tell SiteTree to generate hyper-lists of child pages.

Also, the Google Sitemap filename is finally customisable.


The age of Leaves has begun: SiteTree opens up to the world of add-ons!

As well as with Extensibility, SiteTree steps further ahead thanks to the restyling and reorganisation of the administration area.

Also, this update marks another break with the past by finally removing from the database the Priority and Change Frequency metadata deprecated since version 3.0.

Requires WordPress 5.3+


Fixed a bug where a fatal error could arise with plugins like Polylang that hook into the user_has_cap filter hook.


Raised to 1k the limit on the amount of items each list composing your Site Tree can contain.


Implemented a more reliable way of checking whether SiteTree is installed on a local development environment.


One shortcode, many lists: this update introduces the [sitetree] shortcode, sided by the ability to exclude Posts, Pages and Custom Posts from all the shortcode-generated lists directly from the editor screen.


As with the previous major update, Usability keeps being the main character: now the Automatic Pinging functionality for the Google Sitemap can be toggled on/off directly from the Pinging Bubble, in the dashboard.

And Flexibility follows along, with the introduction of two "de-hyperlinking" settings:

  • the first pertains to the list of pages that might be present in your Site Tree, it lets you disable the hyperlinking of parent pages up to the third level.
  • the second setting is such that when posts in the Site Tree are grouped by date, category or author, it lets you de-hyperlink the group's title.


Fixed a bug where, on grouping posts by date, category or author, the list included a spurious <ul> tag.


This patch fixes two critical bugs:

  • The News Sitemap was accessible only if the Google Sitemap had also been activated.
  • A flaw in the plugin's database abstraction layer could cause a series of PHP warnings.


SiteTree gains one point on user-friendliness! Now the lists making the Site Tree can be reordered with a drag-and-drop and without leaving the dashboard.

Furthermore, a new setting comes in: this update adds the ability to choose how to order the list of pages that might be present in your Site Tree.


The XSL templates are now dynamically generated and fully localisable.

For WordPress 5.5 users: when the Google Sitemap is active the plugin automatically disables the Core Sitemap functionality introduced in the latest WordPress.


Fixed a bug that caused the child pages listed in the Site Tree to have an incomplete permalink.


SiteTree has a new home on the web. Feel free to send me your feedback!


This update extends the pinging ability to the Google News Sitemap, and fixes a bug where the Pinging-On-Request wasn't available when all the automatic pings failed.


Fixed a bug that prevented the updating of the information related to the Google News Sitemap when the amount of listed news changed independently of the occurrence of a publishing event.


The plugin can now produce a third kind of sitemap, a News Sitemap! From which you can exclude content, if you need to, and in which you can include almost any WordPress Post Type, even more than one.

This update also drops the caching functionality, better suited to a dedicated plugin like WordPress Super Cache, which SiteTree natively supports.


Brought back the pinging facility! Renewed in behaviour and with more functionalities — like the pinging on request.

This update also fixes a bug where the plugin, in tallying the number of permalinks excluded from the Google Sitemap, took account of the binned posts that were flagged as excluded.


The Ghost Page functionality adds up to the feature-set!

A short intro: a page flagged as Ghost Page is automatically excluded from both sitemaps, not cached by the WP Super Cache plugin and hidden from crawlers without its path showing up in the 'robots.txt' file.


Fixed a major bug concerning the upgrade from SiteTree 1.5.3 and made general improvements.


  • Custom taxonomies couldn't be included in the Google Sitemap.
  • Authors' pages containing only custom posts couldn't be included in the Google Sitemap.
  • Taxonomies containing only drafts were listed in the Site Tree.


In addition to the following this update adds support for custom post types and drops the use of the Change Frequency and Priority metadata, become obsolete by now. However, the metadata you have set for each post and page will not be deleted from the database during the upgrade.

  • Content types can now be included directly from the dashboard.
  • Now the content of the settings pages changes according to the type of content included in the sitemaps.
  • Added in the dashboard a button to deactivate the Site Tree.


Fixed a bug that caused the plugin to generate a Disallow rule for each featured (sticky) post, regardless of whether or not the post was excluded from the Google Sitemap.



Added the ability to show an excerpt of user-defined length for each post listed in the Site Tree.

  • On computing the 'Last Modified' (lastmod) metadata for a page the plugin takes into account also the modification date of the page-{slug}.php and page-{id}.php template files.
  • The 'Priority' value for child pages is no longer lower than the one chosen for parent pages.
  • Authors can now be excluded from the Site Tree by nickname.

The plugin didn't flush the cache when a page was moved to the bin.


Fixed a bug concerning the number of images listed in the Google Sitemap.


  • Added the first five Action Hooks: sitetree_is_building_sitemap, sitetree_will_build_lists, sitetree_did_build_lists, sitetree_will_build_single_list and sitetree_did_build_single_list.
  • Added the ability to exclude from the Site Tree all the child pages.
  • You can know the count of permalinks excluded from the Google Sitemap by hovering over the count of permalinks displayed in the dashboard.
  • Dramatically reduced the number of database queries needed to build a Google Image Sitemap.
  • On computing the 'Last Modified' (lastmod) metadata for the home page the plugin takes into account also the modification date of the front-page.php template file.
  • The plugin disables the ability to manually launch the rebuilding process when less than one minute has elapsed since the last rebuilding.
  • Replaced the dates shown in the dashboard with the counts of the time elapsed since the last rebuilding. The exact date can be known by hovering over the elapsed time.
  • When the profile of an author excluded from the Site Tree is updated, the Site Tree is no longer rebuilt.
  • When a taxonomy excluded from one or both sitemaps is updated, the rebuilding process is no longer fired.
  • Wrapped each list of the Site Tree in a <div>.
  • Added an id attribute to each list and list's title of the Site Tree.
  • In some circumstances a "304 Not Modified" response header was returned to the client even if the Google Sitemap had to be served afresh.
  • The ability to exclude taxonomies from the Site Tree didn't work when the list style was hierarchical.


Fixed a bug that, when the Site Tree was disabled, could cause the building process of the Site Tree to run on loading any non-admin page.


The plugin no longer redirects to the dashboard when is activated for the first time.


  • Translations migrated to
  • The 'List title' fields in the 'Site Tree Settings' screen now can accept in-line HTML tags.
  • Fixed an issue affecting the automatic resizing of the dashboard.


A new journey has finally begun!

Requires WordPress 5.2+



  • Improved compatibility with WordPress 3.6
  • Fixed a conflict with the 'Custom Post Types' feature.
  • The Google Sitemap is now served as an application/xml document.

Tested up to WordPress 3.6.1


  • New: Swedish translation courtesy of Joakim Lindskog.
  • Partially updated the Italian localisation.
  • Enhancement: the number of posts and the number of comments shown in the Archive Page have been tagged with a <span>.
  • Enhancement: the Google Sitemap is now rebuilt if an attachment is updated or deleted.
  • Fix: only some of the posts and the pages excluded from the Google Sitemap were listed in the 'robots.txt' file created by WordPress.


  • Fix: the list of excluded content was migrated only partially during the upgrade process.
  • Fix: while upgrading from version 1.3 or later, the plugin excluded some posts and pages from both the Google Sitemap and the Archive Page even though they hadn't been flagged as "excluded content".


  • New: exclude categories and tags from the Google Sitemap.
  • New: exclude tags from the Archive Page.
  • New: option to add to the 'robots.txt' file created by WordPress the permalink to the Google Sitemap.
  • New: customise the filename of the Google Sitemap.
  • New: setting to limit the number of posts in the Archive Page.
  • New: German translation courtesy of Thomas Meesters.
  • New: added a UI control to cancel scheduled pings.
  • New: added some more links in the Dashboard and some information about the plugin accessible through a modal window (requires javascript).
  • Enhancement: improved web caching.
  • Enhancement: added the number of images to the stats displayed in Dashboard.
  • Enhancement: now, you'll get notified if the Google Sitemap — or the Archive Page — reaches its allowed (or set) limit.
  • Enhancement: failed pings are automatically rescheduled.
  • Enhancement: much more feedback about the state of the pings.
  • Update: the settings to list the images in the Google Sitemap have been grouped into one.
  • Update: the length of image titles and captions have been limited to 70 and 160 characters respectively.
  • Update: renamed the 'HTML5 Sitemap' as 'Archive Page'.
  • Update: for a matter of performance, the Google Sitemap has been limited to 10000 URLs for now.
  • Security fix: the setting to exclude authors from the Archive Page accepted any given value.
  • Security fix: the direct access to some files caused a fatal error.
  • Security fix: some subfolders in the plugin package were browsable on servers that allow listing the content of directories.
  • Fix: a database error generated while uninstalling the plugin.
  • Fix: if an excluded post/page was trashed or permanently deleted, it was listed anyway in the 'robots.txt' file.
  • Fix: the detection of the archive page could fail in some conditions.
  • Fix: the rebuild process didn't fire if bulk posts/pages were moved to the trash.
  • Fix: various problems with the functionality to limit the content in the Archive page.
  • Fix: a security warning showed up on Multisite environments whenever a post/page was published or updated.
  • Fix: some unescaped characters led to localisation issues.
  • … and many other bug fixes and enhancements.


  • Enhancement: removed all the formatting characters from the content of titles and captions tags in the Google Sitemap.
  • Update: lowered to three hours the time interval between two consecutive pings.
  • Fix: the encoding problem was not completely solved on instals running older versions of PHP.
  • Fix: on some configurations an unwanted paragraph tag wrapped the HTML comments in the Archive Page.


  • Fix: the encoding problem persisted on servers running versions of PHP older than 5.4
  • Fix: if a new post/page was saved as draft, the ping was scheduled anyway.
  • Fix: if the front page (or the blog home) was a static page, the attached images were not listed in the Google Sitemap.


  • Update (Dev): the minification level of the Google Sitemap lowers while in debug mode.
  • Fix: a wrong encoding of the captions and the titles of the images listed in the Google Sitemap caused a parsing error.
  • Fix: the list of excluded content was deleted while upgrading from SiteTree 1.3 or later.
  • Fix: if WordPress was in debug mode, a php warning showed up in the Google Sitemap on servers running PHP 3.x and older.


  • New: added images support to the Google Sitemap.
  • New: added support for non-latin characters to the XSLT Template (Requires javascript)
  • New: ability to list all the excluded posts and pages in the 'robots.txt' file.
  • New: automatic ping the mayor search engines.
  • Enhancement: added cache control support to the Google Sitemap.
  • Enhancement: improved performance and general security.
  • Enhancement: plugin heavily refactored.
  • Enhancement: raised the minification level of the Google Sitemap.
  • Enhancement: improved error handling.
  • Enhancement: simplified and reorganised the administration area.
  • Enhancement: reduced the total number of database queries.
  • Update: set a maximum limit of 1000 items to the HTML5 Sitemap.
  • Update: the last modified date of your static blog page, now changes according to the last published/modified post.
  • Update: the rebuilding process is no longer scheduled but triggered once the HTML5 Sitemap is actually visited instead.
  • Update: temporarily removed the plugin information displayed in the administration area.
  • Update: dropped upgrade support for SiteTree 1.0
  • Fix: CSS inconsistencies in the XSLT template.
  • Fix: a typo in a database query generated a database error with some configurations.
  • Fix: compatibility issues with WordPress 3.5.
  • Fix: the sitemaps were not rebuilt if a post/page was excluded after its publication.
  • Fix: no "Settings saved" message showed up if the 'Save Changes' button was clicked consecutively.
  • Fix: if a private post/page was published/updated, the sitemaps were rebuilt.



  • New: rel microformat attribute added to the lists of tags, pages and posts.
  • Updated the bookmarks in the settings page.
  • Updated POT file.
  • Update: added a 'noindex' meta tag to the XSLT template.
  • Update: turned all charset identifiers to uppercase — just for a matter of consistency.
  • Fix: password protected posts were listed in the HTML5 Sitemap.
  • Fix: if the 'Recent Posts Widget' was included in the HTML5 Sitemap, WordPress Notices and PHP errors — in the worst case — were triggered.


  • Fix: the plugin did not send any 'Last Modified' header to the client.
  • Fix: some debug code caused a security warning to be triggered.


  • New: if the Google Sitemap has not been rebuilt since the last remote request, the plugin sends back a "304 Not Modified" response.
  • New: the modification date of the page where the HTML5 Sitemap is shown it's updated whenever the Sitemap is rebuilt.
  • New: the version number and the date of installation are displayed in the upper-right corner of the settings page.
  • Updated POT file.
  • Update: the available screen options change according to the plugin setup.
  • Update: modified the 'Powered by' notice from "Sitemap Powered by SiteTree" to "Powered by SiteTree".
  • Update: the 'View' button in the settings page no longer triggers the opening of a new browser tab on every click.
  • Enhancement: halved the size of the plugin folder.
  • Enhancement: improved events handling.
  • Fix: if a post (or page) revision was restored, the sitemaps were rebuilt.
  • Fix: if a custom post type was trashed, the sitemaps were rebuilt.
  • Fix: a security warning was displayed every time a post or page was trashed or restored from the trash.


  • Dropped backward compatibility with versions of WordPress older than 3.3
  • New: multisite support.
  • New: virtual XML Sitemap with XSLT template.
  • New: order tags by name or most used.
  • New: order categories by name or most used.
  • New: order authors by name or published posts.
  • New: exclude posts and pages from within the 'New/Edit' screen.
  • New: added an 'Overview' tab to the settings page where you'll find useful information about the build process.
  • New: the last build date and the scheduled rebuild date are displayed in the settings page.
  • New: added a button to manually rebuild the sitemap.
  • Updated POT file.
  • Update: removed all the CSS classes (auto-generated by WordPress) from the lists of pages and categories.
  • Update: exclude pages directly from within the 'New/Edit Page' screen.
  • Update: removed the setting to hide/show the subcategories from the list of posts.
  • Update: modified the behaviour of the functionality 'Group Posts by Category'.
  • Update: the posts count in the list of tags is displayed only if greater than one.
  • Update: modified the title attribute applied to the <a> tags generated in the lists of tags and categories.
  • Update: removed the 'Exclude Pages' setting from the settings page.
  • Enhancement: the generator engine has been completely rewritten.
  • Enhancement: the generated code (both HTML5 and XML) is cleaner and minified.
  • Enhancement: improved error handling.
  • Enhancement (Dev): if needed, the plugin tries to rise the memory allocation limit while the rebuilding process is running.
  • Enhancement (Dev): the detection of the sitemap is performed much earlier than any action hook useful to run custom queries is triggered. This prevents unwanted behaviours that could take place in secondary or custom loops executed in template files or by other plugins.
  • Enhancement: improved the scheduling of the rebuild process.
  • Enhancement: improved object caching.
  • Enhancement: added a title attribute to the <a> tags generated in the list of pages.
  • Fixed some security issues related to the sanitisation of the sitemap.
  • Fix: duplicated entries were added in the list of posts when they were grouped by category.
  • Fix: the static page set as front page was not excluded from the list of pages.
  • Fix: no default CSS were printed in the head of the web-page if the 'Powered by' notice was display but the advanced settings were not saved.
  • Fix: a few bugs with the cron job caused an unwanted delay on the execution of the rebuild process.
  • Fix (Dev): missed to set the global $super_cache_enabled before the call to wp_cache_post_change().
  • Minor fixes and enhancements.

Requires WordPress 3.3+


  • The plugin is no longer tested on versions of WordPress older than 3.3
  • Added Russian localisation (courtesy of Oleg Vlasov).
  • Removed the type attribute applied to the <style> tag printed into the head section of the webpage.
  • The cache is no longer deleted every time the sitemap is rebuilt. This reduces by four the total number of database queries performed.
  • Fix: the generated <div> tags had no attribute id.
  • Minor changes and enhancements.


  • Improved compatibility with PHP 5.4 and later.
  • Added some bookmarks in the settings page.
  • The 'Exclude' setting in the 'Authors' section is no longer case-sensitive.
  • Updated POT file.
  • Update: the day number shown in the list of posts — when they are grouped by date — is now wrapped inside a <time> tag.
  • Fix: duplicated ID attributes were generated in the html code of the settings page.
  • Fix: the cache was not cleared on uninstall.
  • Fix: the sitemap was not properly sanitised when sent to the browser or stored into the cache.


  • Source code refactoring.
  • Improved overall performances.
  • Added an index file into each directory to avoid unauthorized directory browsing.
  • The sitemap creation time (expressed in seconds) is printed as an HTML comment at the end of the generated HTML code.
  • The plugin deactivates itself if the multisite feature is enabled.
  • New: build-in caching.
  • New: added support for the WP Super Cache plugin.
  • New: internationalisation support.
  • New: italian localisation.
  • New: show the author's avatar on the list of authors.
  • New: show the author's biographical information on the list of authors.
  • New: exclude authors by 'public name'.
  • New: two list styles available for pages – flat and hierarchical.
  • New: two list styles available for categories – flat and hierarchical.
  • New: option to add a category label when the posts are grouped by category.
  • New: show/hide children categories when the posts are grouped by category.
  • Update: the title setting can be left empty.
  • Update: the comments count is shown only next the posts that actually have comments.
  • Update: the <span> tag applied to the meta information 'published date' has been replaced with the <time> tag to improve code semantic and the compatibility with the HTML5 standard.
  • Update: renamed the css classes .sitemap-list and .sitemap-title as .sitetree-list and .sitetree-title respectively.
  • Fix: single and double quotes within the css code printed in the page of the sitemap were replaced by their html entities.
  • Fix: the format of the date displayed as a meta information did not match the value set in the 'General Settings' page of WordPress.
  • Fix: the drop-down list of pages contained in the 'General' settings page was not ordered according to the order set in the 'Pages' screen.
  • Fix: on upgrade the version number stored in the database was not updated.


  • Fix: the list of posts was generated even though the 'Include' checkbox was unticked.
  • Fix: the javascript file was not included in the settings page.


  • Complete source code refactoring.
  • Improved security.
  • Explicitly checks for WordPress compatibility.
  • Renamed the settings menu title as 'SiteTree'.
  • Added an option to show a 'Powered by SiteTree' notice (disabled by default).
  • New: cleaner settings page layout.
  • New: selectively choose to show posts count.
  • New: exclude specific categories.
  • New: wrap each list into a <div> or <section> tag.
  • New: group posts by author.
  • Fix: whenever a section did not have content to show, a few empty tags were generated.
  • Fix: a notice showed-up in debug mode when the global variable $post was not set.


First version released on

Requires WordPress 3.2+