A reader, Olivier, wrote in about a large WooCommerce site he was preparing for launch. He wanted the /shop/, /product/ and /product-category/ segments out of his URLs, without a plugin, and could only find advice that contradicted itself. The question comes up constantly among owners building or rebuilding a shop. It deserves a careful answer: the change is possible, but rarely neutral.
The short version: WooCommerce lets you rename those segments, not empty them. Full removal means custom code or a dedicated plugin, and both come with a maintenance bill. On a shop that already ranks, the risk sits in the redirects far more than in the rewrite rules, and the failure modes are predictable: 404s, loops, duplicate pages.
What WooCommerce allows without a plugin
WooCommerce runs 8.0% of all websites and 47.8% of those whose e-commerce platform can be identified, according to W3Techs (reading of 10 September 2026, top ten million sites). Its defaults shape a great many shops.
Under Settings > Permalinks, WooCommerce offers four structures for product pages, documented on the official permalinks page:
| Option | Example URL |
|---|---|
| Default | example.com/product/logo-hoodie |
| Shop base | example.com/shop/logo-hoodie |
| Shop base with category | example.com/shop/hoodies/logo-hoodie |
| Custom base | example.com/catalogue/logo-hoodie |
The default segment follows the language of the install. With a custom base the wording is yours, but a segment stays compulsory. The category, tag and attribute bases sit in the Optional section of the same screen: you can rename them, you cannot empty them. The documentation is explicit that the custom product base must not match the category base: WordPress needs a distinct segment to tell a product from a category listing. That constraint is the heart of the problem.
Since WooCommerce 10.5 — announced on 13 January 2026 on the developer blog — a product in several categories takes the deepest category in its URL, not the oldest. Shops on shop base with category may already have seen URLs move, with an automatic 301 from wc_product_canonical_redirect(). That function returns when we look at redirect loops.
Why owners want the prefixes gone
The arguments are about readability and consistency:
- shorter URLs, easier to read and share;
- the product or category keyword sitting right after the domain;
- a structure that mirrors the navigation (
/hoodies/, then/hoodies/logo-hoodie/) with no filler word such as “product”.
Be honest about the search side: Google publishes nothing tying URL length to better positions. Since 2012 I have never seen a prefix removal lift a shop in the results, and I have several times seen the opposite: a badly prepared migration costing weeks of traffic. The gain is genuine for users, marginal for rankings.
Three methods, from lightest to heaviest
1. Rename the bases instead of deleting them
The safest option, and it needs no plugin. Replacing product-category with a short word such as collection, then choosing the shop base for products, shortens URLs considerably. On a site that has not launched, like Olivier's, it is usually the best trade: tidy URLs, no custom rewrite rules, no clash with your pages.
2. Custom code: possible, but you own it for life
Removal rests on two WordPress hooks: a post_type_link filter that strips the segment from generated URLs, and add_rewrite_rule() patterns on init so WordPress still resolves the product behind /logo-hoodie/. A one-off permalink flush finishes it.
add_filter( 'post_type_link', 'shop_strip_product_base', 10, 2 );
add_action( 'init', 'shop_register_product_rewrites' );
// flush rewrite rules once, on activation — never on every page load
Tutorials such as Business Bloomer give working code, while warning that removing the base can conflict with pages, posts, other post types and plugins. The real cost is not writing those lines, it is keeping them alive: any WooCommerce or SEO plugin update can reorder the rewrite rules. Without a developer to retest each time, it is not a reasonable option for a small business.
3. Plugins still maintained in 2026
Plugins handle the rewrite rules, canonical tags and, in paid tiers, the 301 redirects. Where the three most used stood on 10 September 2026:
| Plugin | Last update | Active installs | Base removal | 301 redirects | Paid tier |
|---|---|---|---|---|---|
| Premmerce Permalink Manager | 12 May 2026 (v2.3.13) | 50,000+ | Free, products and categories, with canonical | Premium only | Bundle, from $99 a year for one site |
| Permalink Manager Lite / Pro | 9 August 2026 (v2.6.0) | 100,000+ | Pro only | Automatic, old URLs redirected | €49 a year, two domains; €119 lifetime licence |
| Custom Permalinks for WooCommerce (Woo marketplace) | v2.1.0, undated | Not published | Yes, product slug only | Automatic, plus canonical | €43 a year |
Premmerce sits at 3.9 out of 5 across 53 reviews, and its own guidance is to test on staging alongside your other plugins. The Woo marketplace extension goes further: its documentation warns that changing permalinks that already rank can affect positions, and advises talking to an SEO specialist first.
The risks you will actually meet
Slug collisions
With no prefix, a product called shoes, a category called shoes and a page called shoes all want the same URL. WordPress serves one and returns a 404, or the wrong template, for the others. Before any switch, export the slugs of your pages, products and categories and check for duplicates, by script if the catalogue is large.
Redirect loops
This is the failure I meet most often in audits afterwards. One rule sends /product/logo-hoodie/ to /logo-hoodie/, and another layer sends it back: WooCommerce's canonical function, a redirect manager in Yoast or Rank Math, a forgotten .htaccess rule, a server cache. The browser reports too many redirects and Googlebot gives up. Keep one source of redirects, purge every cache, and test a sample of old URLs.
curl -I https://example.com/product/logo-hoodie/
HTTP/2 301
location: https://example.com/logo-hoodie/
You want one 301, then a 200 on the destination. Two hops mean a chain; a 301 back to where you started is a loop.
Chains and duplicates
Google's guide to site moves with URL changes states that Googlebot can follow up to ten hops in a chain, while recommending you redirect straight to the final destination. If /product/x/ travels through /shop/x/ before landing on /x/, fix the first rule rather than adding a third. And if the old URLs still answer 200, you have two identical pages: a canonical tag limits the damage, the redirect is the right answer. A technical SEO audit is where those duplicates usually surface.
What Google actually says about changing URLs
Three points from the official documentation frame the debate:
- permanent redirects, 301 included, do not cause a loss of PageRank, provided the redirect is clean;
- visibility can fluctuate temporarily during a migration, and Google calls that normal. It puts no figure on the dip, so the loss percentages quoted elsewhere do not come from Google;
- keep the redirects in place as long as you can, at minimum around a year. Removing them after a few months throws away the benefit.
For a path change on the same domain you do not need the Search Console change of address tool: it is meant for domain moves. An up-to-date XML sitemap and close attention to the indexing report matter far more. The mechanics are those of a full migration at a smaller scale, so our website redesign guide applies here too.
Deciding from where you stand
| Situation | Recommendation |
|---|---|
| Shop not launched yet | Rename the bases, or install a maintained plugin, before the first pages are indexed. Nothing to redirect. |
| Live shop, little organic traffic | Acceptable if the redirect plan is complete and tested, ideally inside a WordPress redesign. |
| Live shop with meaningful organic traffic | Touch the URLs only if another benefit justifies the work: a new information architecture, a CMS change. A tidier URL does not pay for the risk. |
| Large or multi-category catalogue | Audit slug collisions and the WooCommerce 10.5 category behaviour first. |
If you go ahead, the sequence is unglamorous: export the existing URLs from the CMS, the server logs and Search Console; build an old-to-new mapping table; test on staging, checkout flow and cache and payment plugins included; back up; switch; purge the caches; submit the new sitemap. Then watch 404s and positions for months — regular indexing checks catch the pages that drop out before the revenue report does.
And faceted navigation?
Olivier asked a second question: which filter system for fifty categories and as many attributes? The subjects are linked, because filters generate thousands of parameterised URLs. The deciding criterion is not the feature list but control over indexing: choose which combinations are indexable — a category plus one high-demand attribute, say — and block the rest with a canonical or noindex. Check that before buying a licence.
Common questions
Can you remove /product/ from WooCommerce URLs without a plugin?
Not from the native settings. WooCommerce lets you rename the product, category and tag bases, but not empty them. Full removal needs custom code — a post_type_link filter plus rewrite rules — or a dedicated plugin; code has to be retested after every update.
Does removing the prefixes improve SEO?
The direct effect on rankings is marginal, and Google publishes no data linking URL length to better positions. The gains are readability and consistency with your navigation. On a shop that already ranks, the risk of a poor migration outweighs them.
What is Google's position on changing URLs?
Google states that 301 redirects do not cause a loss of PageRank, while warning that a temporary fluctuation in visibility is normal during a migration. It recommends keeping redirects for at least a year and avoiding chains, though Googlebot can follow ten hops.
Why does my shop report too many redirects after the change?
Two layers contradict each other: one rule sends the old URL to the new one, another — the canonical function, an SEO plugin, an .htaccess rule or a cache — sends it back. Keep one source of redirects, purge every cache, and test with curl -I for a single 301 followed by a 200.
Which plugin should I choose to manage WooCommerce permalinks?
Three were still maintained in 2026: Premmerce Permalink Manager, free for base removal with redirects in the premium bundle; Permalink Manager Pro, base removal and redirects from €49 a year; and Custom Permalinks for WooCommerce at €43 a year. Test on staging first.
Do I need the Search Console change of address tool?
No, not for a change of URL structure on the same domain — that tool is for domain moves. Submit an updated XML sitemap, watch the indexing report and the 404 errors, and track your main pages for several months.
