WordPress Permalink Structure
WordPress Permalink Structure: The Complete 2026 Guide
Use this guide to decide whether to keep your current WordPress URLs, switch to post-name permalinks, or plan a safe URL change. It explains each setting, when custom structures make sense, and how to protect visitors from broken links.
Best default
/%postname%/
Change only with
redirect map
Check before launch
all content types

Quick answer
Use post name for most WordPress sites
Choose this before publishing a new site. On an established site, change permalink settings only when there is a clear reason and a complete redirect plan.
By Editorial Staff. Reviewed for accuracy by WPArena. Published . Updated .
Best setting
The best WordPress permalink structure for most sites
For a normal WordPress site in 2026, choose Post name. It keeps the URL focused on the topic instead of the database ID, publish date, or date-heavy archive path.
Recommended
/%postname%/
This setting creates URLs like example.com/best-wordpress-plugins/. The address is easy to read, easy to copy, and still makes sense after the article is improved later.
Readable
Visitors can understand the topic before opening the page.
Durable
The URL does not age just because the content was first published years ago.
Simple
Editors can manage slugs without learning a complicated URL system.
Do not change URLs just because another site uses a different format
If an established site already has clean, working public URLs, the safest permalink structure may be the one it already uses. Changing every URL can be worth it during a migration, rebrand, cleanup, or architecture rebuild, but only when old URLs are redirected and site links are updated.
How it works
Permalink, slug, structure, and rewrite rules
These terms are often used together, but each one controls a different part of the URL system.
Permalink
The full permanent URL, such as https://example.com/wordpress-security/.
Slug
The editable final part of a URL, such as wordpress-security.
Structure
The pattern WordPress uses to generate post URLs, such as /%postname%/.
Rewrite rules
The rules that convert pretty URLs into WordPress queries behind the scenes.
WordPress permalink settings mainly control post URLs. Pages have their own parent and slug hierarchy. WooCommerce products, custom post types, multilingual plugins, documentation plugins, and headless front ends can add separate routing rules. Always check every content type before changing the global setting.
Default options
Every WordPress permalink setting explained
The Settings > Permalinks screen gives six common choices. The right one depends on whether your content is evergreen, date-led, category-led, or custom.
Plain
https://example.com/?p=123
Temporary testing only
Avoid it on public sites. It is hard to read, hard to remember, and gives visitors no clue about the page topic.
Day and name
https://example.com/2026/06/09/sample-post/
Fast-moving news where the exact day matters
Useful for dated publishing, but it makes evergreen tutorials look old even when the content is refreshed.
Month and name
https://example.com/2026/06/sample-post/
News, magazine, and update-heavy sites
Cleaner than day-based URLs, but still date-heavy. Use it only when date context is part of the content promise.
Numeric
https://example.com/archives/123
Rare legacy setups
Short, but not descriptive. It is usually weaker than post name for readers and editors.
Post name
https://example.com/sample-post/
Most blogs, business sites, tutorials, and evergreen content
The best default choice for most WordPress sites because it is clean, stable, readable, and easy to maintain.
Custom structure
https://example.com/category/sample-post/
Sites with a planned taxonomy or custom publishing model
Powerful, but only safe when categories, custom post types, and redirects are managed carefully.
By site type
Recommended permalink structures by website
The best structure is the one that matches how the site will be edited over the next several years.
New blog or business website
/%postname%/
It is readable, stable, and easy to explain to clients, writers, and future editors.
Evergreen tutorial site
/%postname%/
The URL stays relevant when the article is refreshed, expanded, or republished with current screenshots.
News or magazine site
/%year%/%monthnum%/%postname%/
Date context can help readers understand when the story was published while keeping the URL shorter than day-based structures.
Large category-led publication
/%category%/%postname%/
It can work when category governance is strict and posts do not move between categories after publishing.
WooCommerce store with a blog
/%postname%/ for posts, separate product permalink settings
WooCommerce product, product category, and shop URLs need their own structure. Do not force store URLs through blog settings.
Documentation or knowledge base
Use a custom post type path such as /docs/topic/
A custom post type often gives cleaner information architecture than mixing docs into normal blog posts.
Safe changes
How to change WordPress permalinks without breaking the site
Changing a permalink structure is a URL migration. Treat it like a release, not a quick settings toggle.
Back up the database, uploads, theme files, and server rewrite configuration before touching URL settings.
Inventory the existing site and export every important URL from menus, analytics, reports, and linked pages.
Choose one final target structure before making changes. Do not test multiple permalink formats on a live site.
Build an old-to-new redirect map for every post, page, product, category, and important archive that will change.
Create 301 or 308 redirects at the server, edge, plugin, or platform level before the new URLs are exposed.
Change the setting in WordPress under Settings > Permalinks and save the page to regenerate rewrite rules.
Clear page cache, object cache, CDN cache, and any host-level cache that could still serve old routing rules.
Update visible site paths in menus, blocks, related-post widgets, breadcrumbs, and generated URL lists.
Check the site again and fix 404s, redirect chains, mixed trailing slash patterns, and old paths.
Keep a post-change watch list for broken URLs, redirect loops, and old bookmarks for several weeks.
Redirects
Redirect examples for common permalink changes
These examples show the idea. Test redirects in staging first and adapt them to your host, CDN, reverse proxy, or redirect plugin.
Apache WordPress rewrite block
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPressNginx WordPress routing
location / {
try_files $uri $uri/ /index.php?$args;
}Date URL to post name example
RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([^/]+)/$ https://example.com/$3/Use this only when the old and new slugs match. Complex sites need a full URL-by-URL redirect map.
Slugs
The clean slug checklist
The slug is the part editors touch most often. A good slug is specific enough to be useful and short enough to survive future edits.
Examples
Good and weak WordPress URLs
/wordpress-backup-plugins/
Short, clear, and evergreen.
/woocommerce-product-image-sizes/
Specific enough to match a real problem.
/2022/07/05/the-complete-guide-to-wordpress-permalinks-structure/
Long and dated for a guide that can be updated.
/?p=26606
Not descriptive for readers or editors.
Avoid these
Common permalink mistakes that create long-term cleanup work
Changing a live URL without a redirect
Map the old URL to the new URL with a permanent redirect before visitors or automated checks hit a dead page.
Putting dates in evergreen guides
Use date-based URLs only when the date is part of the reader promise, such as news, releases, or monthly archives.
Using categories before the taxonomy is stable
Avoid /%category%/%postname%/ unless category names, hierarchy, and editorial rules are settled.
Removing the category base without testing conflicts
A missing category base can collide with page slugs, post slugs, and custom post type routes on larger sites.
Publishing thin tag archives as destination pages
Keep weak tag archives out of public discovery unless they are curated, useful landing pages with unique context and strong navigation.
Relying on page hints instead of redirects
Use page-level hints for duplicate or similar URLs. Use redirects when the old URL is no longer the preferred address.
Archives
Category, tag, author, and attachment URLs
Permalink cleanup is not just about posts. Archive URLs can create thin or duplicate paths when they are left unmanaged.
Category and tag bases
WordPress lets you set a custom category base and tag base in Settings > Permalinks. A category base such as /topics/ can make archive URLs clearer, but removing the base entirely can create route conflicts on larger sites.
Keep category archives public only when they help visitors discover related content. Keep weak tag archives out of main navigation unless they are edited like real topic hubs.
Media and attachment pages
WordPress media files have direct file URLs, and some setups also expose attachment pages. If attachment pages contain no useful content, redirect them to the parent post or the media file instead of letting thin pages become public dead ends.
For image-heavy sites, keep file paths stable and avoid renaming uploaded files after they have been shared or linked.
Fixes
WordPress permalink troubleshooting
Most permalink problems come from rewrite rules, caching, migrations, or plugins that add their own routes.
Posts show 404 after changing permalinks
Open Settings > Permalinks and click Save Changes. Then check .htaccess on Apache, try_files rules on Nginx, plugin conflicts, and cache layers.
Only the homepage works after migration
The new server is not passing pretty URLs to WordPress. Rebuild rewrite rules and confirm that the virtual host points to the correct web root.
A category URL changed unexpectedly
Category slugs are part of archive URLs and can be part of post URLs when %category% is used. Redirect the old category path and update site links.
WooCommerce product URLs do not match post URLs
WooCommerce has its own product permalink settings. Configure products, product categories, and the shop base separately from blog posts.
The slug field is missing in the editor
Make sure pretty permalinks are enabled, the post has a title or saved draft, and the Permalink or Summary panel is visible in the editor.
Decision guide
Should you change your current permalink structure?
Changing URLs is easy in the WordPress dashboard. Preserving old links, bookmarks, social shares, and familiar site paths is the hard part.
Yes, change it
A new site is still unpublished, old URLs are ugly and have low value, or a migration already requires a full redirect map.
Maybe
The structure is dated or confusing, but the site already receives visits from old links. Audit the redirect complexity first.
Leave it alone
The current URLs are clean, working, easy to browse, and already match how readers move through the site.
FAQ
WordPress permalink structure questions
What is the best WordPress permalink structure?
For most WordPress sites, the best permalink structure is /%postname%/. It creates short, descriptive URLs that stay useful when articles are updated.
Should I include categories in WordPress permalinks?
Use categories in URLs only when your category structure is stable. If posts often move between categories, category URLs create avoidable redirect work.
Are dates bad in WordPress URLs?
Dates are not bad for news or time-sensitive publishing. They are usually a poor fit for evergreen guides because the URL can look old even after the content is refreshed.
Will changing permalinks break visits from old links?
Changing permalinks can break old links when URLs return 404s, redirect chains, or conflicting target URLs. A complete redirect map and updated site links reduce the risk.
How do I flush WordPress rewrite rules?
The normal method is to open Settings > Permalinks and click Save Changes. Developers can also flush rewrite rules programmatically, but that should not run on every page load.
Can I change the slug for one WordPress post?
Yes. Edit the post slug, then create a redirect from the old post URL to the new one. Also update site links that point to the old slug.
Should WordPress tag archives stay public?
Keep tag archives public only when they are useful, curated pages. Thin tag archives with one or two posts are usually better kept out of visitor-facing navigation.
How long should permalink redirects stay live?
Keep redirects for as long as possible, especially for URLs that appear in bookmarks, emails, social shares, documentation, or older site references.
Next reads
Useful WPArena guides
References
