←back to Blog

Best WordPress permalink structure for SEO and how to change it safely without losing rankings

WordPress Permalink Structure for SEO: Get It Right Before Google Indexes You

Change your WordPress permalink structure after Google has indexed your site, and you can wipe out months of SEO work with one settings update. I’ve watched it happen: a client switched from date-based URLs to clean post name URLs without setting up redirects first, and two weeks later half their organic traffic was gone. Your WordPress permalink structure for SEO isn’t something you configure once and forget. Get it wrong early, and fixing it later gets expensive.

Why Your Permalink Structure Matters More Than You Think

A permalink is just the URL of a post or page. WordPress gives you six or seven built-in formats to choose from, plus a custom option, under Settings > Permalinks. Most people open that screen once during setup and never touch it again, which is fine if you picked correctly the first time and a real problem if you didn’t.

Search engines use your URL as a signal. A clean address like moshiur.dev/wordpress-speed-optimization tells Google, and the reader, exactly what the page is about before anyone clicks. A URL like moshiur.dev/?p=819 tells them nothing.

Beyond SEO, your permalink structure affects how people remember and share your links, how clean your internal linking looks, and how much technical debt you’re stacking up for the day you decide to restructure the site.

The Best WordPress Permalink Structure for SEO

For almost every WordPress site I build, the answer is the same: use Post Name. In Settings > Permalinks, that’s the option that produces URLs like /post-name/, with no dates, no category prefixes, and no query strings.

Here’s why it still wins in 2026:

  • It’s short. Shorter URLs get clicked more and are easier to share on social media or paste into a text.
  • It includes your target keyword naturally, which still matters for topical relevance even though Google reads context far better than it used to.
  • It doesn’t break. Date-based URLs (/2026/07/postname/) look stale the moment the calendar turns over. Category-based URLs (/category/postname/) break the second you recategorize a post, which happens more often than people admit.
  • It works the same way for posts, pages, and most custom post types, so your whole site stays consistent.

After 10+ years building WordPress sites and running 950+ Fiverr client projects, Post Name is the structure I default to unless a client has a specific reason for something else, like a large ecommerce catalog that genuinely benefits from category context in the URL.

Permalink Structures to Avoid

  • Plain (?p=123): zero SEO value, unreadable, gives the reader no idea what they’re clicking.
  • Day and name (/2026/07/11/postname/): looks dated the moment it’s published and adds nothing useful for evergreen content.
  • Month and name: same problem, just slightly shorter.
  • Numeric (/archives/123): meaningless to both users and search engines.
  • Category and name, on most sites: fine in theory, fragile in practice. One recategorization and you’re either breaking the URL or generating a duplicate path.

How to Change WordPress Permalinks Without Losing Rankings

If your site is already live with the wrong structure, don’t just flip the setting and hope for the best. I’ve seen sites lose rankings for weeks because someone changed permalinks on a Friday afternoon with no redirect plan. Here’s the process I actually use with clients:

  1. Export a full list of your current URLs. Your SEO plugin’s sitemap or a crawler like Screaming Frog works fine for this.
  2. Install a redirection plugin before you touch the Permalinks screen. I use the free Redirection plugin for this.
  3. Set up a rule that maps your old URL pattern to the new one. For a date-to-postname change, this is usually one regex rule, not hundreds of manual redirects.
  4. Switch the structure in Settings > Permalinks and save.
  5. Test your five highest-traffic pages immediately. Load the old URL in an incognito window and confirm it 301s to the new one.
  6. Resubmit your sitemap in Google Search Console so Google recrawls the new URLs faster instead of waiting on its own schedule.

A typical redirect rule for moving from date-based URLs to post name URLs looks like this in the Redirection plugin, using regex matching:

Source: ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.+)$
Target: /$4/

If broken links still slip through after you migrate, that’s a separate cleanup job. I’ve written a full walkthrough on how to fix a WordPress 404 error and stop it from resurfacing, which pairs well with this process.

WooCommerce and Custom Post Type Considerations

Stores are the one place I’ll deviate from plain Post Name. For WooCommerce, a structure like /shop/%product_cat%/%product%/ helps both shoppers and Google understand where a product sits in your catalog. Just keep the category depth shallow: one level is plenty. Three-level nested categories in a URL is a maintenance headache waiting to happen.

Custom post types (portfolio items, case studies, staff profiles) generally follow the same Post Name logic unless you have a specific reason to prefix them with a base slug for organization.

Clean URLs are also a foundation for structured data. A tidy /product-name/ path pairs naturally with the kind of markup I cover in how to add schema markup to WordPress, and both feed into whichever SEO plugin you’re using. If you’re still deciding between the two major options, I broke down the differences in Rank Math vs Yoast SEO, and permalink handling is actually one of the smaller but genuinely useful features both offer.

The One Takeaway

If you haven’t touched Settings > Permalinks yet, set it to Post Name today and move on. If you’re already live with a messy structure, don’t panic and don’t switch blindly: map your redirects first, change the setting second, and verify third. That order is what protects the rankings you’ve already earned.

Frequently Asked Questions

Post Name (/%postname%/) is the best structure for almost every site. It’s short, keyword-rich, and doesn’t break when you recategorize content or when the calendar year changes.

It can, but only if you change the structure without setting up 301 redirects. Every old URL that isn’t redirected turns into a 404, which loses both the visitor and the ranking signal that URL had built up.

Yes, always, if the site is already live and indexed. A single regex rule in a plugin like Redirection can map an entire old URL pattern to the new one instead of requiring hundreds of manual redirects.

Usually not for a blog. It seems useful for organization, but it makes your URLs fragile: recategorize a post later and you either break the link or create a duplicate path. Ecommerce catalogs are the main exception where a shallow category structure genuinely helps.

A structure like /shop/%product_cat%/%product%/ works well because it gives shoppers and Google context about where a product sits in your catalog. Keep the category depth to one level so the URLs stay manageable.

Leave a Reply

Your email address will not be published. Required fields are marked *