WP Manifestindependent plugin directory
manifest / seo / taro-sitemap

Tarosky Sitemap WP Registry grade C-. High-severity findings · 1 findingWP RegistryHigh-severity findings · 1 findingOpen the reportC-

Yet another sitemap plugin for WordPress.

★ 3stars
680release downloads
≈10active sites
2.5.0latest · 4mo ago

Install

Download taro-sitemap.zip From the 2.5.0 release on GitHub, Jun 4, 2026

Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/tarosky/taro-sitemap/releases/download/2.5.0/taro-sitemap.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Sitemap plugin.

Description

This plugin provides sitemap xml. Sitemaps below are available.

  1. Post type sitemap.
  2. Taxonomy sitemap.
  3. Google News sitemap(detail)
  4. Image sitemap(optional for sites with a large size of contents)

The remarkable features of this plugin are:

  • Every type of sitemaps is a independent sitemap index.
  • Sitemap are separated by YEAR-MONTH. This leverages MySQL index and reduce database cpu utilization under bot access. So effective for the sites with huge number of contents.
  • Atatchment site map is also effective for the sites with a lot of attachment files.

Setup

  1. Go to Admin screen -> Tools -> Sitemap and register site map which you want.
  2. Get sitemap URLs and register them at Google Search Console.

Customize

Besides setting on admin screen, some hooks are also available.

News Sitemap

By default, news sitemap consists of the posts under specified post type(e.g. post). If you need some condition(e.g. only posts under a category, excluding some tags), use filter hook below:

/**
 * Filter hook for WP_Query arguments for news sitemap.
 *
 * @param array $query_args Which passed to WP_Query
 * @return array
 */
add_filter( 'hms_news_sitemap_query_args', function( $query_args ) {
    // 1. Includes only posts under category "news"
    // 2. Exclude posts with tag "sponsored"
    $query_args['tax_query'] = [
        [
            [
                'taxonomy' => 'category',
                'field'    => 'slug',
                'terms'    => 'news',
            ],
            [
                'taxonomy' => 'post_tag',
                'field'    => 'slug',
                'terms'    => 'sponsored',
                'operator' => 'NOT IN',
            ],
        ],
    ];
} );

Installation

  • Download zip and unpack it.
  • Upload under wp-content/plugins
  • Go to admin screen and activate it.

Frequently Asked Questions

Feel free to contact us in GitHub.

Changelog

2.4.0

  • Bump PHP minimum version.
  • Add filter for

2.0.1

  • Bugfix of removing language attributes.

2.0.0

  • Add noindex setting.
  • Add OGP setting.
  • Add meta setting.

1.0.0

  • Initial release.

Releases

16 releases. Each count is every asset in that release; expand a row for the breakdown.

Tag
Published
Assets
Downloads
2.5.0 latest
Jun 4, 2026 4mo ago
taro-sitemap.zip
114
Jun 1, 2026 4mo ago
taro-sitemap.zip
5
May 27, 2026 4mo ago
taro-sitemap.zip
13
May 25, 2026 5mo ago
taro-sitemap.zip
1
Feb 19, 2026 8mo ago
taro-sitemap.zip
50
Oct 23, 2025 12mo ago
taro-sitemap.zip
22
Jun 19, 2025 1 year ago
taro-sitemap.zip
70
Jun 19, 2025 1 year ago
tag only
—
Mar 31, 2025 1 year ago
taro-sitemap.zip
82
Jul 29, 2024 2 years ago
taro-sitemap.zip
239
Jul 12, 2024 2 years ago
taro-sitemap.zip
9
Jul 10, 2024 2 years ago
taro-sitemap.zip
3
Jul 9, 2024 2 years ago
taro-sitemap.zip
2
Dec 13, 2023 2 years ago
taro-sitemap.zip
22
Oct 17, 2022 4 years ago
taro-sitemap.zip
40
Oct 13, 2022 4 years ago
taro-sitemap.zip
8

Active-site estimate ≈10 comes from the median of recent superseded releases. Method.

C- grade

Security

Tarosky Sitemap 2.5.0 · audited by WP Registry

High-severity findings.

1 high
Audited release
2.5.0
Findings
1
Worst severity
high
Content hash
cfdc12cff25fcb4dce682964…

Findings

  • high Stored XSS via JSON-LD script break-out (JSON_UNESCAPED_SLASHES, no JSON_HEX_TAG)

    xss_stored

    StructuredDataGenerator is always hooked on wp_head. render_head() emits each JSON-LD graph inside a <script type="application/ld+json"> tag using json_encode($json, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) with no JSON_HEX_TAG/JSON_HEX_AMP. PHP's default json_encode would escape / as \/, which prevents an HTML </script> closer; JSON_UNESCAPED_SLASHES removes that defense, so a string containing </script><script>…</script> is emitted verbatim and the HTML parser terminates the JSON-LD script and executes the injected script. Article schema is emitted on is_singular($article_post_types) when tsmap_jsonld_article_post_types is non-empty (the JSON-LD settings section). Tainted fields: headline <= get_the_title() (post_title is not kses-filtered on save, even for users without unfiltered_html), author.name <= display_name, author.url <= user_url when it matches #^https?://.+#. A Contributor or Author can set those from the post editor or profile.php. Preview of a pending post also hits is_singular(), so an editor who clicks Preview is XSS'd before publish. Front-page WebSite schema uses only bloginfo (admin-only) and is not this vector. Fix is to encode with JSON_HEX_TAG (and preferably JSON_HEX_AMP/JSON_HEX_APOS) or wp_json_encode() plus those flags so < becomes \u003C.

    src/Tarosky/Sitemap/Seo/Features/StructuredDataGenerator.php:100-110

    Recommendation

    Replace json_encode(...) with wp_json_encode($json, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS) (or equivalent) so <, >, and & become \u003C/\u003E/\u0026 and cannot close the HTML script tag. Do not echo JSON-LD via printf into a raw <script> without those flags. Keep JSON_UNESCAPED_SLASHES only together with JSON_HEX_TAG.

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.