{"id":350245,"date":"2026-08-11T10:46:48","date_gmt":"2026-08-11T10:46:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/affkeeper\/"},"modified":"2026-08-11T21:00:50","modified_gmt":"2026-08-11T21:00:50","slug":"affkeeper","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/affkeeper\/","author":23544086,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.2","stable_tag":"1.0.2","tested":"7.0.4","requires":"6.2","requires_php":"7.4","requires_plugins":null,"header_name":"AffKeeper","header_author":"AffKeeper","header_description":"Affiliate links that never point to a dead product. Cloak and track links on your own domain \u2014 and get told when a product goes out of stock or a link breaks.","assets_banners_color":"3d3116","last_updated":"2026-08-11 21:00:50","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/affkeeper.com\/docs\/guides\/wordpress-plugin\/","header_author_uri":"https:\/\/affkeeper.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":59,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"affkeeper","date":"2026-08-11 20:01:50"},"1.0.2":{"tag":"1.0.2","author":"affkeeper","date":"2026-08-11 21:00:50"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3641783,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3641783,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3641808,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3641808,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3641941,"resolution":"1","location":"assets","locale":"","width":2400,"height":1500},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3641941,"resolution":"2","location":"assets","locale":"","width":2400,"height":1500},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3641941,"resolution":"3","location":"assets","locale":"","width":2400,"height":1500},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3641941,"resolution":"4","location":"assets","locale":"","width":2400,"height":1500},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3641941,"resolution":"5","location":"assets","locale":"","width":2400,"height":1500},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3641941,"resolution":"6","location":"assets","locale":"","width":2400,"height":1500}},"screenshots":{"1":"The Links screen in wp-admin \u2014 availability badges, click counts, filters and search.","2":"Add or edit a link \u2014 a clean slug on your own domain, monitoring and affiliate toggles.","3":"The AffKeeper dashboard \u2014 links that need a look, with the 30-day click trend.","4":"Per-link analytics in the panel \u2014 clicks by device, top referrers and history.","5":"Account-wide stats \u2014 countries, devices and referrers across all your links.","6":"The panel's Links list with live availability for every link."}},"plugin_section":[262246],"plugin_tags":[5362,6208,14279,5353,5530],"plugin_category":[35],"plugin_contributors":[275159],"plugin_business_model":[],"class_list":["post-350245","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-affiliate-links","plugin_tags-aliexpress","plugin_tags-broken-links","plugin_tags-link-cloaking","plugin_tags-url-shortener","plugin_category-advertising","plugin_contributors-affkeeper","plugin_committers-affkeeper"],"banners":{"banner":"https:\/\/ps.w.org\/affkeeper\/assets\/banner-772x250.png?rev=3641808","banner_2x":"https:\/\/ps.w.org\/affkeeper\/assets\/banner-1544x500.png?rev=3641808","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/affkeeper\/assets\/icon-128x128.png?rev=3641783","icon_2x":"https:\/\/ps.w.org\/affkeeper\/assets\/icon-256x256.png?rev=3641783","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-1.png?rev=3641941","caption":"The Links screen in wp-admin \u2014 availability badges, click counts, filters and search."},{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-2.png?rev=3641941","caption":"Add or edit a link \u2014 a clean slug on your own domain, monitoring and affiliate toggles."},{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-3.png?rev=3641941","caption":"The AffKeeper dashboard \u2014 links that need a look, with the 30-day click trend."},{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-4.png?rev=3641941","caption":"Per-link analytics in the panel \u2014 clicks by device, top referrers and history."},{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-5.png?rev=3641941","caption":"Account-wide stats \u2014 countries, devices and referrers across all your links."},{"src":"https:\/\/ps.w.org\/affkeeper\/assets\/screenshot-6.png?rev=3641941","caption":"The panel's Links list with live availability for every link."}],"raw_content":"<!--section=description-->\n<p>The problem with affiliate links: the product behind them can sell out or get delisted \u2014 and you\nkeep sending readers (and paid traffic) to a page nobody can buy from. AffKeeper watches your links\nso you find out before you lose the sale.<\/p>\n\n<p><strong>Works instantly, no account needed:<\/strong><\/p>\n\n<ul>\n<li>A full <strong>URL shortener<\/strong> on <strong>your own domain<\/strong> (<code>yoursite.com\/go\/product<\/code>) \u2014 clean short\nlinks that redirect locally and instantly, with click counting. The <code>\/go\/<\/code> prefix is configurable.<\/li>\n<li>Insert links with a shortcode: <code>[affkeeper slug=\"abc123\"]Buy now[\/affkeeper]<\/code> (add <code>domain=\"\u2026\"<\/code> when the same slug exists on more than one of your domains)<\/li>\n<li>Affiliate links render with <code>rel=\"nofollow sponsored\"<\/code> automatically (correct disclosure);\nplain redirects get <code>rel=\"nofollow\"<\/code>.<\/li>\n<li>A <strong>Links<\/strong> screen in wp-admin: search, filter, edit in place.<\/li>\n<\/ul>\n\n<p><strong>Connect a free AffKeeper account to add monitoring:<\/strong><\/p>\n\n<ul>\n<li><strong>Product availability<\/strong> \u2014 know when an AliExpress product goes <em>out of stock<\/em>, <em>low stock<\/em> or\ngets <em>removed<\/em>. Your first affiliate link is monitored out of the box; connect your own (free)\nAliExpress API keys to monitor all of them on your private API quota.<\/li>\n<li><strong>Broken-link checks<\/strong> \u2014 monitored redirect links are tested for 404\/410, server errors and\nunreachable hosts.<\/li>\n<li><strong>Email alerts<\/strong> the moment a monitored product becomes unbuyable \u2014 or a redirect breaks.<\/li>\n<li><strong>You choose what's monitored<\/strong> \u2014 a per-link \"Monitor in AffKeeper\" toggle. Local links are\nunlimited and free; only monitored ones use a plan slot. Affiliate links default to on.<\/li>\n<li><strong>Real analytics in your panel<\/strong> \u2014 click totals sync within seconds, plus referrer and device\nbreakdowns per click (and countries, when your server provides a geo header).<\/li>\n<li><strong>Auto-fallback<\/strong> for links hosted on AffKeeper domains \u2014 clicks go to a replacement product or\ncategory page while the original is unavailable, so the traffic still converts. (Links hosted on\nyour own site always redirect from your site, so they alert instead of rerouting.)<\/li>\n<li>One dashboard for links across all your sites, with clicks and history per your plan.<\/li>\n<li>Your local links sync to the account automatically \u2014 the redirect stays on your domain, so\nnothing in your posts ever breaks.<\/li>\n<\/ul>\n\n<p>A dashboard widget shows 30-day clicks and warns when links point to unavailable products; the\nLinks screen floats dead products to the top so the next action is obvious.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin communicates only with the AffKeeper service at https:\/\/affkeeper.com over its\nauthenticated REST API, and only after you enter an API key. What is transmitted:<\/p>\n\n<ul>\n<li>Your API key (authentication) and this site's hostname.<\/li>\n<li>For links you sync: their destination URLs, titles, slugs and short-link URLs.<\/li>\n<li>Click statistics: absolute totals and per-day counts for synced links.<\/li>\n<li>Per click of a synced link: the referrer URL and browser user-agent; when your server provides a\ngeo header (e.g. Cloudflare), the visitor's two-letter country code. The visitor's IP address\nitself is never transmitted.<\/li>\n<\/ul>\n\n<p>Read back: your links, their click counts and availability status. No data is sent anywhere else,\nand nothing at all is sent until you connect an account.<\/p>\n\n<p>Terms: https:\/\/affkeeper.com\/terms\/ \u2014 Privacy: https:\/\/affkeeper.com\/privacy\/<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/affkeeper<\/code> and activate it, or install it from the\nPlugins screen.<\/li>\n<li>Go to <strong>AffKeeper \u2192 Settings<\/strong>.<\/li>\n<li>Enter your panel URL and an API key (create one in the panel under Settings \u2192 API keys).<\/li>\n<li>Click <strong>Save &amp; connect<\/strong>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20affkeeper%20account%3F\"><h3>Do I need an AffKeeper account?<\/h3><\/dt>\n<dd><p>No. Short links, redirects and click counting work entirely on your own site, without any account.\nA free account adds monitoring: stock\/removal detection for affiliate products, broken-link checks\nand email alerts.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. Availability data is cached for a few minutes, so the front end doesn't call the API on every\npage load.<\/p><\/dd>\n<dt id=\"what%20marketplaces%20are%20supported%3F\"><h3>What marketplaces are supported?<\/h3><\/dt>\n<dd><p>AliExpress today (checked through the official AliExpress API). Your first affiliate link is\nmonitored on the house quota; your own free AliExpress API keys unlock monitoring for every link.\nMore marketplaces can be added on the service side without updating the plugin.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20links%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my links if I delete the plugin?<\/h3><\/dt>\n<dd><p>Uninstalling removes the plugin's settings and your API key. The local link table is kept on\npurpose \u2014 those slugs and destinations are your content; reinstalling picks them up again.<\/p><\/dd>\n<dt id=\"do%20my%20links%20stop%20working%20if%20i%20cancel%20or%20disconnect%3F\"><h3>Do my links stop working if I cancel or disconnect?<\/h3><\/dt>\n<dd><p>No. The redirects live on your own WordPress site and keep working no matter what \u2014 monitoring is\nan add-on, never a dependency.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>The plugin now speaks 20 languages \u2014 Spanish, Portuguese (Brazil), German, French, Italian, Dutch, Polish, Russian, Ukrainian, Turkish, Indonesian, Vietnamese, Thai, Japanese, Korean, Chinese (Simplified), Arabic, Hindi, Czech and Romanian. Your wp-admin language is picked up automatically.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Panel-hosted links are now editable right from the Links screen (destination, slug alias, affiliate flag) \u2014 the panel remains the place for variants, monitoring settings and full stats.<\/li>\n<li>Dashboard widget styles moved to wp_add_inline_style().<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release.<\/li>\n<li>Local short links on your own domain with click counting \u2014 works without an account.<\/li>\n<li><code>[affkeeper]<\/code> shortcode with automatic rel=\"sponsored\" \/ rel=\"nofollow\".<\/li>\n<li>Links admin screen: search, filters, sorting, pagination, availability and liveness badges.<\/li>\n<li>Connect an AffKeeper account: per-link monitoring toggle, stock and broken-link alerts.<\/li>\n<li>Two-way sync with the panel (destinations, slugs, click stats within seconds).<\/li>\n<li>Click analytics: referrer and device reporting; country via server geo headers \u2014 visitor IPs\nare never transmitted.<\/li>\n<li>Dashboard widget with 30-day clicks and attention alerts.<\/li>\n<\/ul>","raw_excerpt":"Affiliate &amp; redirect URL shortener on your own domain that never points to a dead product. Know when a product sells out or a link breaks.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/350245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=350245"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/affkeeper"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=350245"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=350245"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=350245"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=350245"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=350245"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=350245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}