Why Did WooCommerce Add a Number to My Product's URL Slug?
Why WordPress Forces Unique Slugs
Slugs form the actual URL path, and WordPress can't have two different pieces of content resolving to the identical URL — when a new product's automatically generated slug (from its title) matches something that already exists anywhere relevant in the site's URL structure, WordPress resolves the conflict automatically by appending a number, ensuring the new item still gets a valid, working URL rather than failing to publish.
Common Causes of a Numbered WooCommerce Slug
- Two products with very similar or identical names, generating the same default slug from their titles.
- A product name matching an existing page or post's slug, even if they're completely different types of content — slug uniqueness applies across content types in most default configurations.
- A previously deleted (but not fully purged) product or page still holding a slug in the trash, which can sometimes still cause a conflict depending on how thoroughly it was removed.
- Re-publishing a product after significant changes, if the system treats it as generating a new slug conflict against its own previous version in some edge cases.
How to Reclaim the Clean Slug
- Manually edit the product's slug to something distinct and more specific, rather than relying on the auto-generated, numbered version.
- Check whether the conflicting content (another page, post, or product) still needs its existing slug, or whether it could be adjusted instead if more appropriate.
- Set up a redirect if the numbered slug was already live and indexed, and you're now changing it to something cleaner.
Finding what is holding the clean slug
- Search for the plain slug. Look in Pages, Posts and Products, including the Trash and Drafts, for any item already using it. A trashed item still holds its slug until it is permanently deleted.
- Check the status counts. The links above each list show how many items are in Draft, Pending and Trash, which is where a forgotten duplicate usually hides.
- Edit the slug on the product itself. Use the permalink field under the title, or Quick Edit, and save. Once the conflicting item is removed or renamed, the clean slug is accepted.
If the numbered URL is already public
If the numbered address has been shared, linked or indexed, changing it leaves the old URL returning a 404 unless a redirect is added. Check that your redirect plugin, or WordPress itself, sends the old address to the new one, and update internal links where you can. A clean slug is only worth it if nothing is broken in the process.
Need help resolving URL structure conflicts across your catalog? See WooCommerce fixes.