Free & open source WordPress plugin

Clean URLs for your
WordPress campaigns

Turn ugly query strings into beautiful, campaign-ready slugs. No pages to create. No content to duplicate. Just a simple mapping.

Before

/shop/?product_cat=t-shirt&product_tag=disney&orderby=popularity

After

/lp/popular-disney-t-shirts/

Everything you need

No bloat. No config headaches. It just works.

🔗

Clean URL mapping

Map any combination of query parameters to a memorable, shareable slug.

Automatic 301 redirects

Old query string URLs are automatically redirected to the clean slug. SEO juice preserved.

📊

UTM passthrough

Tracking parameters (utm_source, fbclid, gclid) are preserved through redirects.

Zero frontend overhead

No CSS or JS added to your frontend. Pure server-side URL rewriting.

🛠

Works with any query var

Not just WooCommerce. Any WordPress taxonomy or query variable works out of the box.

🔒

Safe activate/deactivate

Your rules are preserved when you deactivate. Rewrite rules are cleaned up automatically.

How it works

See it in action

See it in action

1

Create a rule

Pick a slug and add the query parameters it should map to. The admin UI autocompletes your taxonomies.

2

Rewrite rules are registered

Query2Slug registers WordPress rewrite rules so your slug resolves to the right filtered page.

3

Use your clean URL

Share /lp/your-slug/ in campaigns. Old query URLs are automatically 301-redirected.

Free & open source

All features included. No limits, no upsells. Just install and go.

Get it on GitHub

FAQ

Does it require WooCommerce?

No. Query2Slug works with any WordPress taxonomy or query variable. WooCommerce is a common use case but not a dependency.

Will it slow down my site?

No. It adds zero CSS or JavaScript to the frontend. Rules are resolved server-side with a single database query, cached with WordPress object cache.

What happens if I deactivate the plugin?

Your rules are preserved in the database. Rewrite rules are cleaned up so no broken URLs remain. Reactivate anytime to restore your slugs.

Does it handle UTM parameters?

Yes. Tracking parameters like utm_source, utm_medium, fbclid, and gclid are preserved through redirects.