Appearance
Migrate from Pretty Links
See how Pretty Links links, groups, clicks and settings map over, what does not come over, and what each import note means.
When you migrate from Pretty Links, each link the import can bring over becomes a short link. Its clicks come along when you tick Click history. Its old address opens it once Pretty Links is off and nothing else uses that address. This page shows how every part maps over, what doesn't come over, and what the notes mean.
Looking for a Pretty Links alternative? Link Manager Pro imports your Pretty Links links, their clicks when you tick Click history, and their old addresses, and the old addresses keep working.
Can you replace Pretty Links and keep your links working?
Yes. Pretty Links answered each link at yoursite.com/<slug>. The import makes a short link for it, for example yoursite.com/link/deal, and keeps /deal as one of its other addresses. After you turn Pretty Links off, /deal opens the short link. That holds as long as no page, redirect or other short link on your site uses that address.
The steps are the same for every plugin, so follow them on Migrate to Link Manager Pro. In short: back up, import, read the result, replace shortcodes, import again, then turn the old plugin off. You import under Link Manager › Settings › Migration: under Import from, choose Pretty Links. Pretty Links can be active or deactivated, as long as its data is still in your database.
What you can import from Pretty Links
The Pretty Links import offers seven items. Each one shows how many it found, and an item with nothing to import shows (0) and can't be ticked. Affiliates is the exception: it shows how many destination domains it found and can be ticked whenever it found any. The Short links count includes links that aren't imported, such as trashed ones.
| Item | What it becomes |
|---|---|
| Short links | One short link per Pretty Links link, with its old address kept |
| Groups | Categories with the same names, added to the imported links when you tick Groups together with Short links in the same run. Groups come from the prli_groups table that older Pretty Links sites have. Without that table, Groups shows (0) |
| Categories | Categories with the same names, added to the imported links |
| Tags | Tags with the same names, added to the imported links |
| Click history | Each recorded click, plus clicks Pretty Links only counted |
| Settings | Four Pretty Links settings, never ticked to start with (see below) |
| Affiliates | An affiliate for each destination domain you tick |
A category or tag that already exists with the same name is reused, not made twice. There's no item for keywords: Pretty Links keyword settings come over only as kept data (see below).
On the affiliates step, some domains are suggested. Their links were marked sponsored in Pretty Links, carry a parameter such as tag= or ref=, or use an address like partner.example.com.
How a Pretty Links link maps over
Each Pretty Links link keeps its slug, destination, created date and main options. What Link Manager Pro has no place for is stored with the link, but no screen shows it, and a note names the case.
| In Pretty Links | In Link Manager Pro |
|---|---|
| Slug | The same slug. A slug a short link can't carry, for example one with a / or over 64 characters, gets a new one, and the old address still works |
The address yoursite.com/<slug> | An other address of the short link, marked From Pretty Links |
| Target URL | Destination URL. A target with no scheme gets http:// added, and a target that starts with / gets your site's address |
| Redirect type 301, 302 or 307 | The same Redirect type |
| Cloaked, Pretty Bar, meta refresh or JavaScript | 302, with a note. A pixel link with a destination also comes in with 302. Any other type becomes 302 too |
| Nofollow and sponsored | The link's nofollow and sponsored ticks |
| Parameter forwarding | Forward query parameters on. A custom parameter structure forwards all parameters, with a note |
| Name | Name in the link report |
| Description | Note in the link report |
| Created date | The same Created date |
| Group, categories, tags | Categories and tags, when you tick those items |
Imported links start with auto-linking off. To see what came over for one link, open its report from Link Manager › Short Links. Link details shows the Created date, categories, name and note, and Other addresses lists the old Pretty Links address.

When a Pretty Links slug is already taken
If one of your short links already has an imported link's slug, your choice under If a slug already exists decides what happens.
- Keep existing short links (an imported link with the same slug gets a new one): if your link has the same destination, the two count as one link. Your link gets the old address and the clicks, and nothing else changes. Otherwise the Pretty Links link comes in under a new slug.
- Update a short link with the same slug and destination with the imported settings (its clicks are kept): only a short link with the same slug and the same destination takes the Pretty Links settings. Any other link with that slug is left alone, and the Pretty Links link comes in under a new slug. The updated link keeps its slug, clicks, created date and origin, so it isn't relabelled as imported. It gets the Pretty Links address. A note names the first 5 links whose destination changed.
WARNING
With the Update choice, a short link with the same Pretty Links slug and destination changes like this:
- Its Redirect type becomes the Pretty Links type (302 for a type Link Manager Pro doesn't have).
- Its link attributes become only nofollow and sponsored, as Pretty Links had them. noopener and noreferrer are cleared.
- Forward query parameters turns on or off as in Pretty Links.
- Its auto-linking and Priority stay as they are.
- Its Name and Note become the Pretty Links name and description, when Pretty Links has them.
- Imported groups, categories and tags are added to its own, when you tick those items. Yours stay.
- Its start and expiry dates stay, except that a link marked disabled on Pretty Links older than 4, or when its version can't be read, is switched off (expired).
One more case gets a new slug with either choice. When two Pretty Links links shared an address, the newer one gets a new slug. The address stays with the older link, as in Pretty Links.
How clicks come over from Pretty Links
Click history brings each recorded Pretty Links click onto its imported link. Each click keeps its date, country, referrer and browser. A click Pretty Links marked as the visitor's first counts toward Unique clicks.
- UTM parameters in the clicked address become the click's campaign data.
- Clicks Pretty Links marked as robots aren't imported. A note gives the count.
- Clicks Pretty Links only counted, with no row, are added to the link's all-time count, once per link. A note gives the total.
- IP addresses are stored the way your Anonymize IP addresses setting says at the time of the import. On a new site it's on, so imported IP addresses are shortened.
- Clicks of links that weren't imported, like trashed ones, are skipped.
A second import adds only clicks newer than the last one it imported for each link, so no click is counted twice.
Pretty Links settings that can come over
Four Pretty Links settings can come over. Settings shows how many of them would change yours. When the count is above 0, you can tick it, and it starts unticked. At 0 there is nothing to import. With WP-CLI, run wp link-manager-pro import --source=prettylinks --items=settings. It writes Pretty Links' values over yours where the table says so, including your Default redirect type.
| Pretty Links setting | Link Manager Pro setting | What the import does |
|---|---|---|
| Default redirect type | Default redirect type (Link Manager › Settings › Redirection, default 301) | Replaces yours with Pretty Links' 301, 302 or 307. It's the type new short links start with. Existing links keep theirs. Any other Pretty Links type is left out |
| Filtering robots | Ignore bots (Link Manager › Settings › Tracking, default on) | Turns it on when Pretty Links filtered robots. Never turns it off |
| Anonymizing IPs | Anonymize IP addresses (Tracking; on for a new site, off on a site that had Link Manager Pro before) | Turns it on when Pretty Links had it on. Never turns it off |
| Excluded IP addresses | Blocked IP addresses (Tracking) | Adds the Pretty Links IPs to your list, one per line, without duplicates |
A setting that already has the same value isn't written again. Anonymizing applies only to clicks stored after it's on. So if you want it, run the settings import before you import clicks, or turn it on yourself under Tracking.
What doesn't come over, and what the notes say
Some Pretty Links data has no place in Link Manager Pro. The result groups the notes by data type. A note about links gives a count and the first 5 links. The note about kept settings names the settings instead, and the click notes give counts only.
| Case | What the import does | What the note says, in short |
|---|---|---|
| Link in the Pretty Links trash | Not imported | links in the Pretty Links trash were not imported |
| PrettyPay payment link | Not imported | PrettyPay payment links were not imported (Link Manager Pro has no payment links) |
| Destination isn't a web address: empty (as on most pixel links), email or phone | Not imported | links were not imported because their destination is not a web address |
| Link with no slug | Not imported | Pretty Links links had no slug and were not imported |
| Cloaked, Pretty Bar, meta refresh or JavaScript redirect, or a pixel link with a destination | Imported with 302 | links used a redirect type Link Manager Pro doesn’t have and now redirect with 302 |
| Marked disabled, on a site with Pretty Links older than 4, or when its version can't be read | Imported switched off (expired) | links were switched off in Pretty Links and were imported switched off |
| Marked disabled, on a site with Pretty Links 4 or later | Imported working, because Pretty Links 4 served it | links were marked disabled by Pretty Links 3, but Pretty Links 4 kept them working |
| Click tracking turned off | Imported, and Link Manager Pro tracks its clicks | links had click tracking turned off in Pretty Links; Link Manager Pro tracks every link |
| Opens in a new window | Imported without it | links opened in a new window in Pretty Links; Link Manager Pro has no such link setting |
| Custom parameter structure | Forwards all parameters | links used a custom parameter structure; they now forward all parameters |
| Other per-link options, such as expiry, URL rotation, geo redirects or keywords | Stored with the link, not used and not shown | links have Pretty Links settings Link Manager Pro can’t use, then the setting names |
| Slug a short link can't carry | New slug, old address kept | links have a slug a short link can’t carry and were imported under new slugs |
Old address WordPress itself uses, such as /wp-admin/... | Link imported, address not kept | was not kept as an address: WordPress uses it, or it isn’t a valid web path |
What the notes call "kept with the link" is stored on that short link, cut to 2,000 characters per value. No screen in Link Manager Pro shows it, so you can't look it up there later. Before you turn Pretty Links off, write down any per-link settings you want to set up again.
Replace [prettylink] shortcodes
Link Manager Pro doesn't run the [prettylink] shortcode, so it shows as text once Pretty Links is off. Replace it while Pretty Links is still on.
When posts use it, Old shortcodes in your content appears on Link Manager › Settings › Migration. Review and replace lists each post with one example, Now and Becomes, before anything is saved. WordPress keeps a revision of each post only if revisions are on, and a revision limit can remove it (a limit of 1 at once), so back up first. Shortcodes in page-builder data are only counted: you replace those by hand. A [prettylink] with an id or a slug becomes a normal link to the imported short link. It keeps the shortcode's text, classes and target. Without text, it shows the link's Name, else its short link. A shortcode whose link wasn't imported is left as it is and listed. The full steps are on Replace old shortcodes.
Plain Pretty Links addresses in your posts, like /deal, need no change. They're other addresses of the imported short links now, unless a note says an address wasn't kept.
Import Pretty Links with WP-CLI
The WP-CLI source name for Pretty Links is prettylinks. This imports every item that has data, with the suggested affiliates:
bash
wp link-manager-pro import --source=prettylinksFor Pretty Links, --items takes links, groups, categories, tags, clicks, settings and affiliates. The default leaves out settings. This brings only links and clicks:
bash
wp link-manager-pro import --source=prettylinks --items=links,clicksEvery other option and its default is on Migrate to Link Manager Pro.
Get more out of it
A few steps before and after the import help your Pretty Links setup carry over.
- Set up per-link options again. The import doesn't use Pretty Links' expiry or geo options, and no screen shows them. Note them in Pretty Links before you turn it off. Then set an end date under Schedule & access › Expires in the link's edit dialog. Send visitors by country with a Routing rules rule on Country (Routing rules).
- Check old addresses all at once, then one by one. The Address conflicts tab under Short Links lists every link whose old address opens something else. For one link, its report shows the status under Other addresses. Opens this link means the address works. While Pretty Links is on, it reads Pretty Links answers it while it’s active. An orange status names what answers the address instead. Every status is explained on Other addresses and conflicts.
- Import the settings first. If you want Pretty Links' settings, import the settings before the clicks, so anonymizing applies to the imported clicks. Check your Default redirect type afterwards, because the run replaces it with Pretty Links' type.
If something goes wrong
- If Settings shows (0), then none of the four Pretty Links settings would change yours, so there is nothing to import.
- If an old Pretty Links address opens a page instead of its short link, then a page on your site uses that path. The page wins. Check the address's status in the link report and the Address conflicts tab under Short Links (Other addresses and conflicts).
- If a cloaked or Pretty Bar link now shows the destination's own address, then that's expected. It redirects with 302 now, and a note lists it.
- If a link you had disabled in Pretty Links still works, then your site ran Pretty Links 4, which served disabled links. The note names the first 5 of those links. Edit or delete the ones you don't want.
- If posts show
[prettylink]as text, then replace the shortcodes with Replace old shortcodes.
More fixes are on Troubleshooting.