XML Sitemap to HTML

Plugin Banner

XML Sitemap to HTML

by fradigital

Download
Description

XML Sitemap to HTML turns standard XML sitemaps and sitemap indexes into a human-readable HTML sitemap. Add the sitemap URLs once, create a shortcode with the built-in generator, and place it in any post or page.

Features

  • Combines multiple XML sitemaps
  • Follows nested sitemap indexes automatically
  • Searchable list and responsive table layouts
  • Human-readable titles generated from URL slugs
  • Optional URL and last-modified output
  • Configurable title capitalization and slug separator
  • Configurable transient cache
  • Duplicate URL removal
  • Accessible labels, status updates, and keyboard-friendly tables
  • Server-side shortcode generator with copy button
  • Backward compatibility with XS2H XML Sitemap to HTML 1.x

Usage

The shortest shortcode uses all saved sitemaps and the default settings:

[sitemap-html]

A complete example:

[sitemap-html ids="all" search="true" separator="-" layout="table" show_url="true" show_lastmod="true" case="title" cache_ttl="3600"]

Parameters

  • ids: all or a comma-separated list of the IDs shown in the generator.
  • search: true or false.
  • separator: Up to two slug characters to replace with spaces.
  • layout: list or table.
  • show_url: true or false.
  • show_lastmod: true or false.
  • case: title, upper, lower, ucfirst, or none.
  • cache_ttl: Cache duration in seconds. Use 0 to bypass the cache.

Backward Compatibility

Upgrading from XS2H XML Sitemap to HTML 1.x does not require users to recreate their settings or edit existing content:

  • The legacy options xs2h_sitemap_urls, xs2h_slug_separator, and xs2h_cache_ttl are copied when the corresponding 3.x options do not yet exist. Meaningful legacy values also replace untouched 3.3.1 defaults, recovering data after an intermediate 3.3.1 installation.
  • The legacy shortcode [xs2h-sitemap-html] remains registered with all former attributes and defaults.
  • Legacy shortcode IDs remain 1-based. For example, ids="1,2" still selects the first and second saved sitemaps.
  • Legacy title generation continues to replace underscores in addition to the selected separator.
  • The 3.x shortcode [sitemap-html] retains its 0-based IDs from version 3.3.1.
  • URL positions and duplicates are preserved when settings are saved, so generated numeric IDs do not shift unexpectedly.
  • Saved 3.x settings are mirrored to the legacy option names, making a rollback less likely to lose later configuration changes.
  • A compatibility bootstrap retains the former main plugin filename so an existing activation reference remains loadable after an update.

The compatibility layer never overwrites non-default 3.x settings.

  1. Upload the xml-sitemap-to-html folder to /wp-content/plugins/, or install the ZIP from Plugins Add New Upload Plugin.
  2. Activate XML Sitemap to HTML.
  3. Open Settings XML Sitemap to HTML.
  4. Enter one absolute XML sitemap URL per line.
  5. Choose the slug separator and cache duration, then click Save settings.
  6. Configure the output in the Shortcode generator and copy the generated shortcode into a page or post.
Can I use a sitemap index?

Yes. Sitemap indexes are followed recursively with safeguards against loops and excessive nesting.

Why is a sitemap not loaded?

The URL must use HTTP or HTTPS and return a successful response containing valid XML. WordPress safe HTTP rules can reject private or unsafe destinations.

How are titles generated?

The plugin uses the final URL path segment, URL-decodes it, replaces the configured separator with spaces, collapses repeated whitespace, and applies the selected capitalization.

How do I bypass cached data?

Set the global cache duration or the shortcode’s cache_ttl parameter to 0. Existing transient rows expire according to their original lifetime, but they are not read while caching is disabled.

Is PHP mbstring required?

No. The plugin uses mbstring when available and falls back to standard PHP string functions otherwise.

3.3.2

  • Added lossless migration from all XS2H 1.x option names.
  • Restored the legacy [xs2h-sitemap-html] shortcode with its 1-based ID behavior.
  • Preserved the 3.3.1 [sitemap-html] shortcode and 0-based IDs.
  • Added a legacy bootstrap for installations that still reference the former main plugin filename.
  • Added top and bottom save controls to the settings panel.
  • Fixed the admin stylesheet path and moved generator behavior to a dedicated script.
  • Improved the settings guide, parameter documentation, mobile layout, and accessibility.
  • Localized the live result count instead of hard-coding it in JavaScript.
  • Added HTTP status validation, safe remote requests, gzip support, XML network isolation, recursion limits, and loop protection.
  • Added a fallback for servers without mbstring.
  • Updated compatibility metadata for WordPress 7.1.

3.3.1

  • Introduced the [sitemap-html] shortcode, streamlined settings, and a redesigned generator.

1.2

  • Original XS2H release with multiple sitemaps, live search, list/table layouts, and a server-side generator.
Back to top