URL Structure

10-20 minBeginner

Clean, descriptive URLs (permalinks) help search engines understand page topic and improve user click-through rates. WordPress offers powerful controls for both global structure and individual page slugs.

Prerequisites

  • WordPress admin access
  • Decision on URL structure (before changing existing site)
Easy Recommended

Global Permalink Settings

The most important step: configuring how WordPress generates URLs for all posts.

1

Access Settings

1

Go to Settings > Permalinks

2

Ignore the defaults (Date, Numeric)

3

Select "Post name" (most SEO friendly)

4

Example: yoursite.com/sample-post/

2

Save Changes

1

Scroll down and click Save Changes

2

Note: This flushes the .htaccess rewrite rules automatically

Changing this on a live site will break ALL existing links. You MUST set up redirects immediately if you do this on an established site.

Best Practices

Do

  • Keep URLs short and descriptive
  • Use keywords in the slug
  • Stick to lowercase letters only
  • Use hyphens to separate words
  • Set the global permalink structure to "Post name"

Don't

  • Change URLs on live pages without 301 redirects
  • Use dates in URLs for evergreen content (makes content look old)
  • Use dynamic parameters (?p=123) for content pages
  • Repeat the category in the slug if it's already in the path
  • Use special characters or emojis in URLs

Verification Checklist

  • Permalinks set to "Post name" or clean custom structure
  • URLs contain keywords but are not spammy
  • URL slugs use hyphens (not underscores)
  • No capitalization in URLs (lowercase only)
  • Old URLs redirect to new ones (check via Redirect Path extension)

Pro Tips

  • Short URLs tend to rank slightly better and get more clicks
  • Avoid changing URLs once a page has backlinks / history
  • If you must change a URL, install the "Redirection" plugin and set up a 301 immediately
  • Consider a flat structure (yoursite.com/post) vs hierarchical (yoursite.com/category/post) based on your site size

Common Issues & Fixes

Problem: 404 Errors on all inner pages
Solution: Your .htaccess file might be missing or unwritable. Go to Settings > Permalinks and click "Save Changes" to force WordPress to regenerate the file.
Problem: URLs show as index.php/post-name
Solution: Your server might not have mod_rewrite enabled (common on some Nginx/Apache setups). Contact your host.
Problem: Duplicate content via multiple URLs
Solution: Ensure your canonical tags point to the preferred version. This happens if you can access a post via both /category/post and /post.