SHORT ANSWER
WordPress itself cannot import redirects, so the map goes into a plugin: Redirection (free), Yoast SEO Premium or Rank Math PRO each read a csv, or the rules go straight into .htaccess on an Apache host. All four want the same thing, one old path and one new path per line, and differ only in the header and in how a wildcard is written. The two-column file Silentfrog exports for Webflow is that list already; the work is a header change and a check after the import.
Which file do I start from?
In Silentfrog, pick wordpress · redirection plugin, wordpress · yoast seo premium, wordpress · rank math pro or apache · .htaccess under for in the export and the download is already this file: the plugin’s own header, one path pair per line, and every wildcard rule already written as the regex row the plugin understands. Pages that kept their url, rows still unmatched and unverified needs-review rows are left out of it, so nothing gets imported that nobody looked at (the two downloads). The rest of this page says what is in the file and how the import behaves, and it works just as well for a two-column csv of path pairs from anywhere else.
The generic csv next to it is the audit trail: absolute urls, confidence, match type, the unmatched rows with an empty target. Keep it with the project, do not import it.
site settings → publishing → 301 redirects, or the data api
the two export buttons — webflow csv and generic csv — next to the option that includes needs-review matches.
EXAMPLE
a project with 1 240 rows exports a redirects file of 380 lines. Those 380 are the redirects; the other 860 rows either did not move or were not decided.
Redirection (free)
Tools, Redirection, Import/Export. The importer reads comma-separated rows of source,target, with two optional columns after them: a regex flag (0 or 1) and the http code.
/ueber-uns,/unternehmen,0,301 /produkte/seitenschneider,/produkte/seitenschneider-vde,0,301 /blog/(.*),/magazin/$1,1,301
Sources are paths. Commas, not semicolons or tabs, or the import fails silently on every row. The importer reads every line as a rule, so if a redirect from source to target appears in the list afterwards, that was the header line: delete it. Very large files can hit the server’s memory or time limit; the plugin’s WP-CLI import command gets around that.
A wildcard row from Silentfrog, /blog/(.*),/magazin/%1, becomes a regex rule: /blog/(.*) as the source with the regex flag set to 1, and /magazin/$1 as the target. Redirection uses $1 where Webflow uses %1.
EXAMPLE
from a path-pair csv made elsewhere: delete the header, replace %1 with $1, add ,1,301 to the wildcard rows and ,0,301 to the rest, save as csv, import. Silentfrog’s redirection format is exactly that.
Yoast SEO Premium
SEO, Redirects, Import and Export, csv import. The first line must be Origin,Target,Type,Format, and every row carries all four fields:
Origin,Target,Type,Format /ueber-uns,/unternehmen,301,plain /produkte/seitenschneider,/produkte/seitenschneider-vde,301,plain ^/blog/(.*)$,/magazin/$1,301,regex
Format is lowercase plain or regex. A wildcard row becomes a regex row with $1; anchor it with ^ and $ so it does not also match /en/blog/….
Rank Math PRO
Rank Math SEO, Redirections, Import and Export. Csv import is a PRO feature. The headers are lowercase and case-sensitive; only source and destination are required.
source,destination,matching,type /ueber-uns,/unternehmen,exact,301 /produkte/seitenschneider,/produkte/seitenschneider-vde,exact,301 ^/blog/(.*)$,/magazin/$1,regex,301
matching is exact for ordinary rows and regex for a wildcard. Rank Math accepts full urls as sources too, but paths are the safer choice for the same reason as everywhere else.
Without a plugin: .htaccess
On Apache, WordPress already writes to .htaccess, and redirect lines above the WordPress block are applied before WordPress ever runs, which makes them the fastest option. One line per redirect:
Redirect 301 /ueber-uns /unternehmen Redirect 301 /produkte/seitenschneider /produkte/seitenschneider-vde RedirectMatch 301 ^/blog/(.*)$ /magazin/$1
Redirect matches a path prefix, so Redirect 301 /blog /magazin also catches /blog/anything and rewrites it to /magazin/anything. That is a feature when you want it and a trap when you do not; for an exact single page put the wildcard rows last and the exact rows first, or use RedirectMatch with anchors for everything. The conversion from the csv and the nginx equivalent are on the server rules page.
Keep the lines above # BEGIN WordPress; WordPress rewrites its own block and leaves the rest alone.
What was already there
A site that has been redirected before carries rules from the last time. Before importing, export what the plugin has and look for two things: a source in the old list that is also a source in the new one, where the new row should win, and an old target that is now itself a source in the new map, which is a chain. Flatten those so every old url reaches its final page in one hop.
EXAMPLE
the plugin has /old,/blog/post from 2022. The new file has /blog/post,/magazin/post. Change the old rule to /old,/magazin/post or the first url takes two hops.
After the import
- Clear every cache: the plugin’s, the page cache, the cdn. A redirect that works logged-in and 404s logged-out is a cache serving the old response.
- Crawl the old url list against the live site. Each url should answer 301 once and then 200. A 301 followed by another 301 is a chain; a 301 to a 404 is a target that does not exist.
- Open one wildcard url by hand, with a nested path, and check where it lands.
- Watch Search Console for the next weeks: pages with redirect up, not found flat.
In short
- WordPress core cannot import redirects; Redirection, Yoast Premium, Rank Math PRO or .htaccess can.
- Pick the plugin in the export and the file is ready; from any other csv, it is path pairs plus the plugin's header. The generic csv is the audit trail.
- Redirection: source,target,regex,code, no header, commas only. Yoast: Origin,Target,Type,Format. Rank Math: lowercase source,destination.
- A wildcard row becomes a regex rule with $1 instead of %1, anchored with ^ and $.
- Flatten the rules the site already had, clear the caches, and re-crawl the old urls.