WordPress plugin profile

GT Link Manager

Fast, free branded link manager with custom database tables, early redirects, CSV import/export, and block editor integration.

Version1.8.1
Active installs100
Rating5.0 / 5
Tested toWP 7.1

About this plugin

GT Link Manager is a 100% free high-performance branded link manager for WordPress, no upsells, no premium tiers, no paywalls. It stores links in custom database tables (not custom post types), resolves redirects early on init , and keeps your site fast, even with thousands of links. Your links follow a clean URL pattern: yoursite.com/go/your-slug (the prefix is configurable and can even be removed on individual links). Official Page & Documentation | Free Training Course | REST API & AI Tools Guide Why GT Link Manager? A branded link is a redirect with a job: it has to resolve fast, survive a thousand siblings, and never become the slowest thing on the page. GT Link Manager stores links in custom database tables , not custom post types. It intercepts the request on init at priority 0, looks up the slug in a UNIQUE-indexed column, sends the redirect header, and exits. No theme loading. No template stack. No post query. Storing links as custom post types means a redirect wakes up more of WordPress than a redirect needs. Custom tables keep the resolution path short, and it stays short whether you have 20 links or 2,000. Key Features Fast direct redirects. Resolves links on init (priority 0) via direct DB lookup, no CPT overhead 301, 302, and 307 redirects. Choose the right redirect type for SEO, temporary, or method-preserving redirects Rel attribute controls. Set nofollow , sponsored , and ugc per link for proper SEO attribution Noindex support. Sends X-Robots-Tag: noindex header to prevent search engines from indexing redirect URLs Categories and tags. Organize links into categories with parent/child hierarchy and free-form tags Full admin list table. Search, filter by category/status, sort by any column, and perform bulk actions Quick Edit. Update URL, slug, redirect type, rel, category, and status inline without leaving the list Activate / Deactivate. Disable a link without deleting it; inactive links stop redirecting but stay in the database Trash and restore. Soft-delete links to trash with the option to restore or permanently delete CSV import and export. Import links from CSV with column mapping preview, or export filtered links; includes LinkCentral and Pretty Links compatible presets, supports any CSV though as it allows you to map fields manually. Block editor integration. A toolbar button lets you search your links and insert them directly into post content Branded URL preview. See the full branded URL as you type, with one-click copy Normal and Regex Redirects supported too. Don’t want to use a prefix like /go/ ? Sure thing. Use the GT Link Manager as an alternative to Rank Math Redirections, Yoast Redirects, Redirection plugin etc. Tested to be faster than these top tools. Geolocation targeting. Send visitors from different countries to different destinations on a per-link basis (e.g. India to amazon.in, the US to amazon.com). The country comes from a header your CDN already sends, whether that is Cloudflare, CloudFront, Vercel, App Engine, or an nginx/Apache GeoIP module, so there is no GeoIP database to install, no external API call, and no added latency . Adds roughly 20 microseconds to a geo-enabled redirect and nothing measurable to the rest. Click counting. An optional per-link counter, off by default. Turn it on and each link keeps a running total, shown as a sortable Clicks column and included in CSV export Click tracking integrations. For per-visit analytics, hook gtlm_before_redirect and send events to GA4, Plausible, Fathom, Matomo, or Simple Analytics Developer-friendly. Actions and filters for redirect interception, URL modification, capability control, cache TTL, and more Developer Hooks GT Link Manager provides a comprehensive set of hooks for customization: gtlm_before_redirect , action fired before redirect (use for click tracking or logging) gtlm_redirect_url , filter to modify the destination URL gtlm_redirect_code , filter to modify the HTTP status code gtlm_rel_attributes , filter to modify rel attribute values gtlm_headers , filter to modify redirect response headers gtlm_prefix , filter to override the URL prefix gtlm_capabilities , filter to override the required user capability gtlm_cache_ttl , filter to set object cache TTL for link lookups gtlm_geo_country , filter the detected country code (plug in any detection method you like) gtlm_geo_sources , filter the list of request variables checked for a country gtlm_geo_country_groups , filter country groups usable in rules (ships with EU ) gtlm_geo_matched_rule , filter the resolved geo rule before the redirect is sent gtlm_geo_blocked , action fired when a visitor is blocked by a geo rule’s 404 fallback gtlm_link_not_found , action fired when a prefixed link cannot be resolved and a 404 is sent gtlm_404_on_missing_link , filter to disable the 404 for unresolved prefixed links and fall through to WordPress instead gtlm_trash_purged , action fired after trashed links are automatically purged, with the count and retention window gtlm_count_click , filter to skip counting a particular click (exclude logged-in editors, add bot filtering) gtlm_click_recorded , action fired after a click has been counted Click Counting Click counting is off when you install the plugin, and that default is deliberate. With it off, GT Link Manager logs nothing at all about a request, and the privacy statement it registers under Settings > Privacy says exactly that. Turn it on from GT Links > Settings and each link starts keeping one number: how many times it has been followed. That is the whole record. What it stores per click: nothing about the visitor no IP address no user agent no referrer no timestamp A single running total per link cannot be tied back to a person, a session, or a place, which is why enabling it does not drag your site into the analytics-consent conversation. The count is written after the redirect has already been sent to the browser, using fastcgi_finish_request() where the host supports it. On a test install without that function, which is the slower of the 2 paths, a redirect measured 9.0ms with counting on against 9.1ms with it off. Where the number shows up: a sortable Clicks column in the links table, hidden until you switch tracking on a Reset Clicks row action for a single link the total_clicks field in the REST API, read-only a total_clicks column in CSV export Use gtlm_count_click to skip clicks you do not want counted, such as your own logged-in visits. Counting is intentionally shallow. It answers “which of my links get used” and nothing else. Per-visit data, referrers, countries, and time series belong in a real analytics tool, and the Developer Reference has step-by-step guides for wiring gtlm_before_redirect into GA4, Plausible, Fathom, Matomo, Simple Analytics, or a click log table of your own. Free Training Course The GT Link Manager Training is a free course covering installation through developer integrations. Most lessons run 3 to 5 minutes, so you can read the 1 you need instead of the whole thing. Straight to the lesson for a specific feature: Getting Started covers the admin screens and your first link Managing Links covers editing, quick edit, status, and trash Link Categories covers organizing a large library Settings and Configuration covers the prefix, defaults, and advanced modes The Redirect System covers 301, 302, 307, and how resolution works Block Editor Integration covers the GT Link toolbar button and the Button block Import and Export covers the Pretty Links and LinkCentral presets and column mapping Geolocation Targeting covers per-country rules and CDN header detection REST API Reference covers every endpoint and its arguments Hooks and Filters covers all the extension points Troubleshooting covers redirects that do not fire and slugs that collide Source and Issue Tracker GT Link Manager is developed in the open. The full source, including the block editor code that ships compiled in the plugin, is on GitHub: Repository for the code and release history Issues for bugs and feature requests Releases for changelogs and downloadable builds A bug report with your WordPress version, PHP version, and the slug that misbehaved is usually enough to reproduce it. Support Support runs through the WordPress.org support forum for this plugin. That is the fastest route for every kind of problem, and it is the one to use first. Post there and the answer stays public, so the next person with the same redirect loop finds it without asking again. What helps a thread get solved on the first reply: your WordPress and PHP versions the link slug and the prefix you configured what you expected the redirect to do, and what it actually did whether a CDN or page cache sits in front of the site For a suspected bug in the code itself, GitHub Issues works too, and a security report should go to the maintainer privately rather than into a public thread. What Makes GT Link Manager Stand Out Plenty of plugins will shorten a URL for you. These are the things this one does that shaped how it was built. Everything is free. Geolocation targeting, the full REST API, CSV import and export, regex and prefix-free redirects, the block editor tools. There is no Pro tier holding a feature back, no upsell notice in the admin, no telemetry, and no account to create. Nothing here is a trial. Redirects resolve before WordPress wakes up. The lookup runs on init at priority 0, against a UNIQUE-indexed slug column in a custom table. Match found, header sent, exit. No theme, no template hierarchy, no post query, and no slowdown as the library grows. Dead links return a real 404. A trashed or deactivated link stops resolving and says so with the correct status code. It does not quietly serve your front page at HTTP 200, which is what turns a retired affiliate link into duplicate home-page content in a search index. Geolocation costs nothing when you do not use it, and no database when you do. Country detection reads a header your CDN already attaches, so there is no GeoIP file to install or keep updated and no external service in the request path. Links that do not opt in never trigger detection at all. The REST API covers the whole link lifecycle. Create, read, update, trash, restore, and bulk-categorise, with a self-describing schema. That makes the plugin scriptable, and it is why AI tooling can manage links without a browser session. Click counting stores a number, not a person. Turn it on and each link keeps a running total. No IP address, no user agent, no referrer, no timestamp. The write happens after the redirect has already gone out. Your links stay yours. CSV import reads other plugins’ exports so you can move in, and CSV export gives you everything back, geo rules included, so you can move out. Uninstall removes only what you tell it to remove. Honest limits, because they matter more than the list above: the click counter answers “which links get used” and nothing else. Per-visit detail, referrers, and time series need a real analytics tool, and the hooks are there for it country detection is only as trustworthy as the CDN in front of it. A forged header on an origin with nothing proxying it is still a forged header there is no automatic keyword linking. Links go where you put them it is a young plugin, and a young plugin has seen fewer edge cases than an old one Analytics & Advanced Integrations The Developer Reference includes step-by-step integration guides for: Analytics. Google Analytics 4 (GA4), Plausible Analytics, Fathom Analytics, Matomo, and Simple Analytics Tracking. Custom click logging to a database table, dashboard widget, and UTM parameter passthrough Automation. Webhook notifications for Zapier, Make, and n8n Advanced redirects. Role-based redirects (route by user role) and geo-based redirects (route by location) Customization. Custom response headers, hooks and filters reference REST API & AI Tools GT Link Manager has a full REST API that works with AI tools for programmatic link management. The REST API & AI Tools Guide covers authentication setup, all available endpoints, and integration with AI platforms including Claude Code, OpenAI Codex, WP-MCP, Novamira, Claudeus WordPress MCP, and WordPress MCP Adapter. Source Code The block editor assets (blocks/link-inserter/build/) are compiled from the source at blocks/link-inserter/src/ using @wordpress/scripts. The full source code is available in this plugin and on GitHub at https://github.com/wpgaurav/gt-link-manager. To build from source: cd blocks/link-inserter && npm install && npm run build