Change Your Pretty Permalinks or Add Custom Rewrite Rules

Permalinks are the permanent URLs to posts, categories, and other sections of your website. They generally look like this by default:

URLs should be permanent and never change — hence the name permalink. When you’re first configuring your site though, you can modify them from the default structure. Some of the values you can use include:

%year% The year of the post, four digits, for example 2004
%monthnum% Month of the year, for example 05
%day% Day of the month, for example 28
%hour% Hour of the day, for example 15
%minute% Minute of the hour, for example 43
%second% Second of the minute, for example 33
%post_id% The unique ID # of the post, for example 423
%postname% A sanitized version of the title of the post (post slug field on Edit Post/Page panel). So “This Is A Great Post!” becomes this-is-a-great-post in the URI.
%category% A sanitized version of the category name (category slug field on New/Edit Category panel). Nested sub-categories appear as nested directories in the URI.


For VIP clients, if you’d like to customize these permastructs, you can use any of the following helper functions in your theme’s functions.php file:

 * Enable a custom permastruct, if the site wants to use one that's not the default (/yyyy/mm/dd/post-name/)
wpcom_vip_load_permastruct( '/%category%/%postname%/' );

 * Enables a custom or no category base, if the site wants to use one that's not the default (/category/)
wpcom_vip_load_category_base( 'section' );

 * Enables a custom or no tag base, if the site wants to use one that's not the default (/tag/)
wpcom_vip_load_tag_base( 'topic' );

If you need to test this in a local environment, instead use the wp rewrite structure command from WP CLI.

Your theme’s rewrite rules are flushed automatically on every deploy (and when you switch themes), so you only need to worry about committing this change to the repository.

Custom rewrite rules can also be committed to your theme and incorporated in this manner.

There is no need to ever call flush_rewrite_rules() on WordPress VIP.

Rewrite Rules Inspector #


A handy tool for testing and debugging your permastructs is the rewrite rules inspector. Enabled by default on VIP, this plugin features a complete list of your rules and a URL-matching tool to test your URLs. To find the inspector, visit VIP -> rewrite rules.

Note: if the inspector ever shows all or some of your rules in red and issues the “some rules are missing” error, click the flush rules button, and your rules should fully refresh.


Enterprise users have an admin interface for changing their permastructs. It appears at “Settings” -> “Permalinks”:

Enterprise permastruct screen

Ready to get started?

Tell us about your needs

Let us lead the way. We’ll help you select a top tier development partner. We’ll train your developers, operations, infrastructure, and editorial teams. We’ll coarchitect your deployment processes. We will provide live support for peak events. We’ll help your people avoid dark alleys and blind corners, and reduce wasted cycles.