Branded short links that never touch your theme.

GT Link Manager keeps every link in its own indexed table and answers a /go/ request on init priority 0, before your theme, your page builder, or the rest of your plugins load. It’s free under GPL v2, with no premium tier, no account, and nothing waiting behind an upgrade prompt.

Version 1.8.0 · Requires WordPress 6.4 and PHP 8.0 · Tested to 7.1 · 100+ active installs

Current version
1.8.0
Active installs
100+
Paid tiers
0
Indexed lookup per redirect
1
Lessons in the free course
25

Click events hook out to whatever you already run. The plugin ships the hook, the developer reference ships the integration.

  • Google Analytics 4
  • Plausible
  • Fathom
  • Matomo
  • Simple Analytics
  • Zapier
  • Make
  • n8n

Pick the one that sounds like you

All three end at the same plugin. The difference is what you already have on the site and how much of it needs to survive the move.

Affiliate links and long URLs are scattered across your posts, and you want them on your own domain without a redirect plugin that drags on every hit.

Free

GPL v2, unlimited sites

  • A /go/ prefix you can rename site-wide or drop on individual links
  • 301, 302, and 307, chosen per link
  • nofollow, sponsored, and ugc controls
  • Categories with parent and child levels, plus free-form tags
  • A block editor button that inserts a managed link while you write
Install from WordPress.org

No account and no license key. Deactivating keeps every link where it is.

You already have hundreds of links in Pretty Links, LinkCentral, or a redirect plugin, and retyping them is not a plan.

Free

Import as many links as you have

  • Pretty Links and LinkCentral CSV presets
  • A generic preset that maps any other CSV column layout
  • A mapping preview before a single row is written
  • Export filtered links back out to CSV whenever you want
  • Direct and regex modes for paths that can’t carry a prefix
Follow the import lessons

You see the column mapping before the import runs, not after.

You would rather create and update links from a script, a workflow, or a Claude Code session than click through an admin screen 40 times.

Free

Full REST API included

  • REST endpoints for links and categories
  • Standard WordPress application password auth
  • Works with Claude Code, Codex, WP-MCP, and other MCP adapters
  • 18 documented hooks and filters
  • gtlm_before_redirect for your own click logging
Read the REST API guide

Standard WordPress authentication. Nothing extra to install or host.

A /go/ request never reaches your theme

Most link plugins store each redirect as a custom post type. A click on one of those loads WordPress, the theme, and the template stack before anything redirects. This one answers and exits first.

Request arrives

The plugin hooks init at priority 0, before most other plugins have run.

Prefix match

It parses the request URI and checks it against the prefix you configured.

Indexed lookup

The slug resolves against a UNIQUE-indexed column in the plugin’s own table.

Header and exit

It sends the redirect header and exits. No theme, no template, no main query.

Geolocation matching adds roughly 20 microseconds when a link uses it, and nothing measurable to the rest of the site. Since 1.8.0, a deleted or deactivated short link returns a real 404 instead of quietly serving your homepage under a hundred different URLs.

GT Link Manager All Links list table with branded URLs, link modes, redirect types, categories and click counts
Every link, its mode, redirect type, category, click count and status on one screen.

Everything here is in the free plugin

There’s no pro version, no add-on, and no redirect mode that unlocks later. What you download is the whole thing.

Branded URLs
Use /go/your-slug, rename the prefix site-wide, or drop it entirely on individual direct links.
301, 302, and 307
Permanent, temporary, or method-preserving, chosen per link rather than set once for the whole site.
Direct and regex modes
Handle prefix-free paths and pattern rules with capture groups, which is what replaces a separate redirect plugin.
Geolocation targeting
Send India to amazon.in and the US to amazon.com. The country comes from the header Cloudflare, CloudFront, Vercel, App Engine, or an nginx GeoIP module already sends, so there’s no database to install and no API call to wait on.
Optional click counting
Off by default. Turned on, it keeps 1 running total per link and nothing else: no IP address, no user agent, no referrer, no timestamp. The count is written after the redirect has already gone out.
SEO controls
Set nofollow, sponsored, and ugc per link. Redirects send an X-Robots-Tag: noindex header so the short URLs stay out of the index.
Categories, tags, and notes
Organize a large library with parent and child categories without adding a single row to your posts table.
List table with Quick Edit
Search, filter, sort, bulk-edit, deactivate, trash, restore, and undo from one screen, with a real confirmation after every bulk action.
CSV import and export
Pretty Links and LinkCentral presets, a generic mapper for everything else, and a preview of the column mapping before the import runs.
Block editor and REST API
Insert a managed link from the editor toolbar while writing, or create and update links programmatically from anything that speaks REST.

Worth installing, and when it isn’t

A free plugin still costs you an install, a settings pass, and a migration. Here’s where that trade pays and where it doesn’t.

Install it if

  • You run affiliate or branded links and want them on your own domain.
  • You have thousands of links and a redirect plugin that feels heavy on every hit.
  • You’re leaving Pretty Links, LinkCentral, or anything that exports a CSV.
  • You need country-based destinations and don’t want a GeoIP database on the server.
  • You’d rather create links from a script, a workflow, or an AI agent than an admin form.

Look elsewhere if

  • You want click charts. Counting stores 1 total per link, and there’s no analytics dashboard in the plugin.
  • You want bio-link or landing pages. This redirects, it doesn’t build pages.
  • You want split testing or link rotation. Neither is supported.
  • You’re on PHP below 8.0 or WordPress below 6.4.
  • Nothing in your stack sends a country header, which is what geolocation rules match on.

The whole workflow is 4 screens

Links, settings, import and export, categories. Since 1.8.0 these inherit the WordPress admin surface instead of painting over it, so your admin color scheme, high-contrast mode, and reduced-motion setting all still apply.

GT Link Manager link edit form with slug, destination URL, link mode selector and rel attribute controls
The branded URL previews as you type, with one-click copy.
GT Link Manager settings page showing base prefix, default redirect type, click counting and trash retention options
Base prefix, default redirect type, click counting, and trash retention.
GT Link Manager CSV import and export screen with Pretty Links and LinkCentral presets and a column mapping preview
Pick a preset, check the column mapping, then import.
GT Link Manager categories screen with parent and child link categories and their link counts
Categories nest, so a few hundred links stay findable.

Questions people ask before installing

Still stuck after these? The free training course walks through every screen in about 2 hours.

Is it really free, or does a pro version show up later?

Free, GPL v2, and that’s the whole plan. No premium tier, no add-ons, no upsell screen. Advanced redirects, geolocation rules, the REST API, CSV import and export, and the block editor integration are all in the plugin you download.

Can I import from Pretty Links or LinkCentral?

Yes. Go to GT Links, then Import / Export, pick the Pretty Links or LinkCentral preset, upload your CSV, and check the column mapping preview before you commit. Any other export works through the generic preset, where you map the columns yourself.

Does it track clicks?

There’s an optional click counter, off by default. Turned on, it keeps 1 running total per link, shown as a sortable column and included in CSV export, and stores nothing about the visitor.

For real analytics, hook gtlm_before_redirect and send events to GA4, Plausible, Fathom, Matomo, or Simple Analytics. What the plugin doesn’t have is a charting dashboard, and it isn’t getting one.

What happens to my links if I deactivate or delete the plugin?

Deactivating keeps everything. Deleting the plugin from the Plugins screen removes its database tables and options, so export to CSV first if you’re moving rather than pausing.

Do geolocation rules need a GeoIP database?

No. The country comes from a header your CDN already sends, so Cloudflare, CloudFront, Vercel, App Engine, and nginx or Apache GeoIP modules all work with no extra setup. If nothing in your stack sends one, you can supply your own detection through the gtlm_geo_country filter.

Can I manage links with the REST API or an AI tool?

Yes. The REST API covers creating, updating, and deleting links and categories, and it authenticates with a standard WordPress application password. It works with Claude Code, OpenAI Codex, WP-MCP, and other MCP adapters.

Move your first 10 links tonight

Install it, set your prefix, and import the CSV you already have. If it isn’t faster and tidier than what you’re running now, deactivate it and every link stays exactly where it is.

GPL v2 · No account · No license key · Source on GitHub