SiteTree is a lightweight solution to enhancing a WordPress website with a Site Tree, a Google (Image) Sitemap and a News Sitemap. Developed prioritising user-friendliness, SiteTree is plug-and-play and nearly independent from user input.

An overview of the major features:

A Family of Dynamic Sitemaps

Be it a Site Tree, a Google Sitemap or a Google News Sitemap, the sitemap of your choice will always be up-to-date.

SiteTree Dashboard

Where you can control the activation of the sitemaps and the enabling of the automatic pinging functionality, choose which types of content to include, reorder the hyper-lists composing the Site Tree with a drag-and-drop, and generally know details about the building process and the latest pinging events.

Code-free Customisation

WordPress-like settings pages together with the SiteTree Dashboard are where all your customisations take place. No need to be a developer to use SiteTree.

A Myriad of Hyper-lists

Fully documented and always ready-to-use, the [sitetree] shortcode and its workmate sitetree_get_hyperlist() are flexible like only a few other developer tools: you change one attribute, or argument, and a whole new, dynamic list of hyperlinks is all set to be perused.

Custom Post Types Support

You can include in the sitemaps any kind of content, custom or built-in. Yes, even in the Google News Sitemap.

Exclude and Disallow

Posts, Pages and Custom Posts can be excluded from the sitemaps and the shortcode-generated hyper-lists directly from the editor screen of WordPress. And with no more than a tick of a setting you can add to the ‘robots.txt’ file generated by WordPress a Disallow rule for each web page excluded from the Google Sitemap.

Automated and Upon-request Pinging

SiteTree can ping Google both on request, and automatically whenever a permalink is added to the Google Sitemap or to the News Sitemap. And when the subject of the notification is the Google Sitemap, there is always a second ping ready to reach Bing.

This is a Ghost Page

When a page is flagged as Ghost Page, SiteTree automatically excludes the Page from all the sitemaps and the shortcode-generated hyper-lists, prevents the WP Super Cache plugin from caching the Page and hides the Page from crawlers without showing up its path in the ‘robots.txt’ file.

A Site Tree made up of details:

  • Drag-and-drop reordering of the hyper-lists composing the Site Tree.
  • Hierarchical and flat list styles.
  • De-hyperlinking of parent pages up to the third level.
  • Exclude all child pages.
  • Order pages by menu order or title.
  • Group posts by date, category or author with the ability to toggle the hyperlinking of the group’s title.
  • Order posts by title, publication date or popularity.
  • Order custom posts by title or publication date.
  • Stick featured posts on top.
  • Show an excerpt of user defined length for posts.
  • Show authors’ avatar and biographical info.

More info and the complete documentation are available on

Extend SiteTree with Leaves!

Leaves are lightweight yet powerful add-ons specifically built for SiteTree. For the time being, they are just two, but already flexible enough to let SiteTree be an answer to your professional needs:

  • Wonder Leaf โ€” A constantly growing collection of little gems.
  • Multilingual Leaf โ€” Sitemaps for multilingual websites powered by WPML.


  • The SiteTree Dashboard.
  • The SiteTree Dashboard when the sitemaps are active.
  • The Pinging Bar.
  • Drag-and-drop reordering of the hyper-lists composing the Site Tree.
  • Metadata section.
  • The Site Tree of, fine-tuned by Pro Leaf.
  • The Google Sitemap generated for


Upload in the ‘plugins’ folder, and activate.

To Uninstal

  • Go to the ‘Advanced Settings’ screen of SiteTree and tick the ‘On uninstalling’ setting.
  • Deactivate SiteTree from the ‘Plugins’ screen.
  • Click on ‘Delete’.


What is a Site Tree?

It actually is a Site Map, a human-oriented listing marked up in HTML5 of the most prominent content of your website.

Is there any chance of running into conflicts with the Core Sitemap functionality introduced in WordPress 5.5?

No, there isn’t. The plugin automatically disables the Core Sitemap functionality when the Google Sitemap is active.

Are the XML Sitemaps produced by SiteTree human-readable?

Yes, they are. Although the Google Sitemap and the Google News Sitemap are crawler-oriented sitemaps, they are both equipped with an XSL Template that makes them human-readable.

Are there limitations on the capacity of the sitemaps?

Yes, there are. For performance reasons the Google Sitemap has a maximum capacity of 10k permalinks, while the Google News Sitemap can contain at most 1k permalinks, as per specifications. The Site Tree’s capacity is also limited, but in this case the reason is linked to usability and so, user experience. SiteTree can build an HTML Site Map composed of up to 1k items per included Content Type.

If you need to build a larger sitemap, have a look into Demux Leaf.

Can SiteTree generate a Google Sitemap complete with Change Frequency and Priority metadata?

Starting from SiteTree 3.0 the plugin no longer has this ability, become obsolete by now.

Will I lose my settings by upgrading from SiteTree 1.5.3?

You will lose only your general settings, your preferences about whether or not to exclude a post or page from the sitemaps will be automatically upgraded. Instead, the Change Frequency and Priority metadata you might have set for some posts or pages will not require upgrade, because in the latest version of SiteTree their use has been dropped.


4 0459 September 0459 000000 2017
Utilised on our business' website for business finance services. Very pleased with how it is working.
3 0356 September 0356 000000 2016
Works great! Thanks ๐Ÿ˜€
Read all 86 reviews

Contributors & Developers

“SiteTree” is open source software. The following people have contributed to this plugin.


“SiteTree” has been translated into 2 locales. Thank you to the translators for their contributions.

Translate “SiteTree” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.


5.3.4 (29 March 2021)

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

5.3.3 (18 March 2021)

Removed the donation links introduced with the previous update.

5.3.2 (15 March 2021)

Added two links to the donate page on my 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.

5.3.1 (2 March 2021)

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

5.3 (1 March 2021)

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.

5.2.1 (1 February 2021)

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.

5.2 (11 January 2021)

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

5.1.3 (2 January 2021)

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

5.1.2 (18 December 2020)

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.

5.1.1 (16 December 2020)

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.

5.1 (7 December 2020)

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.

5.0 (24 November 2020)

Requires WordPress 5.3 or later.

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.

4.5.3 (20 November 2020)

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

4.5.2 (9 November 2020)

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

4.5.1 (24 October 2020)

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

4.5 (19 October 2020)

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.

4.4 (29 September 2020)

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.

4.3.2 (21 September 2020)

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

4.3.1 (7 September 2020)

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.

4.3 (1 September 2020)

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.

4.2 (13 August 2020)

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.

4.1.2 (1 August 2020)

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

4.1.1 (6 July 2020)

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

4.1 (15 June 2020)

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.

4.0.1 (1 June 2020)

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.

4.0 (25 May 2020)

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.

3.2 (4 May 2020)

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.

3.1 (20 April 2020)

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.

3.0.2 (7 April 2020)

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

3.0.1 (26 March 2020)


  • 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.

3.0 (23 March 2020)

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.

2.2.1 (16 March 2020)

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.

2.2 (9 March 2020)


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.

2.1.1 (29 February 2020)

Fixed a bug related to the Google Image Sitemap: only one image per URL element was listed.

2.1 (17 February 2020)


  • 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 though 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.

2.0.3 (5 February 2020)

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.

2.0.2 (27 January 2020)

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

2.0.1 (16 January 2020)

  • 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.

2.0 (9 January 2020)

Requires WordPress 5.2 or later.

A new journey has finally begun!