Permalinks are the URLs of your posts and pages. WordPress lets you choose their structure once, and changing that structure later breaks every existing link pointing to your site. Most new blogs simply accept the default and never look back. The default isn’t always wrong, but it isn’t always right either, and it’s worth understanding before you’re a hundred posts deep.

WordPress permalinks settings panel showing structure options

What permalinks are

Every post and page on your site has a URL. The “permalink” is the structure WordPress uses to generate that URL automatically.

The default structure looks like this: yoursite.com/?p=123, using the post’s numeric ID.

“Post name” looks like this: yoursite.com/how-to-back-up-wordpress/, using the post’s slug.

“Day and name” looks like this: yoursite.com/2026/05/19/how-to-back-up-wordpress/.

“Custom” lets you define your own structure using placeholders.

Where to find the setting

Go to Settings → Permalinks. WordPress offers a handful of preset options there, plus a custom field if none of the presets fit. The official WordPress documentation on the Permalinks screen covers every option in detail.

The recommended structure

For roughly 95% of blogs, the right choice is “Post name.”

That gives you a URL like this: yoursite.com/how-to-back-up-wordpress/

Why post name is right

  • It’s short, which means URLs stay easy to share and remember.
  • It’s keyword-bearing, since the post slug sits right there in the URL, which genuinely helps SEO.
  • It’s date-agnostic, so posts don’t look “old” just because of a 2023 date sitting in the URL.
  • It’s flexible, letting you move posts between categories without touching the URL at all.

Why other structures are worse

Date-based (Day and name, Month and name)

URL example: yoursite.com/2026/05/19/post-name/

Here’s why this tends to be a bad choice. Posts look dated at a glance, just from the URL alone, which hurts evergreen content. The URLs are also longer overall. And changing the date later, say when you update an old post, doesn’t automatically update the URL either.

This structure works for news sites where the date genuinely matters for context. For most blogs, it doesn’t make sense.

Category-based

URL example: yoursite.com/category/post-name/

The problems here: if a post belongs to two categories, you’re forced to pick just one for the URL. Reorganizing your categories later breaks every affected URL. And the URLs end up longer than they need to be.

This works only for blogs with a strict, genuinely never-changing category hierarchy, which is rare in practice.

Numeric or plain

URL example: yoursite.com/?p=123

This has no keyword in the URL at all, looks ugly to visitors, and doesn’t help either users or search engines understand what the post is actually about. There’s essentially no scenario where this structure is the right call. Always use a readable structure instead.

Custom with category prefix

URL example: yoursite.com/blog/post-name/

Adding “blog” before everything is fine, though it does add a bit of length. Some sites do this specifically to separate blog content from static pages. If your structure genuinely benefits from that separation, it’s a reasonable choice. Otherwise, it’s unnecessary overhead.

What goes in a good post slug

Once you’ve set permalinks to “Post name,” each individual post’s slug becomes part of its final URL.

Slug best practices

  • Keep it short. Three to six words is ideal, and under ten words always.
  • Include the primary keyword. This genuinely helps SEO.
  • Drop stop words. Remove words like “a,” “the,” “of,” and “is” when you can do so without losing meaning.
  • Use hyphens between words, not underscores.
  • Keep it lowercase only.
  • Avoid special characters. Stick to letters, numbers, and hyphens.
  • Skip dates that will age. Don’t put “2026” in the slug unless the post is explicitly about that specific year.

Examples

  • Title: “How to Back Up a WordPress Blog (Without Losing Anything)”
  • Default auto-generated slug: how-to-back-up-a-wordpress-blog-without-losing-anything
  • Better, edited slug: back-up-wordpress-blog

WordPress auto-generates slugs directly from your titles. Always edit them before publishing to keep them short and keyword-focused, rather than accepting whatever WordPress generated automatically.

A side-by-side comparison of long auto-generated slug versus short edited slug
Quick tip: Edit the slug before you hit publish for the first time, not after. Changing a slug on a post that’s already indexed and getting traffic means dealing with redirects, while editing it pre-publish costs you nothing.

The “don’t change permalinks after launch” rule

If you change your permalink structure after posts already exist, here’s what happens. Every existing URL breaks. Every backlink pointing to your site now points to a 404. Your search rankings drop. Bookmarks stop working.

This is genuinely one of the most damaging mistakes you can make on a WordPress site.

If you absolutely must change your permalink structure, set up comprehensive 301 redirects from every old URL to its new equivalent, using a redirect plugin like the free Redirection or Rank Math’s built-in redirects manager, covered in more depth in our Rank Math advanced features guide. Better yet: just don’t change it in the first place.

Changing a single post’s slug

This is different from changing your entire structure. Changing an individual post’s slug only breaks that one post’s old URL, not your whole site.

If that post had backlinks or social shares pointing to it, you’ll need a 301 redirect from the old slug to the new one.

The Redirection plugin, which is free, handles this well. Set up the redirect first, then change the slug afterward.

If a post has minimal traffic and no backlinks, you can usually change its slug without much real risk. For established posts with existing traffic, set up the redirect before you touch the slug.

Category and tag URLs

Your permalink structure also affects category and tag archive URLs by default:

  • Categories: yoursite.com/category/category-name/
  • Tags: yoursite.com/tag/tag-name/

You can change these prefixes under Settings → Permalinks → Optional. Common changes include swapping the category base from “category” to “topic,” or removing it entirely, and swapping the tag base from “tag” to “topics” or something similar.

Most bloggers leave these at their defaults. Changing them can complicate things elsewhere and offers minimal real benefit in return.

Custom post types and their permalinks

If you use custom post types, recipes, portfolios, or courses, for instance, they each have their own permalink structure separate from regular posts.

Usually this takes the form yoursite.com/post-type/post-name/.

Some plugins let you customize this further. For SEO purposes, having a clear post type prefix is fine and often genuinely helpful for both users and search engines.

The “trailing slash” question

URLs can end with a / or without one. WordPress defaults to ending with a trailing slash.

It doesn’t really matter which way you go, as long as you stay consistent throughout. The default, with the trailing slash, is perfectly fine to keep.

The “www” vs non-“www” question

There are two possible URL forms here: www.yoursite.com or simply yoursite.com.

WordPress treats these as genuinely different addresses, so pick one and commit to it.

Go to Settings → General, and set both your “WordPress Address” and “Site Address” to whichever one you’ve chosen.

If you ever switch later, set up 301 redirects via Cloudflare or your .htaccess file to handle the transition cleanly.

There’s no SEO advantage to either form. Pick whichever looks right to you and move on.

HTTP vs HTTPS

Always use HTTPS. Go to Settings → General, and set your URLs to start with https:// rather than the older http://.

If your site currently loads on both protocols, set up a redirect from HTTP to HTTPS at either the server level or the Cloudflare level to consolidate everything onto one. Our Cloudflare setup guide covers exactly this kind of redirect configuration if you haven’t set one up already.

How this ties into your theme’s SEO setup

Permalinks are just one piece of a larger SEO foundation. Clean URLs help, but they work best alongside a theme that also outputs clean, structured markup underneath. Aurora is built with that in mind, pairing sensible defaults with proper schema markup so the technical side of SEO is largely handled before you even open an SEO plugin.

Getting it right the first time

Set permalinks to “Post name” structure. Edit each post’s slug to be short, keyword-bearing, and hyphenated. Don’t change permalink structure after launch, it breaks everything. Use 301 redirects when changing individual slugs. Pick www or non-www, HTTPS, and trailing-slash format and stay consistent. The whole permalink decision happens once; getting it right at launch saves years of pain.