Tips・WordPress settings and upkeep

Recommended permalink settings, and what to watch when changing them

Which permalink structure should you pick in WordPress? Covers the recommended "Post name" and why, the problem with non-ASCII slugs, and the redirects you need if you change things after launch.

WordPress permalinks (the shape of your article URLs) are chosen under “Settings” → “Permalinks”. The bottom line: “Post name” (/%postname%/) is what I’d recommend. Here’s why, plus what to watch if you change it after launch.

The options and what they’re like

SettingExample URLVerdict
Plain/?p=123✕ Says nothing about the content
Day and name/2026/07/25/article/△ Makes articles look dated
Month and name/2026/07/article/△ Same reason
Numeric/archives/123△ Says nothing about the content
Post name/article/◎ Recommended
Custom structureWhatever you specify△ Only when you have a reason

Three reasons “Post name” is the strongest.

  • Short, and describes the content—you can tell what a page is just from the link
  • The URL doesn’t change when you change categories—robust against reorganizing later
  • No date—an older article is judged on its content

A caution about custom structures

Including the category, as in /%category%/%postname%/, looks tidy but becomes painful to run.

  • Change a category and the URL changes (the old URL 404s)
  • When an article belongs to several categories, one gets picked arbitrarily
  • Deep hierarchies make long URLs

Categories are perfectly well conveyed by your on-site navigation; there’s no necessity to put them in the URL. Without a special reason, staying on “Post name” is the safer choice.

Convert non-ASCII slugs to plain ASCII

Create an article with a title containing non-ASCII characters and the URL contains them too. It works, but it causes trouble when sharing.

What you see:  https://example.com/cómo-empezar/
What you copy: https://example.com/c%C3%B3mo-empezar/

In the post editing screen (the “URL” or “Permalink” field in the right panel), rewriting the slug in plain ASCII is the better habit.

  • Descriptive words separated by hyphens (wordpress-first-step)
  • Short (three to five words). No dates or sequence numbers
  • Don’t change it after publishing (the old URL will 404)

When something 404s, press “Save Changes”

The standard fix when an article or archive 404s.

  1. Open “Settings” → “Permalinks”
  2. Press “Save Changes” without changing anything

That regenerates the URL rewrite rules. It’s often needed right after adding a custom post type or custom taxonomy.

TipsHow to create custom post types (register_post_type)Setting custom post type URLs (has_archive, rewrite)

Changing after launch means 301 redirects

Changing the permalink setting means every existing URL changes. Do nothing and this is what happens.

  • Existing links and bookmarks 404
  • Search engines don’t carry over your standing
  • Links shared on social media break

If you’re going to change it, always set up 301 redirects (permanent) from the old URLs to the new ones. There are two ways.

  • A redirect plugin—register old-to-new mappings from the admin screen (it can handle rule-based conversions too)
  • Writing it in .htaccess (on Apache-based servers)
# e.g. an individual mapping like /archives/123 → /article-name/
Redirect 301 /archives/123 /article-name/

Pick one and stick with it on trailing slashes

/article/ and /article can look like different URLs to a search engine. WordPress redirects to whichever form you configured, so writing internal links in the configured form is the considerate choice (it saves one redirect).

Static page URLs

Static pages ignore the permalink setting: the slug is the URL. Set a parent page and you get a hierarchy like /parent/child/.

  • About → /about/
  • Contact → /contact/

Pages that serve as entrances to the site deserve short, clear slugs—it makes them easier to communicate in print or out loud.

Changing post type and taxonomy URLs

Specify it with rewrite at registration time.

register_post_type('shohin', [
  'has_archive' => 'products',
  'rewrite'     => ['slug' => 'products', 'with_front' => false],
  // …
]);

with_front => false avoids picking up the prefix from your permalink settings (/blog/ and the like). Always re-save your permalinks after changing this.

Summary

  1. “Post name” (/%postname%/) is the default choice—short, descriptive and robust against category changes
  2. Convert non-ASCII slugs to ASCII before publishing. Short, descriptive words
  3. When something 404s, press “Save Changes” to regenerate the rules
  4. Changing after launch requires 301 redirects. Without a reason, don’t change it

A URL is something you live with for a long time. Settling this at the start makes everything afterwards much easier.

FAQ

Which permalink setting do you recommend?
"Post name" (/%postname%/). The URL is short and describes the content, and it doesn't change when you move a post between categories. Date-based structures make articles look dated and numeric ones say nothing about the content, so post name is the best fit for most sites.
Are non-ASCII URLs a problem?
They work, but copying one turns it into a long percent-encoded string like %C3%B3, which is hard to read when shared. Setting each article's "URL slug" to plain ASCII in the editing screen is the better habit.
Is it safe to change the permalink setting after launch?
Every existing URL changes, so left alone they 404 and you lose their search standing. If you do change it, set up 301 redirects from the old URLs to the new ones. Without a reason, not changing is the safe move.
My article URLs are 404ing.
Open "Settings" → "Permalinks" and press "Save Changes" to regenerate the rules; that fixes it in most cases. It's especially necessary right after adding a custom post type or taxonomy.