Generally speaking, the best SEO-friendly URL structure in WordPress is the Post Name (/%postname%/) format, or the Category and Post Name (/%category%/%postname%/) format for large, multi-topic, or e-commerce websites.
But if your site is already live, never switch permalink structures without setting up redirects first, or you’ll lose rankings and break links.
In this guide, we’ll explain what the best permalink structure is, how WordPress sets it by default, and how to safely change it if you need to.

What Are SEO-Friendly URLs?
SEO-friendly URLs are descriptive web addresses that help people understand what a page is about before they click it. They often include relevant keywords and use a simple structure that’s easy to read.
For example, here’s an SEO-friendly URL for a tutorial about installing WordPress:
https://www.example.com/how-to-install-wordpress
Compare that with this URL:
http://www.example.com/?p=10467
The first URL clearly describes the page’s content, while the second reveals nothing about what visitors will find.
When creating SEO-friendly URLs, follow these simple guidelines:
- Use descriptive words. Include your main keyword when it fits naturally, so readers can quickly understand the page’s topic. You don’t need to match the exact search query.
- Keep URLs short and readable. Remove unnecessary words, numbers, and parameters when they don’t serve a purpose.
- Separate words with hyphens. For example, use
how-to-install-wordpressinstead ofhow_to_install_wordpress.
You don’t need to put every slug directly after your domain. Meaningful folders, such as categories, can also help organize your URLs.
Google considers words in URLs a minor ranking factor, so don’t expect keyword-rich URLs alone to improve your rankings.
With that said, here’s everything we’ll cover in this guide:
What Is the Best Permalink Structure for WordPress SEO?
For most WordPress websites, the Post name permalink structure (/%postname%/) is the best choice. It creates short, descriptive URLs that help visitors understand what a page is about.
You can also the Category and Post Name (/%category%/%postname%/) format for large, multi-topic, or e-commerce websites.
WordPress doesn’t always select Post name by default. Depending on your installation and hosting configuration, you might see a different structure, such as Day and name (/%year%/%monthnum%/%day%/%postname%/) or Plain permalinks.
To check your current settings, go to Settings » Permalinks in your WordPress dashboard. If you’re setting up a new website, select Post name and click Save Changes.
If your website is already established, think carefully before changing its permalink structure. Doing so can change existing URLs and break links unless you set up appropriate redirects. If your current URLs are working well, there’s usually no need to change them just for SEO.

Should You Change Your Old URL Structure to a New One?
If your website is already established, don’t change your permalink structure just to make your URLs look more SEO-friendly. Changing URLs can break existing links and affect search visibility if you don’t handle the migration properly.
For new websites, we recommend using the Post name permalink structure. If your existing site uses Plain permalinks, switching to a more descriptive format may be worth considering, but weigh the potential benefits against the risks before making changes.
If you decide to change your URL structure, follow these steps to minimize disruption:
- Back up your website. This gives you a recovery point if something goes wrong.
- Map your old URLs to their new equivalents. Make sure each existing page has a corresponding destination wherever possible.
- Set up 301 redirects. Redirect each old URL to its new equivalent so visitors and search engines can find the updated address. Avoid redirecting unrelated URLs to your homepage.
- Test the redirects and monitor your site. Check important pages for redirect errors and broken links. Then monitor indexing and organic traffic in Google Search Console to identify any problems.
You can use the free 404 to 301 plugin to manage redirects. If you have the paid version of AIOSEO, its Redirection Manager is another option.
See our detailed guide on how to create 301 Redirects in WordPress for more information.
How to Set up an SEO-Friendly Permalink Structure
To check or change your permalink structure, go to Settings » Permalinks from your WordPress admin area. This will take you to a page that looks like this:
There are several permalink structures to choose from:
- Plain (https://www.wpbeginner.com/?p=123) – Not an SEO-friendly option; this is what a server falls back to if it can’t support rewrites.
- Day and name (https://www.wpbeginner.com/2016/01/22/sample-post/) – It includes the post name, but the dates make the URL longer and can make evergreen content look outdated.
- Month and name (https://www.wpbeginner.com/2016/01/sample-post/) – Same date-related tradeoffs as above, though dates can be a feature rather than a bug for news publications.
- Numeric (https://www.wpbeginner.com/archives/123) – Similar to Plain but includes the archives page and post ID. Not recommended.
- Post name (https://www.wpbeginner.com/sample-post/) – The most SEO-friendly option: descriptive and short. Ideal for evergreen content.
- Custom Structure – Build your own using available tags. Good for larger publications where post name alone isn’t descriptive enough.
Once you’ve chosen a structure, scroll down and click ‘Save Changes.’ WordPress will automatically update your site’s .htaccess file (the server config file that controls how URLs are routed) and immediately start using the new structure.

How to Create a Custom URL Structure in WordPress
At WPBeginner, we use a custom permalink structure that adds a category name along with the post name in the URL:
/%category%/%postname%/
Because our site is large and contains thousands of articles, this suits us well. It describes the content and shows what category it belongs to without being too long. You’ll see larger publications and eCommerce stores use a similar structure.
Two things to know before using category in your URL: assign each post to exactly one category, since a post’s URL is built from whichever category is primary. And if you recategorize a post later, its URL changes too – which means you’ll need a new redirect.
Here are the tags you can use to build your own custom structure:
- %year% – The year of the post in four digits, like 2026.
- %monthnum% – Month number of the year, like 05.
- %day% – Day of the month, like 28.
- %postname% – A sanitized version of the post title. “This Is A Great Post!” becomes this-is-a-great-post.
- %post_id% – The unique ID number of the post.
- %category% – A sanitized version of the category name. Nested sub-categories appear as nested directories in the URL.
- %author% – A sanitized version of the author name.
- Time tags (%hour%, %minute%, %second%) exist but you should never use them in a permalink structure.
Once you’ve set up your custom permalink structure, click ‘Save Changes.’
We hope this article helped you set up SEO-friendly URLs for your WordPress site. You may also want to see our guide on categories vs tags: SEO best practices and our ultimate WordPress SEO guide.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Jiří Vaněk
I’ve always used the structure domain/post, but my blog has dates in the URLs because I didn’t notice it at the beginning of my blogging journey. I’ve been thinking for a long time about changing the permalinks and removing the dates. However, I already have 1,300 articles on my site. So I’m glad you mentioned in the article that we shouldn’t do this, as it’s not a good idea and doesn’t make much sense. It reassured me a bit, and I’ll leave the permalink structure as it is now. After all, the fear of losing rankings is quite significant for me.
Miqbal
i want to ask, how you setting the structure for this website? i want like that, example like domain. com/blog/title-article/? thanks
WPBeginner Support
The structure we are using on the site at the moment is /category/postname
Admin
Mrteesurez
This is enlightening. For technical SEO side, it’s better to change an urgly url structure to a readable one. User should be able to identify or for tell of what the link will be all about as he see readable url structure.
I heard it’s good for news blog and website to use days or month in url as it boost ranking, is this true.
Jiří Vaněk
I personally stopped using URLs with dates in them, and I’ll explain why. You write an article on a certain date and then regularly update it, say every 4 months, to include new information. However, the URL doesn’t change. I found that such articles had much lower viewership because, even though they were updated, people didn’t click on them since they saw the date in the URL and chose another article in the SERP, thinking it would be more current. That’s why I no longer use dates in URLs, as they can be misleading and result in a loss of new visitors.
Iriogbe peter
Keynotes from this post and what Google recommended
Google suggests keeping your website addresses simple and easy to understand. When creating a URL:
Using hyphens or dashes (-) is preferred over underscores or other symbols. For instance, go for “my-page” instead of “my_page.”
It’s a good idea to keep things straightforward. Don’t add unnecessary details or extra information to your URLs. Focus on using keywords that accurately describe your content.
If you can, try not to include dates in your URLs unless it’s really important for what your content is about.
Moinuddin Waheed
Earlier I used to have the default options for Permalink structure that was with the WordPress installation.
I have them switched to use the posts slug for Permalink structure as it looks good and seo friendly as well.
Having said this having both category and then posts is very good as it helps categories the posts.
I will do this custom permalink structure for my posts.
Thanks for this helpful guide.
Reza
Hi,
Thank you for your short and informative article. just a quick question?
Our website has been running for more than a year. I checked the permalink and it is set to Day and Name.
what do you think if I change it to Post name?
Thanks
WPBeginner Support
If you decide to change your permalinks then we would recommend taking a look at our guide on creating redirects below to prevent any issues.
https://www.wpbeginner.com/beginners-guide/beginners-guide-to-creating-redirects-in-wordpress/
Admin
Nicola
This is simply the best article I’ve ever read on the topic!!!
WPBeginner Support
Glad you found our article helpful!
Admin
Julia
Hi, thanks for the article, it’s really complete and helpful. Could you please provide examples of plain links?
WPBeginner Support
For plain links, we cover that in the permalinks setting section or you can take a look under Settings, Permalinks to see what plain permalinks would look like for your domain
Admin
Etinosa
I’ve had my blog for almost a year and the permalinks I use is the month, day then post title one. I would like to change it to just the post title.
How do I go about this? I don’t want to end up with broken links.
Do you think I should change it or I should just leave it as it is?
WPBeginner Support
It would be a difficult process to change your permalinks after a year, there are tools on the Yoast site for what to add to your htaccess for redirects or you can keep your permalinks as they are.
Admin
Ute Rehill
Thanks for this. I find all your articles very helpful!
Dwayne S
I have seen where when a post is created it removes words like in, for, at etc. Yoast warns about leaving these words (stop words I believe they are referred to as) in the url. However I notice all your blog posts utilize these stop words. Can you explain why you don’t remove stop words from your urls?
WPBeginner Support
Hi Dwayne,
We believe that this way URLs are more readable and understandable by both human users and search engines.
Admin
Ravi Kumar
Yes, I agreed on this too.
Teresa Solomita
Hey, thanks for this article! My site was launched this week by a developer and now I am learning WP! I changed my permalink setting to post name – they had it as Day and Name!
Gideon
Thanks for the information, I will have to change my permalink since my site is just 3 months old.
SANJEEV KUMAR
Sir,
I used custom structure with post name. The main is comes when i change the post permalink the the post permalink is updated in desktop and working fine but in mobile the permalink not updated and gives 404 error.I used news paper please helped me in this matter.
AKulkarni
Thanks for this nice write-up.
I have one question and if you could advise, that would be grateful.
I have a WordPress website (not launched yet, testing phase). Registered users can submit post and comments. I am using ‘Post name’ as permalink structure. Issue arises when user changes the post title, the permalink also changes which from SEO point of view will have broken links in search if already indexed. I understand i can switch to ‘Plain’ permalink (Post Id) structure. But I want to utilize URL keywords from SEO point if view.
Is there any to achieve this by using custom permalink structure or only way is to use Plain permalink structure.
Smith R.
1) From Permalink settings in WordPress, I had added “.” (dot) in Category base so now my category URLs are like: example.com/smith instead of example.com/category/smith
Although, you try to enter example.com/category/smith, it will redirect to example.com/smith
2) Now, I have created some pages with the same name as a category, URLs for both are same. Is it bad for SEO?
for example:
parent Category is: example.com/smith
sub-category is: example.com/smith/rr
parent page is: example.com/smith
child page is: example.com/smith/rr
I don’t know what’s going on in backend and how it can affect SEO?
Thanks in Advance.
Trish
Hi there,
help please
can someone tell me how using the permalink custom structure tag %slug% works?
How, if at all, is it different to using the structure tag %postname%
thank you, Trish
Alex Zamora
Hi there: For about two years I had my blog hosted on a wp.com page. One week ago I finally decided to transfer it to a .org domain. That said, do you consider I should change the structure on my permalinks to a more SEO friendly one? I mean, you recomend no to do it if the site was older than 6 months, but I’m not sure if that applies for my recently transfered site. Thanks, guys. Cheers.
Gurjit singh
Please advice is this SEO Friendly
/%category%/%postname%.html/
Gurjit Singh
Thanks you so much.
Elizabeth
How do I make it so the structure would be /blog/category/post-name?
I can’t figure out how to get /blog/ before the category.
Thank you!!
Amit Biswas
Hello,
How to include the sub category base in the URL, I mean
Website,com/category/subcategory/post
Please help me out. Please make a video tut.
Thanks a lot
Amit Biswas
WPBeginner Support
Hi Amit,
Please take a look at our tutorial on how to change the category base prefix in WordPress.
Admin
Naomi Trevino
I’m a new blogger and I’ve always changed my URL. Am I not suppose to and just let it be the default? I have a new WP version so it picks up something just I thought I had to change it every time instead of leaving it how it was.
WPBeginner Support
Hello Naomi,
Yes, you are not supposed to change it once you are happy with a URL structure.
Admin
Louise Hake
Awesome post.
Swapan Kumar Manna
Hello,
Very good information and nicely touched down every single aspect. I own a News Site hosted on Wordpress and using /%category%/%postname%/ in the URL structure. And I want to migrate it to Day and name (/2016/01/22/sample-post/) since I read some articles that states it will increase server up-time speed. I’ve more than 250 posts on the website and older than one year is it a good idea to change the Permalink parameter?
Bala murali
Hello how to include the sub category base in the url, I mean
blog/category/subcategory/post
please help me to find the solution for this
juli
Hi! This is great, thank you! How can I change my post structure on only the posts going forward? I don’t want to change any of the posts in the past, as I’ve been blogging for 5+ years now and I don’t want to loose any of that SEO. Currently I have the post date listed first, but I want to change that to just be the post name as the perma link for both my blog posts and my gallery.
Thank you!
Smriti
I have been using wordpres for over 6 months now and every time I tried changing my permalink structure from plain to /%category%/%postname%/ I get a 404 error. I hit the “Save Changes” but to not use. can you please tell me what i should do? Thank You!
WPBeginner Support
Try to backup and delete your .htaccess file. Then visit the permalinks page and click on save changes. Refresh your FTP client to confirm that WordPress has generated a new .htaccess file. This should resolve your issue.
Admin
Nancy
I am getting ready to move my site from wordpress.com to wordpress.org. I have about 200 posts on my wordpress.com site. I would like to change my permalink structure on my wordpress.org site to post name. I plan to use wordpress.com’s $13 a year site redirect. Will I have problems with broken links?
WPBeginner Support
From WordPress.com support:
Admin
Berk Onal
I have changed permalink of my product page.
Now i have an error message of “Duplicate meta descriptions” showing the old permalink and new permalink as duplicate.
How to solve this problem.
Andy
What is considered best practice (SEO wise) for internal linking? IE. Using Woocommerce I have links in my product descriptions to options that we offer. I can use the /descriptive-link/ or the /?p=321. Intuition tells me the first is better for SEO but the programing part of my brain says the latter is “safer”
WPBeginner Support
Descriptive links or pretty permalinks are more SEO friendly and safer as well.
Admin
Jackson
This is a great article and its easily explained in layman’s terms. I have one issue that I cannot find a solution to and others may have encountered the same issue. The problem with my blog is that trashed pages. If I have a trashed page, how would I reinstate it without having to change the custom structure to the plain structure? I’ve basically ruined a blog with over one hundred and fifty pages grhhhhhhhhhhh! Any help would be appreciated please
WPBeginner Support
Simply go to Pages and then click on trash. Take your mouse over to the page you want to restore and click on the restore link. If you want the page to not have the URL that it previously had then you can copy its contents and paste them into a new page. Publish the new page and delete the old page.
Admin
Nisha
Great article. I am in a fix now. I have a running site which is around 10 yrs old. Unfortunately my post urls have date in it.
But it’s better late than never.
If I opt now to have my permalink in new post structure, as you said, the older posts will also get changed.
What is the best solution to do it. I can’t afford to hire somebody to do it manually. I can try my hands though.
Is there any plugin or tool which will make my job easy?
I am expecting a response from the readers as well, who have tried it first hand.
Umer
I am running following site. but its traffic is not consistant. i am sending you my site link. Please suggest me how i can gain more and consistent traffic and also tell me about my mistakes. Pleasae.
WPBeginner Support
See these tips to drive traffic to your new WordPress site.
Admin
Merry Clerk
This is very nice post thanks for sharing this blog about permalinks.
Shah Jahan
Hello,
I am using the redirect tool by yoast to redirect my old permalink structure to the new one, it works fine, but the wordpress admin panel not working, giving me the 404 error.
Also the child category posts are also not working. Please guide.
My old permalink structure was /%category%/%postname%.php
And the new one is /%postname%/
Thanks,
Gail Palubiak
Thank you for your article, it was very timely. I love WP-beginner!
However, it still seems a bit over my head. I wish you included more examples. I’m in the process of putting the finishing touches on my website (pure DIY). I haven’t even started blogging on the site so I have been more concerned with how to get . Although I have no idea why %postname% worked but it did so I’m thrilled (%postname% just doesn’t seem to correctly call out the page I want). Anyway, I still don’t have a clue what is meant by “categories”. I appreciate the link you shared, however, it’s still written beyond my pay grade. It says in the article, “WordPress comes with the ability to sort your content into categories, tags, and taxonomies.” It never explains WHY this is useful. Would you mind sharing a bit more on categories from a user point of view please?
Avdesh
Hi, I recently moved my blog from BlogSpot sub-domain to my custom domain on WordPress. After reading through the stuff available online, I chose the ‘Month and Name’ permalink in the WordPress as its being mentioned that this is most similar to what BlogSpot uses and if one is transferring from BlogSpot to WordPress, then one should chose this permalink only in order to loose existing traffic and Google Page Ranking. Now, after reading your article above, it seems that the best permalink would be “Postname’ permalink. Can you please guide me whether I should change my permalink to ‘Postname’ or should I keep it to ‘Month and Name’ permalink?
Toublanc
Hi, this is a very good post about permalinks, thank you.
I have a question about it, is it possible to use regex to dynamicaly rewrite category name in the URL?
Jean-Pierre
Hello! I use custom /%category%/%postname%/ . The categories are English and Farsi (using Arabic characters). The permalink in sitemap for farsi turns to:
/farsi/sms-%d8%a7%d8%b3-%d8%a7%d9%85-%d8%a7%d8%b3/
This is not helpful for SEO. Can you help please? thanks.
assem foad
same problem here with arabic , how to solve and can it affect seo or not?
Chuks Guide
Great post. I was using custom pemalinks structure just like u mentioned earlier on my site but when i changed to post name permalink i lost my previous links i shared on social media pages which resulted to error 404.
You just made me understood why.
mohamed salad omar
how to change post categorie number want only one categories dispalyed in website feated
Jamshaid Ali
Useful Content for the beginners. I also got some new tips from here. Thanks for sharing.
Gerardo
Hi, i have a question about the permalink structure:
Before to use wp.org i had used wp.com with date+name of post (by default).
Now on wp.org i try to use only the name, but the social link not working, so to fix i have setting post id+name to have a post name and a little numbers before.
Do you think it a good idea? Because all permalink working fine, just only name not working, so i think used id+name could be a good idea
Thanks
Richa Kamal
Hello! I had a question regarding custom tags. What if I have to use same or similar title, e.g. for outfit post? Is it a good idea to add a numeric value to the URLs as well. I am skeptical about using %post_id% as it will be sequential then and can make some other posts seem out-of-date. How about adding a random number to the URL like tumblr posts. How can we configure it to be part of URL just like categories?
Dan Awontis
Nicely written. I was absolutely able to understand and follow everything, and to lear, which is the most important thing.