Skip to main content

The Search Playbook | 10 min read

WooCommerce Permalinks SEO: Setting Product and Category URLs Safely

By ยท Updated ยท 10 min read

A permalink is the permanent web address of a page. On a WooCommerce store, WordPress decides the shape of most of your addresses from one settings screen, and WooCommerce adds its own fields for products and categories on top of that.

Out of the box, a product page often lives at a path that starts with a product base, followed by the product's slug. A category page lives under a category base, followed by the category's slug. The slug is the last part of the address, built from the name you gave the product or category when you created it. You can edit every slug by hand.

Why does this matter for search? Three reasons, in order of weight. First, a URL is an identity. Google and the AI assistants that read your site treat a changed address as a different page, so a careless change throws away whatever that page had earned. Second, a short readable address tells a shopper and a crawler what the page is before it loads. Third, a consistent structure keeps your site tidy, which makes the duplicate URL problem we cover in our page on WooCommerce duplicate content easier to manage.

What permalinks do not do is rank a page by themselves. A tidy address is a small tie-breaker, not a lever. If you are weighing whether to pay someone to handle this, our overview of what a good WooCommerce SEO service covers shows where URL work sits among the rest. If you only remember one thing from this page, remember that the most valuable permalink decision is usually to not change something that already works.

The short version

Pick a clean structure once, before the store has traffic if you can. After that, change a URL only when you have a reason you can write down, and never without a redirect.

The WordPress setting that sets the base

In your WordPress dashboard, the Permalinks screen under Settings holds the site-wide structure. WordPress offers several presets, including plain addresses that use a question mark and an ID number, and a post name option that uses readable words. A readable structure is the common choice for stores because the address describes the page.

The plain option, with ID numbers and question marks, is the one to avoid. It tells nobody anything, and it is harder to share and to recognize in a report.

One point trips up store owners often. The structure you pick here mostly governs your blog posts and ordinary pages. Products and categories have their own base fields, which WooCommerce adds to the same screen. So choosing a post name structure does not by itself decide what a product address looks like. Both settings work together, and you read them together.

Because the exact labels and options on these screens change between WordPress and WooCommerce versions, we will not walk through each field here. The WordPress documentation for the Permalinks screen and the WooCommerce documentation on product permalinks are the current references. Open them side by side with your own dashboard the first time.

If your store is new, set this screen before you add products. Nothing is indexed yet, so you can change it for free. If your store is live, read the next two sections before touching it.

Product and category URLs: what to decide

You face three real choices. Each has a plain-language version.

Whether the category appears in the product address

WooCommerce lets you build a product address with or without its category in the path. Putting the category in the address looks descriptive, but it creates a question you have to answer: what happens when a product sits in two categories? The same product can then be reachable at more than one address, which is a duplicate URL problem. A product address that does not include the category avoids that. For most stores, the simpler product address is the safer choice.

Whether to keep the default bases

The default base words for products and categories are fine. Renaming them to something shorter or closer to your language is allowed, and some stores do. Removing the base entirely is possible only with extra code or a plugin, and it can cause clashes between a product slug and a page slug. If you are not sure, keep the bases.

How long and how clean the slugs are

This is where you have real control. A slug like women-trail-running-shoes is better than one carrying a model number, a size, a sale label and three adjectives. Keep it to the few words that name the thing. Drop stop words like "the" and "of" if it reads fine without them. Never put the year or the price in a slug, because both go stale and then you face a rename.

Write down your rule once, such as lowercase, hyphens between words, no dates, no category in the product address, and apply it to every new item. A rule you can state in one line is a rule that gets followed by whoever adds products next year.

What to leave alone on a live store

Here is the part many guides skip. If your store already has traffic, most of your current URLs should stay exactly as they are, even the ugly ones.

The reason is arithmetic. Every changed address needs a redirect. Every redirect is a small leak in the signals the old page gathered: links pointing at it, history in Google, and a place in any AI assistant's memory of your site. Permanent redirects are designed to pass those signals on, and that is why they are the right tool. But passing on is not the same as losing nothing, and you add risk with each hop and each missed address.

So set a bar for a change. A good reason is a clear problem: a product address that carries a long ID string, categories that show up at two paths, or a base word that is misleading. A weak reason is that a new structure looks neater, or that a guide said shorter is better. A neater address does not repay the risk on a store that is already ranking.

There is one more case. If you are moving platforms, the URLs often change whether you like it or not, and that is a separate job with its own plan, covered in our page on WooCommerce SEO migration. Do not mix an optional permalink tidy-up into a migration. Change one thing at a time, so that if rankings move, you know why.

If you do decide a live change is worth it, do the older, lower-traffic sections first, and watch what happens before touching the pages that earn the most.

Changing permalinks safely, step by step

Follow the order in the diagram above. Each step exists because a store owner skipped it once.

Back up first, and test on a staging copy. A staging copy is a private duplicate of your site where you can break things safely. Many hosts offer one. Take a full backup of files and the database before any change, and confirm you can restore it. A backup you have never tested is a hope, not a backup.

List every URL that exists today. Export your products, categories, pages and posts with their current addresses. Your sitemap and the Pages report in Google Search Console are good sources, and the Search Console report also shows which addresses get impressions, so you can see which ones to treat with the most care. The list is your redirect map: old address on the left, new address on the right.

Change the setting and add one redirect per old address. A redirect is an instruction that sends visitors and crawlers from the old address to the new one. Use the permanent kind. Our glossary page on the 301 redirect for WooCommerce explains it in store terms. Send each old address straight to its final destination, in one hop. A chain, where A goes to B and B goes to C, wastes crawl time and risks being cut.

Verify and resubmit. Visit a sample of old addresses and confirm they land on the right new page with a permanent redirect. Check the sitemap lists only the new addresses, and submit it in Search Console. Check internal links too: links inside your own pages and menus should point at the new address directly, not rely on the redirect.

WordPress has a built-in habit of redirecting an old slug to a new one when you rename a single product, which helps for small edits. For a base-wide change across hundreds of products, do not trust it. Make the map yourself.

What commonly breaks after a change

Six failures account for most of the damage. All are preventable.

Redirect chains. An old address that goes through two or three stops. Fix by pointing the first address directly at the last.

Redirecting everything to the home page. It feels tidy and it fails. A search engine reads a redirect to an unrelated page as a missing page. Each old address should go to the closest new equivalent.

Pages that return an error. If an old address was missed, visitors land on a not-found page. Review your 404 errors in WooCommerce for a few weeks after any change and fix each one that had traffic.

A canonical tag pointing at the old address. The canonical tag tells search engines which version of a page is the real one. If your SEO plugin keeps pointing at the old address, you send a mixed message. Check it on a few pages.

Old addresses left in the sitemap. A sitemap should list the live addresses only.

A cache that still serves the old pages. Clear your caching plugin, your host cache and any content delivery network after the change, or the redirects will look broken when they are not.

None of these needs special skill to fix. They need someone to look, which is why the verify step is the one that separates a clean change from a costly one.

Where your SEO plugin fits

Most WooCommerce stores run an SEO plugin. Those plugins can often handle part of this job, such as showing the address field for editing, keeping canonical tags and sitemaps in step with your structure, and in some cases offering a redirect manager.

What they do not do is decide your structure for you or build your redirect map. They act on the settings you choose. If you are not sure what your plugin controls and what it leaves to WordPress and WooCommerce, read its own documentation for the current behavior. Plugin features change often enough that anything we wrote here would age quickly.

Two practical rules. Run one SEO plugin, not two, because two can each write their own tags and contradict each other. And keep a plain record, a spreadsheet is fine, of every redirect you add. If the plugin is ever removed or replaced, the redirects it held can vanish with it, and the record is how you rebuild them.

For a wider view of what the plugin layer covers on a store, the existing WooCommerce SEO guide sets it in context with the rest of the work.

Query strings are not permalinks

A common confusion: the addresses you see when a shopper filters by color or sorts by price are not controlled by your permalink settings. They are built by adding a question mark and extra words to the end of a normal address, and each combination is a separate address as far as a crawler is concerned.

So a perfect permalink structure does not protect you from a store that produces thousands of near-identical filter addresses. That is a different problem with a different fix, and we handle it in full on the duplicate content page rather than repeat it here. The takeaway for this page is narrow: the base address of every category should be clean and singular, because every filtered variant hangs off it.

If a category address is ambiguous, say two paths reach it, every filter variant doubles. Fixing the base first cuts the downstream mess in half.

A rule set you can keep

Write these on one page and pin it where whoever adds products will see it.

Readable structure, never the plain ID style. Product address without the category in it. Slugs of two to five words, lowercase, hyphen separated, no dates and no prices. Keep the default base words unless there is a documented reason. Change a live address only for a problem you can name, and add a one-hop permanent redirect in the same step. Record every redirect in one place. Check Search Console for errors for a month after any change.

That is the whole discipline. It is dull, which is what you want from the part of the site that every other page depends on.

How RunOctopus handles this

Permalinks are the kind of setting that is easy to get right once and expensive to get wrong later, which is why it helps to have the pages written with a stable structure from the start.

RunOctopus is a done-for-you service. Its AI, Ollie, researches your business, then writes and publishes pages directly on your own website, and it works with WordPress and WooCommerce. A team plans, writes, reviews and publishes alongside Ollie. There is nothing to install, nothing to approve, nothing to upload and nothing to schedule. Pages go live on their own.

In the first week you get 8 long-form articles, 6 pages and a custom interactive tool built for your niche. After that it is 175+ pieces of content a month, written, published and linked. Reports show where ChatGPT, Perplexity, Claude and Gemini name your business.

The promise is more visibility on Google and in AI answers within 90 days, measured against the 90 days before you joined, or every dollar back. For scale, an agency doing this work charges about $3,209 a month (2026 average, 439 providers) and publishes 4 to 12 pieces.

You can see the plan before you decide anything. Paste your address into the free site read and Ollie reads the site and shows the plan. No account, no call.

Frequently asked questions

What is the best permalink structure for WooCommerce SEO?

A readable structure that uses words rather than ID numbers, with product addresses that do not include the category and short, descriptive slugs. Beyond that, consistency matters more than any particular preset. Check the WordPress and WooCommerce documentation for the current labels on the Permalinks screen.

Should I remove the product base or category base from my URLs?

Usually not. Removing the base needs extra code or a plugin, and it can cause clashes between a product slug and a page slug. Shorter addresses help a little, but the risk on a live store is rarely worth it.

Will changing my permalinks hurt my rankings?

It can if the change is careless. A change with a permanent redirect from every old address to its closest new equivalent, in one hop, is designed to pass the old signals along. Expect some movement while search engines reprocess the pages, and watch Search Console.

Should the category be in the WooCommerce product URL?

For most stores, no. A product in two categories can become reachable at two addresses, which creates duplicates. A product address without the category stays single and stable even if you reorganize categories later.

Does the WordPress permalinks screen affect my products?

Partly. The site-wide structure mainly shapes posts and pages. Products and categories have their own base fields that WooCommerce adds to the same screen, so you read both together.

MG
Written by

Matt is the founder of RunOctopus. He built All Angles Creatures from zero to page-1 rankings in reptile feeder insects using exactly this method. Turning a hard, entrenched niche into RunOctopus's proof store for programmatic SEO and AI search citation.

Connect on LinkedIn →

Ollie builds this for your store automatically

A complete launch build: 8 expert guides, 6 collection pages, and an interactive tool. Structured for both Google and AI search. Live on your store in week one.

See What Ollie Builds →

See what Ollie builds before you pay. Cancel anytime.

● Trusted by store owners in 20+ niches