How Webflow wildcard redirects work
Webflow redirects live in Site settings › Publishing › 301 redirects. A plain rule maps one old path to one new path. A wildcard rule uses a capture group, (.*), in the Old path and refers back to what it captured with %1 in the Redirect to path. With /news/(.*) → /blog/%1, /news/launch-notes lands on /blog/launch-notes. Every extra capture group becomes %2, %3 and so on, which is how date permalinks like /2023/05/14/post-name/ get reduced to just the slug.
Characters you must escape in the old path
This is the quirk that breaks most hand-written rules. In the Old path field, Webflow requires a % in front of each of these characters:
%%%-%&%*%(%)%=%_%+%?
Hyphens are the one that catches people, because nearly every WordPress slug has them: /case-studies/(.*) has to be entered as /case%-studies/(.*). Only the Old path is escaped; the Redirect to path is written normally. The generator does this for you.
Why /%postname%/ sites can’t use one wildcard
WordPress’s most common permalink setting puts posts at the root: /post-name/. Webflow CMS items always sit inside their collection folder, so every post moves to /blog/post-name. The tempting fix, /(.*) → /blog/%1, matches every URL on the new site too: your about and contact pages get sent to 404s under /blog, and /blog/post-name matches again and loops. Root posts need one rule per URL. Paste the list from your WordPress sitemap into the bulk mapper and it writes them.
Rule order, limits and the CSV import
- Webflow runs redirects in the order they were added, oldest first. Add specific one-to-one rules before broad wildcards.
- Webflow recommends staying around 1,000 rules or fewer. Use wildcards for predictable groups and one-to-one rules for the rest.
- Importing a CSV replaces every existing redirect. Export first, merge, then import.
- Redirects don’t apply to localized subfolders automatically:
/es/old-urlneeds its own rule. - A live page or CMS item at the old path wins over a redirect. Unpublish it or change its slug first.
After you publish
Open a handful of old URLs from each pattern in a private window and confirm each one lands on the right page in a single hop. Then crawl your full old-URL list against the live site: every URL should return a 200 or one 301, never a 404 or a chain. Keep an eye on the Pages report in Search Console for a few weeks.
The full step-by-step WordPress to Webflow migration guideThe 28-point Webflow migration checklist
Common questions
- How do wildcard redirects work in Webflow?
- Put a capture group (.*) in the Old path and reference it as %1 in the Redirect to path. /news/(.*) redirected to /blog/%1 sends /news/launch-notes to /blog/launch-notes. Each additional (.*) becomes %2, %3 and so on.
- Why do hyphens need a % in Webflow redirects?
- Webflow treats some characters in the Old path as special, so they have to be escaped with a % in front: %, -, &, *, (, ), =, _, + and ?. An old path of /case-studies/(.*) has to be written /case%-studies/(.*). The Redirect to path is never escaped.
- Can I redirect /%postname%/ WordPress posts with one wildcard?
- No. A rule like /(.*) to /blog/%1 matches every path on the new site, so /about and /contact would be sent to 404s under /blog, and /blog/post-name would match again and loop. Root-level posts need one redirect per URL, which the bulk mapper generates.
- Does importing a redirect CSV keep my existing Webflow redirects?
- No. A CSV import replaces every existing redirect on the site. Export your current redirects first, merge them with the generated rules, then import the combined file and publish.