Title: WP_Sitemaps::register_rewrites
Published: August 11, 2020
Last modified: May 20, 2026

---

# WP_Sitemaps::register_rewrites()

## In this article

 * [Source](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#wp--skip-link--target)

Registers sitemap rewrite tags and routing rules.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#source)󠁿

    ```php
    public function register_rewrites() {
    	// Add rewrite tags.
    	add_rewrite_tag( '%sitemap%', '([^?]+)' );
    	add_rewrite_tag( '%sitemap-subtype%', '([^?]+)' );

    	// Register index route.
    	add_rewrite_rule( '^wp-sitemap\.xml$', 'index.php?sitemap=index', 'top' );

    	// Register rewrites for the XSL stylesheet.
    	add_rewrite_tag( '%sitemap-stylesheet%', '([^?]+)' );
    	add_rewrite_rule( '^wp-sitemap\.xsl$', 'index.php?sitemap-stylesheet=sitemap', 'top' );
    	add_rewrite_rule( '^wp-sitemap-index\.xsl$', 'index.php?sitemap-stylesheet=index', 'top' );

    	// Register routes for providers.
    	add_rewrite_rule(
    		'^wp-sitemap-([a-z]+?)-([a-z\d_-]+?)-(\d+?)\.xml$',
    		'index.php?sitemap=$matches[1]&sitemap-subtype=$matches[2]&paged=$matches[3]',
    		'top'
    	);
    	add_rewrite_rule(
    		'^wp-sitemap-([a-z]+?)-(\d+?)\.xml$',
    		'index.php?sitemap=$matches[1]&paged=$matches[2]',
    		'top'
    	);
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/sitemaps/class-wp-sitemaps.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-includes/sitemaps/class-wp-sitemaps.php#L130)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/sitemaps/class-wp-sitemaps.php#L130-L154)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#related)󠁿

| Uses | Description | 
| [add_rewrite_tag()](https://developer.wordpress.org/reference/functions/add_rewrite_tag/)`wp-includes/rewrite.php` |

Adds a new rewrite tag (like %postname%).

  | 
| [add_rewrite_rule()](https://developer.wordpress.org/reference/functions/add_rewrite_rule/)`wp-includes/rewrite.php` |

Adds a rewrite rule that transforms a URL structure to a set of query vars.

  |

| Used by | Description | 
| [WP_Sitemaps::init()](https://developer.wordpress.org/reference/classes/wp_sitemaps/init/)`wp-includes/sitemaps/class-wp-sitemaps.php` |

Initiates all sitemap functionality.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps/register_rewrites/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.5.0](https://developer.wordpress.org/reference/since/5.5.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_sitemaps%2Fregister_rewrites%2F)
before being able to contribute a note or feedback.