Skip to content
Gaurav TiwariDocs

How to Move from Pretty Links or ThirstyAffiliates

Updated October 19, 2026

Switching link plugins sounds risky for a simple reason. Hundreds of posts already link to /recommends/product/ or /product/, and if those addresses stop redirecting, every one of those clicks earns nothing.

To move from Pretty Links or ThirstyAffiliates without breaking anything, you do 2 jobs. You import the links from a CSV export, and you set GT Link Manager up so the old addresses still resolve. Your posts keep their links exactly as they are.

GT Link Manager is my free link manager for WordPress. Its importer has a Pretty Links preset and maps any other CSV by hand. It can also answer on paths with or without a prefix, which is what keeps old addresses alive.

I’ll cover both plugins below, because they use different address styles. The importer itself is documented in Import & Export in GT Link Manager.

Before You Start

  • A full backup of your site, or at least the database. You’ll switch the old plugin off near the end.
  • GT Link Manager installed and active, next to the old plugin for now.
  • An administrator account, because the address settings live under GT Links → Settings.
  • A CSV export from the old plugin. The next section covers where to find it.

Each plugin keeps its export in a different place.

Pretty Links: go to Pretty Links → Options → Tools and click Export Links to CSV. The file has columns such as id, slug, url, name, description, redirect_type, nofollow and sponsored.

ThirstyAffiliates: go to ThirstyAffiliates → Export CSV, choose all categories and click Export affiliate links. ThirstyAffiliates documents this export under its Pro add-on, so a free install may not show the screen. Its CSV uses headers such as Link Name, Destination URL, Slug and Categories.

Open the file in a spreadsheet before you import it. Two quick fixes save cleanup later:

  • Add a rel column with nofollow sponsored in every row. You’ll map it in step 2 of the import, so every link gets both values.
  • Keep one category per row. ThirstyAffiliates separates several categories with semicolons, and GT Link Manager would create one category named Gear;Deals. Keep the first one.

Save the file as CSV again. The importer takes files up to 5 MB, which holds thousands of links.

  1. Go to GT Links → Import / Export.
  2. Under Import (Step 1: Upload & Preview), choose your file in CSV File.
  3. Pick a Preset: Pretty Links for a Pretty Links file, Generic for a ThirstyAffiliates file.
  4. Click Preview CSV. The screen shows the first 5 rows as they sit in your file.
  5. Under Import (Step 2: Map Columns & Run), check each dropdown points at the right column:
    • Name to name or Link Name
    • URL to url or Destination URL
    • Slug to slug or Slug
    • Rel to the rel column you added
    • Category to Categories for ThirstyAffiliates, if you use them
    • Notes to description for Pretty Links
  6. Set Duplicate Slug Handling to Skip existing for a first run.
  7. Click Run Import.
GT Link Manager import screen with the Pretty Links preset selected before previewing the CSV file

The notice reports what happened, such as “Import complete. Imported: 412, Updated: 0, Skipped: 3.” Rows without a name or a destination are skipped. Categories that don’t exist yet are created for you.

Redirect types carry over when they’re 301, 302 or 307. Pretty Links types such as cloaked, pixel or meta refresh become your default redirect type from Settings, because GT Link Manager only sends real HTTP redirects.

Keep the Old Addresses Working

The import doesn’t touch your posts. They still link to the old addresses, so GT Link Manager has to answer on those addresses once the old plugin is gone.

From ThirstyAffiliates

ThirstyAffiliates uses a prefix, recommends by default. You have two ways to keep /recommends/product/ working:

  • Use the same prefix. Under GT Links → Settings, set Link prefix to recommends and save. Imported slugs then answer at the same addresses. This is the simplest route when all your links come from ThirstyAffiliates.
  • Keep go for new links and catch the old ones. Turn on Advanced redirects, then add one link with Link Mode set to Regex (pattern match), the pattern ^recommends/(.+)$ in Pattern, /go/$1 in Regex Replacement and your homepage address in Destination URL. A visitor on /recommends/standing-desk/ goes to /go/standing-desk/, which then redirects to the store.

The second route adds one extra hop per click, which costs a few milliseconds and keeps your new links tidy. Either way, change the prefix in the pattern if you had changed it in ThirstyAffiliates.

Pretty Links puts links at the root of your site, such as /standing-desk/, with no prefix. GT Link Manager calls these direct links.

  1. Under GT Links → Settings, tick Advanced redirects: “Allow prefix-free paths and regular expressions” and save.
  2. Before importing, add a link_mode column to your CSV with direct in every row.
  3. In step 2 of the import, map Link Mode to that column.

Each link then answers at /standing-desk/ just as it did before. Direct links can’t use paths that WordPress reserves, such as wp-admin, wp-json or feed.

Switch Off the Old Plugin

  1. Deactivate Pretty Links or ThirstyAffiliates. Don’t delete it yet.
  2. Go to Settings → Permalinks and click Save Changes once, so WordPress drops the old plugin’s rewrite rules.
  3. Test 5 old addresses from different posts, using the checks below.
  4. Once everything works for a week, delete the old plugin.

Check It Works

  • Count the links. GT Links → All Links shows a total. It should match your export, minus the skipped rows.
  • Test old addresses. Run curl -I https://yoursite.com/recommends/standing-desk/ and look for X-Redirect-By: GT Link Manager in the answer.
  • Test a post. Open an older post in a private window and click a few links.
  • Run Diagnostics. Under GT Links → Settings → Tools and diagnostics, Run Diagnostics checks the prefix, the tables and a live redirect of your newest link.

Common Messages

MessageWhat it meansFix
Choose a non-empty CSV file no larger than 5 MB.The file is empty or too bigSplit it into 2 files and import each
Choose a CSV file to import.The file isn’t a .csvSave it from the spreadsheet as CSV
CSV columns are invalid. Required: name and urlName or URL isn’t mappedMap Name and URL in step 2
Imported: 0, Skipped: 412Every slug already existsUse Overwrite existing or Auto-suffix slug
This path is reserved by WordPress and cannot be used for direct links.A direct link starts with a reserved pathRename that link and update its posts

What It Won’t Do

  • It doesn’t import click history. Old click counts stay in the old plugin. GT Link Manager starts counting from zero, if you turn counting on.
  • It doesn’t rewrite your posts. Keeping the old prefix or direct paths is what keeps them working.
  • It doesn’t copy plugin-specific features, such as Pretty Links parameter forwarding or ThirstyAffiliates autolinker keywords and image attachments.
  • It imports one category per link. Extra categories need a second pass with Set category.

With everything in one place, How to Change an Affiliate Link Everywhere with One Edit shows how to keep those links current.

Share

Was this helpful?

Still stuck? Open a support ticket