Skip to content

How to set WordPress permalinks correctly

SEO1 min readFixes check wp-plain-permalinks

Plain permalinks like ?p=123 carry no keywords and break on migration. "Post name" is the setting to use, and WordPress redirects the old addresses.

Step by step, with screenshots: WordPress permalinks: from ?p=123 to clean URLs, rankings intact →

Check your own site

Runs this check and the other 192, free, in about 45 seconds.

Or run only this check with the free WordPress health check.

What it is

Permalinks are the permanent URLs WordPress gives your posts and pages, set under Settings → Permalinks. The Plain setting produces addresses like example.com/?p=123; the other settings build readable URLs from the post name, date or category.

Plain permalinks carry no words, look untrustworthy in search results and links, and break easily in migrations. WordPress falls back to Plain on some hosts where it could not confirm URL rewriting at install. Switching from Plain is safe: WordPress redirects the old ?p= addresses to the new ones.

OK looks like this: a readable structure, usually Post name (/%postname%/), chosen once and kept. getReport checks links on the page for the ?p=123 pattern and warns when Plain is in use.

What a passing site looks like

  • Permalinks use readable slugswarning · −2 ptseffort S

Questions people ask

What is a permalink in WordPress?

A permalink is the permanent URL of a post, page or archive in WordPress, such as example.com/running-shoes/. WordPress builds it from the structure you choose under Settings → Permalinks and the post's slug, which you can edit in the editor. It is meant to stay the same for as long as the content exists.

What is the purpose of permalinks in WordPress?

They give every piece of content a stable, readable address that people can share and search engines can index. A good permalink tells readers what the page is about before they click, and keeping it stable preserves links and rankings over time.

What is the best permalink structure for WordPress?

Post name, /%postname%/, suits most sites: it is short, readable and does not go out of date. Shops and large blogs sometimes add a category, and news sites may want dates. Avoid Plain. Whatever you choose, choose early, because changing it later changes every URL.

Can you change permalinks in WordPress?

Yes, under Settings → Permalinks, but every URL changes with it. From Plain, WordPress redirects old ?p= links automatically. From another structure, add 301 redirects from the old URLs, for example with a redirect plugin, update internal links and resubmit your sitemap so rankings follow.

Why are my WordPress permalinks not working?

Usually the server is not applying WordPress's rewrite rules, so every pretty URL returns 404. Go to Settings → Permalinks and click Save without changes to rebuild the rules. On Apache, check that .htaccess is writable and mod_rewrite is on; on nginx, the server needs a try_files rule for WordPress.

Filed under WordPress & WooCommerce. Copy is generated from the same catalogue that scores every report, so what you read here is what the report says.