[{"data":1,"prerenderedAt":891},["ShallowReactive",2],{"blog-cloak-affiliate-links-en":3,"blog-ad-banners-en":863},{"id":4,"title":5,"excerpt":6,"content":7,"coverImage":804,"meta":812,"site":816,"status":837,"slug":838,"author":839,"category":849,"publishDate":858,"featured":53,"updatedAt":859,"createdAt":858,"contentHtml":860,"previewUrl":861,"localeSlugs":862},510,"How to Cloak Affiliate Links: WordPress Plugins, No-Website Methods, and Where the Line Is (2026)","Cloaking affiliate links in WordPress, or without a website at all: how each route works, what to configure, and the specific practices that turn a routine redirect into a policy violation.",{"root":8},{"children":9,"direction":18,"format":15,"indent":13,"type":803,"version":17},[10,21,35,39,67,72,76,91,109,113,117,121,156,164,168,172,193,197,252,258,262,266,286,290,294,354,358,382,386,390,396,402,408,414,427,431,435,471,489,493,710,717,721,748,752,756,761,765,769,776,780,787,791,795],{"children":11,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":20},[12],{"detail":13,"format":13,"mode":14,"style":15,"text":5,"type":16,"version":17},0,"normal","","text",1,null,"heading","h1",{"children":22,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[23,25,28,30,32],{"detail":13,"format":13,"mode":14,"style":15,"text":24,"type":16,"version":17},"Two versions of the same question come up constantly: ",{"detail":13,"format":26,"mode":14,"style":15,"text":27,"type":16,"version":17},2,"how do I cloak affiliate links in WordPress",{"detail":13,"format":13,"mode":14,"style":15,"text":29,"type":16,"version":17},", and ",{"detail":13,"format":26,"mode":14,"style":15,"text":31,"type":16,"version":17},"how do I cloak an affiliate link without a website at all",{"detail":13,"format":13,"mode":14,"style":15,"text":33,"type":16,"version":17},". Both are asking for the same outcome — a short, branded, trackable link that replaces a long tracking URL — and both sit next to a compliance line that is easy to cross without noticing.","paragraph",{"children":36,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[37],{"detail":13,"format":13,"mode":14,"style":15,"text":38,"type":16,"version":17},"This guide covers the WordPress route, the no-website routes, what each one actually does under the hood, and the specific practices that turn a normal marketing technique into a policy violation.",{"children":40,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[41,43,45,56,58,65],{"detail":13,"format":17,"mode":14,"style":15,"text":42,"type":16,"version":17},"Scope.",{"detail":13,"format":13,"mode":14,"style":15,"text":44,"type":16,"version":17}," This article is about setup: cloaking affiliate links in WordPress, or without a website. If you are comparing tools feature by feature, see ",{"children":46,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":51,"id":55},[47],{"detail":13,"format":13,"mode":14,"style":15,"text":48,"type":16,"version":17},"affiliate link cloaking software compared","link",3,{"linkType":52,"newTab":53,"url":54},"custom",false,"/resources/blog/affiliate-link-cloaking-software/","e0d2c85175064494994629e3",{"detail":13,"format":13,"mode":14,"style":15,"text":57,"type":16,"version":17},"; if you want to know how networks and ad platforms detect cloaked links, see ",{"children":59,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":62,"id":64},[60],{"detail":13,"format":13,"mode":14,"style":15,"text":61,"type":16,"version":17},"how affiliate de-cloaking works",{"linkType":52,"newTab":53,"url":63},"/resources/blog/affiliate-de-cloaking/","cb2ad0c5df2798474e541956",{"detail":13,"format":13,"mode":14,"style":15,"text":66,"type":16,"version":17},".",{"children":68,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[69],{"detail":13,"format":13,"mode":14,"style":15,"text":70,"type":16,"version":17},"First: two different things share this name","h2",{"children":73,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[74],{"detail":13,"format":13,"mode":14,"style":15,"text":75,"type":16,"version":17},"The word \"cloaking\" carries two unrelated meanings in affiliate marketing, and conflating them is the single most common source of trouble.",{"children":77,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[78,80,82,85,87,89],{"detail":13,"format":17,"mode":14,"style":15,"text":79,"type":16,"version":17},"Link cloaking",{"detail":13,"format":13,"mode":14,"style":15,"text":81,"type":16,"version":17}," means replacing ",{"detail":13,"format":83,"mode":14,"style":15,"text":84,"type":16,"version":17},16,"https://merchant.com/?aff_id=1234&campaign=xyz",{"detail":13,"format":13,"mode":14,"style":15,"text":86,"type":16,"version":17}," with ",{"detail":13,"format":83,"mode":14,"style":15,"text":88,"type":16,"version":17},"https://yoursite.com/go/product",{"detail":13,"format":13,"mode":14,"style":15,"text":90,"type":16,"version":17},". The destination is unchanged. The redirect is a plain 301 or 302. Everyone — merchant, network, visitor, and platform — ends up at the same place. This is standard practice and is not a policy violation anywhere.",{"children":92,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[93,95,97,99,101,108],{"detail":13,"format":17,"mode":14,"style":15,"text":94,"type":16,"version":17},"Content cloaking",{"detail":13,"format":13,"mode":14,"style":15,"text":96,"type":16,"version":17}," means showing a reviewer or crawler one page and sending real traffic somewhere else. Same URL, different destinations depending on who is asking. This ",{"detail":13,"format":26,"mode":14,"style":15,"text":98,"type":16,"version":17},"is",{"detail":13,"format":13,"mode":14,"style":15,"text":100,"type":16,"version":17}," a policy violation on search and ad platforms, and it is what gets accounts banned. We cover the mechanics in ",{"children":102,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":105,"id":107},[103],{"detail":13,"format":13,"mode":14,"style":15,"text":104,"type":16,"version":17},"Content Cloaking Explained",{"linkType":52,"newTab":53,"url":106},"/resources/blog/content-cloaking/","6a8afbfae9037c00c8b1e8cb",{"detail":13,"format":13,"mode":14,"style":15,"text":66,"type":16,"version":17},{"children":110,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[111],{"detail":13,"format":13,"mode":14,"style":15,"text":112,"type":16,"version":17},"Everything below is about the first one. If a tool offers to \"show the affiliate network a different landing page than your users see,\" that is the second one wearing the first one's name.",{"children":114,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[115],{"detail":13,"format":13,"mode":14,"style":15,"text":116,"type":16,"version":17},"Why anyone bothers cloaking affiliate links",{"children":118,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[119],{"detail":13,"format":13,"mode":14,"style":15,"text":120,"type":16,"version":17},"Four reasons, in rough order of how often they are the real motive:",{"children":122,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":154,"start":17,"tag":155},[123,134,140,146],{"children":124,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[125,127,129,131],{"detail":13,"format":17,"mode":14,"style":15,"text":126,"type":16,"version":17},"Aesthetics and trust.",{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17}," ",{"detail":13,"format":83,"mode":14,"style":15,"text":130,"type":16,"version":17},"yoursite.com/go/hosting",{"detail":13,"format":13,"mode":14,"style":15,"text":132,"type":16,"version":17}," reads better than a 120-character parameter string and gets clicked more often, especially in email and on social.","listitem",{"children":135,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[136,138],{"detail":13,"format":17,"mode":14,"style":15,"text":137,"type":16,"version":17},"Link management.",{"detail":13,"format":13,"mode":14,"style":15,"text":139,"type":16,"version":17}," When a merchant changes their tracking URL structure, you edit one redirect rule instead of every post you have ever published.",{"children":141,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[142,144],{"detail":13,"format":17,"mode":14,"style":15,"text":143,"type":16,"version":17},"Click tracking.",{"detail":13,"format":13,"mode":14,"style":15,"text":145,"type":16,"version":17}," A redirect you control is a place to count clicks, which affiliate dashboards often report late or incompletely.",{"children":147,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[148,150],{"detail":13,"format":17,"mode":14,"style":15,"text":149,"type":16,"version":17},"Survivability.",{"detail":13,"format":13,"mode":14,"style":15,"text":151,"type":16,"version":17}," Some platforms strip or block raw affiliate parameters; a branded redirect passes where the raw URL does not.",4,"list","number","ol",{"children":157,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[158,160,162],{"detail":13,"format":13,"mode":14,"style":15,"text":159,"type":16,"version":17},"Reason four is where teams start drifting. Using a redirect because raw parameters look ugly is fine. Using one specifically because a platform has ",{"detail":13,"format":26,"mode":14,"style":15,"text":161,"type":16,"version":17},"decided to block",{"detail":13,"format":13,"mode":14,"style":15,"text":163,"type":16,"version":17}," that merchant is circumventing an enforcement decision — different thing entirely, and it is treated as such.",{"children":165,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[166],{"detail":13,"format":13,"mode":14,"style":15,"text":167,"type":16,"version":17},"The WordPress route",{"children":169,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[170],{"detail":13,"format":13,"mode":14,"style":15,"text":171,"type":16,"version":17},"WordPress has the most mature tooling here, and the approach is the same across every plugin: register a virtual path under your domain, map it to a destination, issue a redirect.",{"children":173,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[174,176,178,180,182,184,185,187,189,191],{"detail":13,"format":17,"mode":14,"style":15,"text":175,"type":16,"version":17},"How the plugins work.",{"detail":13,"format":13,"mode":14,"style":15,"text":177,"type":16,"version":17}," They hook WordPress's rewrite rules to claim a prefix (",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},"/go/",{"detail":13,"format":13,"mode":14,"style":15,"text":181,"type":16,"version":17},", ",{"detail":13,"format":83,"mode":14,"style":15,"text":183,"type":16,"version":17},"/recommends/",{"detail":13,"format":13,"mode":14,"style":15,"text":181,"type":16,"version":17},{"detail":13,"format":83,"mode":14,"style":15,"text":186,"type":16,"version":17},"/out/",{"detail":13,"format":13,"mode":14,"style":15,"text":188,"type":16,"version":17},"), store a slug-to-destination map, and on request issue a 301 or 302 with the affiliate parameters attached. Most add a click counter and a ",{"detail":13,"format":83,"mode":14,"style":15,"text":190,"type":16,"version":17},"rel=\"nofollow sponsored\"",{"detail":13,"format":13,"mode":14,"style":15,"text":192,"type":16,"version":17}," helper for inserted links.",{"children":194,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[195],{"detail":13,"format":17,"mode":14,"style":15,"text":196,"type":16,"version":17},"What to configure, regardless of which plugin you pick:",{"children":198,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":250,"start":17,"tag":251},[199,210,221,233,239],{"children":200,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[201,203,204,205,207,208],{"detail":13,"format":17,"mode":14,"style":15,"text":202,"type":16,"version":17},"Use a clean prefix.",{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17},{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":206,"type":16,"version":17}," and ",{"detail":13,"format":83,"mode":14,"style":15,"text":183,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":209,"type":16,"version":17}," are conventional. Avoid anything that reads as evasive.",{"children":211,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[212,214,217,219],{"detail":13,"format":17,"mode":14,"style":15,"text":213,"type":16,"version":17},"Add ",{"detail":13,"format":215,"mode":14,"style":15,"text":216,"type":16,"version":17},17,"rel=\"sponsored nofollow\"",{"detail":13,"format":17,"mode":14,"style":15,"text":218,"type":16,"version":17}," on the anchor.",{"detail":13,"format":13,"mode":14,"style":15,"text":220,"type":16,"version":17}," This is the disclosure signal search engines actually consume, and it is required by Google's link spam policy for paid or affiliate links. Most plugins do it automatically; verify rather than assume.",{"children":222,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[223,225,227,228,229,231],{"detail":13,"format":17,"mode":14,"style":15,"text":224,"type":16,"version":17},"Block the prefix in ",{"detail":13,"format":215,"mode":14,"style":15,"text":226,"type":16,"version":17},"robots.txt",{"detail":13,"format":17,"mode":14,"style":15,"text":66,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17},{"detail":13,"format":83,"mode":14,"style":15,"text":230,"type":16,"version":17},"Disallow: /go/",{"detail":13,"format":13,"mode":14,"style":15,"text":232,"type":16,"version":17}," keeps crawlers out of redirect endpoints that have no independent content value.",{"children":234,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[235,237],{"detail":13,"format":17,"mode":14,"style":15,"text":236,"type":16,"version":17},"Choose 301 vs 302 deliberately.",{"detail":13,"format":13,"mode":14,"style":15,"text":238,"type":16,"version":17}," 302 (temporary) is the safer default for affiliate redirects, because destinations change and you do not want the redirect permanently cached.",{"children":240,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":249},[241,243,245,247],{"detail":13,"format":17,"mode":14,"style":15,"text":242,"type":16,"version":17},"Keep a disclosure on the page itself.",{"detail":13,"format":13,"mode":14,"style":15,"text":244,"type":16,"version":17}," Plugin-level ",{"detail":13,"format":83,"mode":14,"style":15,"text":246,"type":16,"version":17},"nofollow",{"detail":13,"format":13,"mode":14,"style":15,"text":248,"type":16,"version":17}," handles the crawler. FTC-style disclosure for the reader is a separate obligation and lives in the visible copy.",5,"bullet","ul",{"children":253,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[254,256],{"detail":13,"format":17,"mode":14,"style":15,"text":255,"type":16,"version":17},"Where WordPress setups go wrong.",{"detail":13,"format":13,"mode":14,"style":15,"text":257,"type":16,"version":17}," The two recurring failures are a plugin conflict with a caching layer — the cache serves the redirect page instead of executing the redirect, and clicks silently stop tracking — and prefix collisions with an existing page slug. Both are worth testing with a real click from an incognito window rather than trusting the plugin's own click counter.",{"children":259,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[260],{"detail":13,"format":13,"mode":14,"style":15,"text":261,"type":16,"version":17},"WordPress link cloaking plugin: setup step by step",{"children":263,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[264],{"detail":13,"format":13,"mode":14,"style":15,"text":265,"type":16,"version":17},"WordPress link cloaking plugins come in two types, and it helps to know which one you are installing before you configure anything.",{"children":267,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":250,"start":17,"tag":251},[268,277],{"children":269,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[270,272,274,275],{"detail":13,"format":17,"mode":14,"style":15,"text":271,"type":16,"version":17},"Redirect and short-link managers.",{"detail":13,"format":13,"mode":14,"style":15,"text":273,"type":16,"version":17}," A general tool such as Redirection is built to manage 301 redirects and log 404 errors across a whole site. It can serve a ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":276,"type":16,"version":17}," path, but it is not built around affiliate links, so link insertion, attributes and click reporting are left to you.",{"children":278,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[279,281,283,284],{"detail":13,"format":17,"mode":14,"style":15,"text":280,"type":16,"version":17},"Dedicated affiliate link managers.",{"detail":13,"format":13,"mode":14,"style":15,"text":282,"type":16,"version":17}," PrettyLinks and ThirstyAffiliates store each affiliate link as its own record with a slug, a destination and a redirect type, and both list 301, 302 and 307 redirects on their WordPress.org plugin pages. ThirstyAffiliates uses a ",{"detail":13,"format":83,"mode":14,"style":15,"text":183,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":285,"type":16,"version":17}," prefix by default; PrettyLinks logs each click and supports CSV link import.",{"children":287,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[288],{"detail":13,"format":13,"mode":14,"style":15,"text":289,"type":16,"version":17},"If affiliate links are most of your outbound links, use a dedicated manager. If you have a handful and already run a redirect manager, that is enough.",{"children":291,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[292],{"detail":13,"format":17,"mode":14,"style":15,"text":293,"type":16,"version":17},"Setup, in order:",{"children":295,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":154,"start":17,"tag":155},[296,308,317,325,335,344],{"children":297,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[298,300,302,303,305,306],{"detail":13,"format":17,"mode":14,"style":15,"text":299,"type":16,"version":17},"Pick one prefix and keep it.",{"detail":13,"format":13,"mode":14,"style":15,"text":301,"type":16,"version":17}," Set ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":304,"type":16,"version":17}," or ",{"detail":13,"format":83,"mode":14,"style":15,"text":183,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":307,"type":16,"version":17}," once in the plugin settings and confirm no existing page or post already uses that slug. Changing the prefix later can break links you have already shared outside the site, in emails, social posts or PDFs.",{"children":309,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[310,312,314,315],{"detail":13,"format":17,"mode":14,"style":15,"text":311,"type":16,"version":17},"Choose the redirect type on purpose.",{"detail":13,"format":13,"mode":14,"style":15,"text":313,"type":16,"version":17}," 302 and 307 are both temporary, so browsers and search engines do not treat the merchant URL as the permanent home of your ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":316,"type":16,"version":17}," path, and a changed destination takes effect on the next click. The only practical difference is that 307 guarantees the request method is kept, which does not matter for an ordinary link click. A 301 is permanent and browsers may cache it, so returning visitors can keep hitting an old destination; reserve it for links whose destination will never change.",{"children":318,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[319,321,322,323],{"detail":13,"format":17,"mode":14,"style":15,"text":320,"type":16,"version":17},"Make the link attributes the default.",{"detail":13,"format":13,"mode":14,"style":15,"text":301,"type":16,"version":17},{"detail":13,"format":83,"mode":14,"style":15,"text":216,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":324,"type":16,"version":17}," as the plugin-wide default rather than per link, then open a published post, view the page source and confirm the attribute is on the anchor.",{"children":326,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[327,329,331,333],{"detail":13,"format":17,"mode":14,"style":15,"text":328,"type":16,"version":17},"Keep redirect paths out of the sitemap.",{"detail":13,"format":13,"mode":14,"style":15,"text":330,"type":16,"version":17}," Some link managers store links as a custom post type. If your SEO plugin builds the sitemap, exclude that post type, and keep the ",{"detail":13,"format":83,"mode":14,"style":15,"text":332,"type":16,"version":17},"Disallow",{"detail":13,"format":13,"mode":14,"style":15,"text":334,"type":16,"version":17}," rule for the prefix in robots.txt; a sitemap that lists URLs robots.txt blocks shows up as an error in Search Console.",{"children":336,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":249},[337,339,341,342],{"detail":13,"format":17,"mode":14,"style":15,"text":338,"type":16,"version":17},"Decide what click numbers mean.",{"detail":13,"format":13,"mode":14,"style":15,"text":340,"type":16,"version":17}," A plugin counts requests to the ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":343,"type":16,"version":17}," path, including repeat clicks and some bots, so it will not match the network report. Use the plugin count to compare links and pages, and the network report as the number that gets paid.",{"children":345,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":353},[346,348,350,351],{"detail":13,"format":17,"mode":14,"style":15,"text":347,"type":16,"version":17},"Change merchant URLs in one place.",{"detail":13,"format":13,"mode":14,"style":15,"text":349,"type":16,"version":17}," When a program moves networks or changes its tracking parameters, edit the destination on the link record once and every post using that ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":352,"type":16,"version":17}," link follows. For large changes, export the links, edit them in a spreadsheet and re-import if your plugin supports it.",6,{"children":355,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[356],{"detail":13,"format":17,"mode":14,"style":15,"text":357,"type":16,"version":17},"After setup, check four things:",{"children":359,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":250,"start":17,"tag":251},[360,364,371,375],{"children":361,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[362],{"detail":13,"format":13,"mode":14,"style":15,"text":363,"type":16,"version":17},"A click from a private browser window lands on the merchant page with your affiliate ID still in the URL.",{"children":365,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[366,368,369],{"detail":13,"format":13,"mode":14,"style":15,"text":367,"type":16,"version":17},"The status code is the one you chose: in the browser developer tools Network tab, the first request to the ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":370,"type":16,"version":17}," path shows 302, 307 or 301.",{"children":372,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[373],{"detail":13,"format":13,"mode":14,"style":15,"text":374,"type":16,"version":17},"Your page cache or CDN is not caching the redirect: change a test link destination, clear the cache, click again and confirm the new destination.",{"children":376,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[377,379,380],{"detail":13,"format":13,"mode":14,"style":15,"text":378,"type":16,"version":17},"The sitemap lists no ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":381,"type":16,"version":17}," URLs, and the Search Console page indexing report does not show them as submitted.",{"children":383,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[384],{"detail":13,"format":13,"mode":14,"style":15,"text":385,"type":16,"version":17},"The no-website routes",{"children":387,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[388],{"detail":13,"format":13,"mode":14,"style":15,"text":389,"type":16,"version":17},"You do not need a site to get a clean, trackable link. Three routes, with real trade-offs:",{"children":391,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[392,394],{"detail":13,"format":17,"mode":14,"style":15,"text":393,"type":16,"version":17},"Link shorteners with a custom domain.",{"detail":13,"format":13,"mode":14,"style":15,"text":395,"type":16,"version":17}," Register a short domain, point it at a shortener that supports custom domains, and create branded links. You get branding and click analytics without hosting anything. The cost is that you now own a domain whose only purpose is redirects — which is exactly the profile that gets flagged if the destinations are ever problematic. Reputation attaches to the domain.",{"children":397,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[398,400],{"detail":13,"format":17,"mode":14,"style":15,"text":399,"type":16,"version":17},"Link-in-bio pages.",{"detail":13,"format":13,"mode":14,"style":15,"text":401,"type":16,"version":17}," For social-first affiliates, a hosted bio page holds multiple destinations, is trivially editable, and needs no infrastructure. The trade-off is that you are building on rented land: the page's reputation is not yours, and a policy change on the host applies to you retroactively.",{"children":403,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[404,406],{"detail":13,"format":17,"mode":14,"style":15,"text":405,"type":16,"version":17},"Direct network links with sub-IDs.",{"detail":13,"format":13,"mode":14,"style":15,"text":407,"type":16,"version":17}," Many affiliate networks issue a reasonably short branded link plus a sub-ID parameter for segmentation. No cloaking at all, no infrastructure, and the tracking is authoritative because it comes from the network. The link is less pretty and you cannot change the destination — but for a single-offer campaign that is rarely a real constraint.",{"children":409,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":17,"textStyle":15},[410,412],{"detail":13,"format":17,"mode":14,"style":15,"text":411,"type":16,"version":17},"One caveat that applies to all three:",{"detail":13,"format":13,"mode":14,"style":15,"text":413,"type":16,"version":17}," several platforms treat a bare shortener link as lower-trust than a link to a real site with content, and some social platforms restrict shortened links in ads outright. A no-website setup is legitimate; it just tends to convert worse and get restricted more often.",{"children":415,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[416,418,425],{"detail":13,"format":13,"mode":14,"style":15,"text":417,"type":16,"version":17},"If those links sit behind paid Meta or TikTok campaigns, the health of the domain becomes its own monitoring job. DeepClick ",{"children":419,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":422,"id":424},[420],{"detail":13,"format":13,"mode":14,"style":15,"text":421,"type":16,"version":17},"Green Shield",{"linkType":52,"newTab":53,"url":423},"/product/shield/","b4e2057a203351141c743b71",{"detail":13,"format":13,"mode":14,"style":15,"text":426,"type":16,"version":17}," includes real-time domain reputation monitoring with alerts when an issue is detected. Monitoring only tells you early that something is wrong; it does not change the rule in the next section, which is that every visitor reaches the same destination.",{"children":428,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[429],{"detail":13,"format":13,"mode":14,"style":15,"text":430,"type":16,"version":17},"What crosses the line",{"children":432,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[433],{"detail":13,"format":13,"mode":14,"style":15,"text":434,"type":16,"version":17},"The techniques below are what turn a routine redirect into an account-level problem. They are worth naming precisely, because most people who use them did not set out to break a rule:",{"children":436,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":250,"start":17,"tag":251},[437,443,449,455,465],{"children":438,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[439,441],{"detail":13,"format":17,"mode":14,"style":15,"text":440,"type":16,"version":17},"Different destinations by viewer.",{"detail":13,"format":13,"mode":14,"style":15,"text":442,"type":16,"version":17}," Sending the ad platform's reviewer to a clean page and everyone else to the offer. This is content cloaking, not link cloaking.",{"children":444,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[445,447],{"detail":13,"format":17,"mode":14,"style":15,"text":446,"type":16,"version":17},"Hiding the affiliate relationship from the merchant.",{"detail":13,"format":13,"mode":14,"style":15,"text":448,"type":16,"version":17}," Some programmes prohibit redirects that obscure the traffic source; the network sees a referrer that is not where the click came from. Check the programme terms — this is a contract issue before it is a platform issue.",{"children":450,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[451,453],{"detail":13,"format":17,"mode":14,"style":15,"text":452,"type":16,"version":17},"Routing around a platform's block on a specific merchant.",{"detail":13,"format":13,"mode":14,"style":15,"text":454,"type":16,"version":17}," If a platform has blocked a destination, a redirect to it is circumvention. Enforcement here is entity-level and does not stop at the ad account.",{"children":456,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[457,459,461,463],{"detail":13,"format":17,"mode":14,"style":15,"text":458,"type":16,"version":17},"No disclosure anywhere.",{"detail":13,"format":13,"mode":14,"style":15,"text":460,"type":16,"version":17}," Missing ",{"detail":13,"format":83,"mode":14,"style":15,"text":462,"type":16,"version":17},"rel=\"sponsored\"",{"detail":13,"format":13,"mode":14,"style":15,"text":464,"type":16,"version":17}," plus missing reader-facing disclosure is a compliance gap on two separate axes: search policy and consumer protection law.",{"children":466,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":249},[467,469],{"detail":13,"format":17,"mode":14,"style":15,"text":468,"type":16,"version":17},"Chained redirects through unrelated domains.",{"detail":13,"format":13,"mode":14,"style":15,"text":470,"type":16,"version":17}," Three hops through domains with no relationship to the content is a strong spam signal, and every extra hop is a place tracking silently breaks.",{"children":472,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[473,479,481,487],{"children":474,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":477,"id":478},[475],{"detail":13,"format":13,"mode":14,"style":15,"text":476,"type":16,"version":17},"Affiliate De-Cloaking",{"linkType":52,"newTab":53,"url":63},"6a8afbfae9037c00c8b1e8cc",{"detail":13,"format":13,"mode":14,"style":15,"text":480,"type":16,"version":17}," covers how these setups get unwound in practice, and ",{"children":482,"direction":18,"format":15,"indent":13,"type":49,"version":50,"fields":485,"id":486},[483],{"detail":13,"format":13,"mode":14,"style":15,"text":484,"type":16,"version":17},"Affiliate Link Cloaking Software",{"linkType":52,"newTab":53,"url":54},"6a8afbfae9037c00c8b1e8cd",{"detail":13,"format":13,"mode":14,"style":15,"text":488,"type":16,"version":17}," compares the specific tools.",{"children":490,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[491],{"detail":13,"format":13,"mode":14,"style":15,"text":492,"type":16,"version":17},"Choosing between the routes",{"children":494,"direction":18,"format":15,"indent":13,"type":709,"version":17},[495,528,558,587,616,647,678],{"children":496,"direction":18,"format":15,"indent":13,"type":527,"version":17},[497,503,509,515,521],{"children":498,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":17,"rowSpan":17},[499],{"children":500,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[501],{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17},"tablecell",{"children":504,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":17,"rowSpan":17},[505],{"children":506,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[507],{"detail":13,"format":13,"mode":14,"style":15,"text":508,"type":16,"version":17}," WordPress plugin ",{"children":510,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":17,"rowSpan":17},[511],{"children":512,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[513],{"detail":13,"format":13,"mode":14,"style":15,"text":514,"type":16,"version":17}," Shortener + custom domain ",{"children":516,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":17,"rowSpan":17},[517],{"children":518,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[519],{"detail":13,"format":13,"mode":14,"style":15,"text":520,"type":16,"version":17}," Bio page ",{"children":522,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":17,"rowSpan":17},[523],{"children":524,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[525],{"detail":13,"format":13,"mode":14,"style":15,"text":526,"type":16,"version":17}," Raw network link ","tablerow",{"children":529,"direction":18,"format":15,"indent":13,"type":527,"version":17},[530,536,542,548,553],{"children":531,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[532],{"children":533,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[534],{"detail":13,"format":13,"mode":14,"style":15,"text":535,"type":16,"version":17}," Needs a site ",{"children":537,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[538],{"children":539,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[540],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17}," Yes ",{"children":543,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[544],{"children":545,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[546],{"detail":13,"format":13,"mode":14,"style":15,"text":547,"type":16,"version":17}," No ",{"children":549,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[550],{"children":551,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[552],{"detail":13,"format":13,"mode":14,"style":15,"text":547,"type":16,"version":17},{"children":554,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[555],{"children":556,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[557],{"detail":13,"format":13,"mode":14,"style":15,"text":547,"type":16,"version":17},{"children":559,"direction":18,"format":15,"indent":13,"type":527,"version":17},[560,566,571,576,582],{"children":561,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[562],{"children":563,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[564],{"detail":13,"format":13,"mode":14,"style":15,"text":565,"type":16,"version":17}," Branded domain ",{"children":567,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[568],{"children":569,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[570],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":572,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[573],{"children":574,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[575],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":577,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[578],{"children":579,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[580],{"detail":13,"format":13,"mode":14,"style":15,"text":581,"type":16,"version":17}," Partial ",{"children":583,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[584],{"children":585,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[586],{"detail":13,"format":13,"mode":14,"style":15,"text":547,"type":16,"version":17},{"children":588,"direction":18,"format":15,"indent":13,"type":527,"version":17},[589,595,600,605,611],{"children":590,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[591],{"children":592,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[593],{"detail":13,"format":13,"mode":14,"style":15,"text":594,"type":16,"version":17}," Own the click data ",{"children":596,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[597],{"children":598,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[599],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":601,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[602],{"children":603,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[604],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":606,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[607],{"children":608,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[609],{"detail":13,"format":13,"mode":14,"style":15,"text":610,"type":16,"version":17}," Limited ",{"children":612,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[613],{"children":614,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[615],{"detail":13,"format":13,"mode":14,"style":15,"text":547,"type":16,"version":17},{"children":617,"direction":18,"format":15,"indent":13,"type":527,"version":17},[618,624,629,634,639],{"children":619,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[620],{"children":621,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[622],{"detail":13,"format":13,"mode":14,"style":15,"text":623,"type":16,"version":17}," Destination editable later ",{"children":625,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[626],{"children":627,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[628],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":630,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[631],{"children":632,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[633],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":635,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[636],{"children":637,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[638],{"detail":13,"format":13,"mode":14,"style":15,"text":541,"type":16,"version":17},{"children":640,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[641],{"children":642,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[643,644,646],{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17},{"detail":13,"format":17,"mode":14,"style":15,"text":645,"type":16,"version":17},"No",{"detail":13,"format":13,"mode":14,"style":15,"text":128,"type":16,"version":17},{"children":648,"direction":18,"format":15,"indent":13,"type":527,"version":17},[649,655,661,667,673],{"children":650,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[651],{"children":652,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[653],{"detail":13,"format":13,"mode":14,"style":15,"text":654,"type":16,"version":17}," Platform trust ",{"children":656,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[657],{"children":658,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[659],{"detail":13,"format":13,"mode":14,"style":15,"text":660,"type":16,"version":17}," Highest ",{"children":662,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[663],{"children":664,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[665],{"detail":13,"format":13,"mode":14,"style":15,"text":666,"type":16,"version":17}," Medium ",{"children":668,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[669],{"children":670,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[671],{"detail":13,"format":13,"mode":14,"style":15,"text":672,"type":16,"version":17}," Medium-low ",{"children":674,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[675],{"children":676,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[677],{"detail":13,"format":13,"mode":14,"style":15,"text":666,"type":16,"version":17},{"children":679,"direction":18,"format":15,"indent":13,"type":527,"version":17},[680,686,691,697,703],{"children":681,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[682],{"children":683,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[684],{"detail":13,"format":13,"mode":14,"style":15,"text":685,"type":16,"version":17}," Setup effort ",{"children":687,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[688],{"children":689,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[690],{"detail":13,"format":13,"mode":14,"style":15,"text":666,"type":16,"version":17},{"children":692,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[693],{"children":694,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[695],{"detail":13,"format":13,"mode":14,"style":15,"text":696,"type":16,"version":17}," Low ",{"children":698,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[699],{"children":700,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[701],{"detail":13,"format":13,"mode":14,"style":15,"text":702,"type":16,"version":17}," Lowest ",{"children":704,"direction":18,"format":15,"indent":13,"type":502,"version":17,"backgroundColor":18,"colSpan":17,"headerState":13,"rowSpan":17},[705],{"children":706,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[707],{"detail":13,"format":13,"mode":14,"style":15,"text":708,"type":16,"version":17}," None ","table",{"children":711,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[712,714,715],{"detail":13,"format":13,"mode":14,"style":15,"text":713,"type":16,"version":17},"The honest recommendation: if you already run a content site, use the WordPress route — it is strictly better on every axis that matters and costs one plugin. If you do not, a custom-domain shortener is the reasonable middle. Bio pages are for social-native operations where the page ",{"detail":13,"format":26,"mode":14,"style":15,"text":98,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":716,"type":16,"version":17}," the funnel.",{"children":718,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[719],{"detail":13,"format":13,"mode":14,"style":15,"text":720,"type":16,"version":17},"A five-point pre-launch check",{"children":722,"direction":18,"format":15,"indent":13,"type":153,"version":17,"listType":154,"start":17,"tag":155},[723,730,734,740,744],{"children":724,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":17},[725,727,728],{"detail":13,"format":13,"mode":14,"style":15,"text":726,"type":16,"version":17},"Does every affiliate anchor carry ",{"detail":13,"format":83,"mode":14,"style":15,"text":216,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":729,"type":16,"version":17},"?",{"children":731,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":26},[732],{"detail":13,"format":13,"mode":14,"style":15,"text":733,"type":16,"version":17},"Is there a visible disclosure the reader will actually see before clicking?",{"children":735,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":50},[736,738,739],{"detail":13,"format":13,"mode":14,"style":15,"text":737,"type":16,"version":17},"Is the redirect prefix disallowed in ",{"detail":13,"format":83,"mode":14,"style":15,"text":226,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":729,"type":16,"version":17},{"children":741,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":152},[742],{"detail":13,"format":13,"mode":14,"style":15,"text":743,"type":16,"version":17},"Does a real click from a clean browser land on the intended destination, with the affiliate parameter intact?",{"children":745,"direction":18,"format":15,"indent":13,"type":133,"version":17,"value":249},[746],{"detail":13,"format":13,"mode":14,"style":15,"text":747,"type":16,"version":17},"Does every visitor — reviewer, crawler, customer — reach the same destination?",{"children":749,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[750],{"detail":13,"format":13,"mode":14,"style":15,"text":751,"type":16,"version":17},"Point five is the one that matters. Everything else on the list is hygiene; that one is the difference between link management and a policy violation.",{"children":753,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[754],{"detail":13,"format":13,"mode":14,"style":15,"text":755,"type":16,"version":17},"FAQ",{"children":757,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":760},[758],{"detail":13,"format":13,"mode":14,"style":15,"text":759,"type":16,"version":17},"Is cloaking affiliate links allowed?","h3",{"children":762,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[763],{"detail":13,"format":13,"mode":14,"style":15,"text":764,"type":16,"version":17},"Yes, when every visitor who clicks reaches the same merchant page and you disclose the affiliate relationship: a branded redirect hides a long URL, not the fact that you earn a commission. Individual affiliate programs and ad platforms can set their own rules on redirects, so check the terms of each one you join.",{"children":766,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":760},[767],{"detail":13,"format":13,"mode":14,"style":15,"text":768,"type":16,"version":17},"Does link cloaking hurt SEO?",{"children":770,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[771,773,774],{"detail":13,"format":13,"mode":14,"style":15,"text":772,"type":16,"version":17},"Not when the anchor carries ",{"detail":13,"format":83,"mode":14,"style":15,"text":216,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":775,"type":16,"version":17}," and the redirect prefix stays out of your sitemap and crawl, which is how Google asks affiliate links to be marked. What does cause problems is showing search engines different content from users, which is content cloaking, the other meaning covered at the top of this guide.",{"children":777,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":760},[778],{"detail":13,"format":13,"mode":14,"style":15,"text":779,"type":16,"version":17},"Do I need a plugin to cloak affiliate links in WordPress?",{"children":781,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[782,784,785],{"detail":13,"format":13,"mode":14,"style":15,"text":783,"type":16,"version":17},"No: a server redirect rule or a general redirect manager can serve a ",{"detail":13,"format":83,"mode":14,"style":15,"text":179,"type":16,"version":17},{"detail":13,"format":13,"mode":14,"style":15,"text":786,"type":16,"version":17}," path. A dedicated affiliate link plugin earns its place once you manage more than a handful of links, because it handles the sponsored attribute, click counts and one-place destination edits for you.",{"children":788,"direction":18,"format":15,"indent":13,"type":19,"version":17,"tag":71},[789],{"detail":13,"format":13,"mode":14,"style":15,"text":790,"type":16,"version":17},"The short version",{"children":792,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[793],{"detail":13,"format":13,"mode":14,"style":15,"text":794,"type":16,"version":17},"Cloaking affiliate links in the ordinary sense — branded redirects that shorten and manage tracking URLs — is standard, permitted, and worth doing. In WordPress it is one plugin plus five configuration choices. Without a website, a custom-domain shortener gets you most of the way, with the caveat that a redirect-only domain carries its reputation alone.",{"children":796,"direction":18,"format":15,"indent":13,"type":34,"version":17,"textFormat":13,"textStyle":15},[797,799,801],{"detail":13,"format":13,"mode":14,"style":15,"text":798,"type":16,"version":17},"The line is not about the redirect. It is about whether ",{"detail":13,"format":17,"mode":14,"style":15,"text":800,"type":16,"version":17},"everyone who follows the link ends up in the same place",{"detail":13,"format":13,"mode":14,"style":15,"text":802,"type":16,"version":17},". Keep that true and the technique is unremarkable; break it and the technique is not the problem you will be dealing with.","root",{"id":805,"alt":806,"updatedAt":807,"createdAt":807,"url":808,"thumbnailURL":18,"filename":809,"mimeType":810,"filesize":811,"width":18,"height":18},1012,"联盟链接斗篷示意：长跟踪 URL 收敛成一条品牌短链并指向同一个落地页","2026-08-23T13:55:59.695Z","https://cms-r2.deepclick.com/cover-cloak-affiliate-links-a376f94ac0bb.jpg","cover-cloak-affiliate-links-a376f94ac0bb.jpg","application/octet-stream",151255,{"title":813,"description":814,"image":815},"Cloak Affiliate Links in WordPress or Without a Website (2026 Guide)","Four routes to branded affiliate redirects — WordPress plugins, custom-domain shorteners, bio pages, raw network links — compared, plus the compliance line that separates link cloaking from content cloaking.",{"id":805,"alt":806,"updatedAt":807,"createdAt":807,"url":808,"thumbnailURL":18,"filename":809,"mimeType":810,"filesize":811,"width":18,"height":18},{"id":17,"key":817,"name":818,"prodHost":819,"testHost":820,"blogPath":821,"docPath":822,"zhPrefix":823,"deployHookTest":824,"deployHookProd":825,"brandAuthor":826,"brandKit":830,"enabled":834,"updatedAt":835,"createdAt":836},"deepclick","DeepClick","https://deepclick.com","https://www-test-deepclick.qiliangjia.one","/resources/blog/{slug}","/docs/{slug}","/zh-CN","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/60a9adef-153b-4c89-8d07-7118e91e9522","https://api.cloudflare.com/client/v4/pages/webhooks/deploy_hooks/05323321-f694-4ce8-a5af-173c507b8bae",{"id":26,"name":818,"avatar":827,"updatedAt":828,"createdAt":829},25,"2026-04-22T08:09:35.299Z","2026-04-22T06:42:49.116Z",{"logoLight":18,"logoDark":18,"primaryColor":831,"accentColor":832,"tagline":833,"wechatName":18,"xhsHandle":18,"wechatQr":18},"#1a73e8","#ff6600","一次点击，多重价值",true,"2026-08-25T06:40:57.663Z","2026-07-14T06:26:38.962Z","published","cloak-affiliate-links",{"id":152,"name":840,"avatar":841,"updatedAt":848,"createdAt":848},"Ethan Cole",{"id":842,"alt":843,"updatedAt":844,"createdAt":844,"url":845,"thumbnailURL":18,"filename":846,"mimeType":810,"filesize":847,"width":18,"height":18},922,"Ethan Cole — growth & ad-tech editor","2026-07-27T07:17:05.290Z","https://cms-r2.deepclick.com/gpt_1785136218181_0-d1b8139c1927.png","gpt_1785136218181_0-d1b8139c1927.png",1965798,"2026-07-27T07:17:07.920Z",{"id":850,"site":851,"titleZh":853,"titleEn":854,"slug":855,"order":249,"updatedAt":856,"createdAt":857},7,{"id":17,"key":817,"name":818,"prodHost":819,"testHost":820,"blogPath":821,"docPath":822,"zhPrefix":823,"deployHookTest":824,"deployHookProd":825,"brandAuthor":26,"brandKit":852,"enabled":834,"updatedAt":835,"createdAt":836},{"logoLight":18,"logoDark":18,"primaryColor":831,"accentColor":832,"tagline":833,"wechatName":18,"xhsHandle":18,"wechatQr":18},"技术导航","Tech Guides","tech-guides","2026-04-27T08:37:10.576Z","2026-04-23T02:59:13.436Z","2026-08-23T13:56:12.030Z","2026-09-11T07:13:45.416Z","\u003Cdiv class=\"payload-richtext\">\u003Ch1>How to Cloak Affiliate Links: WordPress Plugins, No-Website Methods, and Where the Line Is (2026)\u003C/h1>\u003Cp>Two versions of the same question come up constantly: \u003Cem>how do I cloak affiliate links in WordPress\u003C/em>, and \u003Cem>how do I cloak an affiliate link without a website at all\u003C/em>. Both are asking for the same outcome — a short, branded, trackable link that replaces a long tracking URL — and both sit next to a compliance line that is easy to cross without noticing.\u003C/p>\u003Cp>This guide covers the WordPress route, the no-website routes, what each one actually does under the hood, and the specific practices that turn a normal marketing technique into a policy violation.\u003C/p>\u003Cp>\u003Cstrong>Scope.\u003C/strong> This article is about setup: cloaking affiliate links in WordPress, or without a website. If you are comparing tools feature by feature, see \u003Ca href=\"/resources/blog/affiliate-link-cloaking-software/\">affiliate link cloaking software compared\u003C/a>; if you want to know how networks and ad platforms detect cloaked links, see \u003Ca href=\"/resources/blog/affiliate-de-cloaking/\">how affiliate de-cloaking works\u003C/a>.\u003C/p>\u003Ch2>First: two different things share this name\u003C/h2>\u003Cp>The word &quot;cloaking&quot; carries two unrelated meanings in affiliate marketing, and conflating them is the single most common source of trouble.\u003C/p>\u003Cp>\u003Cstrong>Link cloaking\u003C/strong> means replacing \u003Ccode>https://merchant.com/?aff_id=1234&amp;campaign=xyz\u003C/code> with \u003Ccode>https://yoursite.com/go/product\u003C/code>. The destination is unchanged. The redirect is a plain 301 or 302. Everyone — merchant, network, visitor, and platform — ends up at the same place. This is standard practice and is not a policy violation anywhere.\u003C/p>\u003Cp>\u003Cstrong>Content cloaking\u003C/strong> means showing a reviewer or crawler one page and sending real traffic somewhere else. Same URL, different destinations depending on who is asking. This \u003Cem>is\u003C/em> a policy violation on search and ad platforms, and it is what gets accounts banned. We cover the mechanics in \u003Ca href=\"/resources/blog/content-cloaking/\">Content Cloaking Explained\u003C/a>.\u003C/p>\u003Cp>Everything below is about the first one. If a tool offers to &quot;show the affiliate network a different landing page than your users see,&quot; that is the second one wearing the first one&#39;s name.\u003C/p>\u003Ch2>Why anyone bothers cloaking affiliate links\u003C/h2>\u003Cp>Four reasons, in rough order of how often they are the real motive:\u003C/p>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Aesthetics and trust.\u003C/strong> \u003Ccode>yoursite.com/go/hosting\u003C/code> reads better than a 120-character parameter string and gets clicked more often, especially in email and on social.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Link management.\u003C/strong> When a merchant changes their tracking URL structure, you edit one redirect rule instead of every post you have ever published.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Click tracking.\u003C/strong> A redirect you control is a place to count clicks, which affiliate dashboards often report late or incompletely.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>Survivability.\u003C/strong> Some platforms strip or block raw affiliate parameters; a branded redirect passes where the raw URL does not.\u003C/li>\u003C/ol>\u003Cp>Reason four is where teams start drifting. Using a redirect because raw parameters look ugly is fine. Using one specifically because a platform has \u003Cem>decided to block\u003C/em> that merchant is circumventing an enforcement decision — different thing entirely, and it is treated as such.\u003C/p>\u003Ch2>The WordPress route\u003C/h2>\u003Cp>WordPress has the most mature tooling here, and the approach is the same across every plugin: register a virtual path under your domain, map it to a destination, issue a redirect.\u003C/p>\u003Cp>\u003Cstrong>How the plugins work.\u003C/strong> They hook WordPress&#39;s rewrite rules to claim a prefix (\u003Ccode>/go/\u003C/code>, \u003Ccode>/recommends/\u003C/code>, \u003Ccode>/out/\u003C/code>), store a slug-to-destination map, and on request issue a 301 or 302 with the affiliate parameters attached. Most add a click counter and a \u003Ccode>rel=&quot;nofollow sponsored&quot;\u003C/code> helper for inserted links.\u003C/p>\u003Cp>\u003Cstrong>What to configure, regardless of which plugin you pick:\u003C/strong>\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Use a clean prefix.\u003C/strong> \u003Ccode>/go/\u003C/code> and \u003Ccode>/recommends/\u003C/code> are conventional. Avoid anything that reads as evasive.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Add \u003C/strong>\u003Ccode>\u003Cstrong>rel=&quot;sponsored nofollow&quot;\u003C/strong>\u003C/code>\u003Cstrong> on the anchor.\u003C/strong> This is the disclosure signal search engines actually consume, and it is required by Google&#39;s link spam policy for paid or affiliate links. Most plugins do it automatically; verify rather than assume.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Block the prefix in \u003C/strong>\u003Ccode>\u003Cstrong>robots.txt\u003C/strong>\u003C/code>\u003Cstrong>.\u003C/strong> \u003Ccode>Disallow: /go/\u003C/code> keeps crawlers out of redirect endpoints that have no independent content value.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>Choose 301 vs 302 deliberately.\u003C/strong> 302 (temporary) is the safer default for affiliate redirects, because destinations change and you do not want the redirect permanently cached.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >\u003Cstrong>Keep a disclosure on the page itself.\u003C/strong> Plugin-level \u003Ccode>nofollow\u003C/code> handles the crawler. FTC-style disclosure for the reader is a separate obligation and lives in the visible copy.\u003C/li>\u003C/ul>\u003Cp>\u003Cstrong>Where WordPress setups go wrong.\u003C/strong> The two recurring failures are a plugin conflict with a caching layer — the cache serves the redirect page instead of executing the redirect, and clicks silently stop tracking — and prefix collisions with an existing page slug. Both are worth testing with a real click from an incognito window rather than trusting the plugin&#39;s own click counter.\u003C/p>\u003Ch2>WordPress link cloaking plugin: setup step by step\u003C/h2>\u003Cp>WordPress link cloaking plugins come in two types, and it helps to know which one you are installing before you configure anything.\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Redirect and short-link managers.\u003C/strong> A general tool such as Redirection is built to manage 301 redirects and log 404 errors across a whole site. It can serve a \u003Ccode>/go/\u003C/code> path, but it is not built around affiliate links, so link insertion, attributes and click reporting are left to you.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Dedicated affiliate link managers.\u003C/strong> PrettyLinks and ThirstyAffiliates store each affiliate link as its own record with a slug, a destination and a redirect type, and both list 301, 302 and 307 redirects on their WordPress.org plugin pages. ThirstyAffiliates uses a \u003Ccode>/recommends/\u003C/code> prefix by default; PrettyLinks logs each click and supports CSV link import.\u003C/li>\u003C/ul>\u003Cp>If affiliate links are most of your outbound links, use a dedicated manager. If you have a handful and already run a redirect manager, that is enough.\u003C/p>\u003Cp>\u003Cstrong>Setup, in order:\u003C/strong>\u003C/p>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Pick one prefix and keep it.\u003C/strong> Set \u003Ccode>/go/\u003C/code> or \u003Ccode>/recommends/\u003C/code> once in the plugin settings and confirm no existing page or post already uses that slug. Changing the prefix later can break links you have already shared outside the site, in emails, social posts or PDFs.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Choose the redirect type on purpose.\u003C/strong> 302 and 307 are both temporary, so browsers and search engines do not treat the merchant URL as the permanent home of your \u003Ccode>/go/\u003C/code> path, and a changed destination takes effect on the next click. The only practical difference is that 307 guarantees the request method is kept, which does not matter for an ordinary link click. A 301 is permanent and browsers may cache it, so returning visitors can keep hitting an old destination; reserve it for links whose destination will never change.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Make the link attributes the default.\u003C/strong> Set \u003Ccode>rel=&quot;sponsored nofollow&quot;\u003C/code> as the plugin-wide default rather than per link, then open a published post, view the page source and confirm the attribute is on the anchor.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>Keep redirect paths out of the sitemap.\u003C/strong> Some link managers store links as a custom post type. If your SEO plugin builds the sitemap, exclude that post type, and keep the \u003Ccode>Disallow\u003C/code> rule for the prefix in robots.txt; a sitemap that lists URLs robots.txt blocks shows up as an error in Search Console.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >\u003Cstrong>Decide what click numbers mean.\u003C/strong> A plugin counts requests to the \u003Ccode>/go/\u003C/code> path, including repeat clicks and some bots, so it will not match the network report. Use the plugin count to compare links and pages, and the network report as the number that gets paid.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"6\"\n        >\u003Cstrong>Change merchant URLs in one place.\u003C/strong> When a program moves networks or changes its tracking parameters, edit the destination on the link record once and every post using that \u003Ccode>/go/\u003C/code> link follows. For large changes, export the links, edit them in a spreadsheet and re-import if your plugin supports it.\u003C/li>\u003C/ol>\u003Cp>\u003Cstrong>After setup, check four things:\u003C/strong>\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >A click from a private browser window lands on the merchant page with your affiliate ID still in the URL.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >The status code is the one you chose: in the browser developer tools Network tab, the first request to the \u003Ccode>/go/\u003C/code> path shows 302, 307 or 301.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >Your page cache or CDN is not caching the redirect: change a test link destination, clear the cache, click again and confirm the new destination.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >The sitemap lists no \u003Ccode>/go/\u003C/code> URLs, and the Search Console page indexing report does not show them as submitted.\u003C/li>\u003C/ul>\u003Ch2>The no-website routes\u003C/h2>\u003Cp>You do not need a site to get a clean, trackable link. Three routes, with real trade-offs:\u003C/p>\u003Cp>\u003Cstrong>Link shorteners with a custom domain.\u003C/strong> Register a short domain, point it at a shortener that supports custom domains, and create branded links. You get branding and click analytics without hosting anything. The cost is that you now own a domain whose only purpose is redirects — which is exactly the profile that gets flagged if the destinations are ever problematic. Reputation attaches to the domain.\u003C/p>\u003Cp>\u003Cstrong>Link-in-bio pages.\u003C/strong> For social-first affiliates, a hosted bio page holds multiple destinations, is trivially editable, and needs no infrastructure. The trade-off is that you are building on rented land: the page&#39;s reputation is not yours, and a policy change on the host applies to you retroactively.\u003C/p>\u003Cp>\u003Cstrong>Direct network links with sub-IDs.\u003C/strong> Many affiliate networks issue a reasonably short branded link plus a sub-ID parameter for segmentation. No cloaking at all, no infrastructure, and the tracking is authoritative because it comes from the network. The link is less pretty and you cannot change the destination — but for a single-offer campaign that is rarely a real constraint.\u003C/p>\u003Cp>\u003Cstrong>One caveat that applies to all three:\u003C/strong> several platforms treat a bare shortener link as lower-trust than a link to a real site with content, and some social platforms restrict shortened links in ads outright. A no-website setup is legitimate; it just tends to convert worse and get restricted more often.\u003C/p>\u003Cp>If those links sit behind paid Meta or TikTok campaigns, the health of the domain becomes its own monitoring job. DeepClick \u003Ca href=\"/product/shield/\">Green Shield\u003C/a> includes real-time domain reputation monitoring with alerts when an issue is detected. Monitoring only tells you early that something is wrong; it does not change the rule in the next section, which is that every visitor reaches the same destination.\u003C/p>\u003Ch2>What crosses the line\u003C/h2>\u003Cp>The techniques below are what turn a routine redirect into an account-level problem. They are worth naming precisely, because most people who use them did not set out to break a rule:\u003C/p>\u003Cul class=\"list-bullet\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >\u003Cstrong>Different destinations by viewer.\u003C/strong> Sending the ad platform&#39;s reviewer to a clean page and everyone else to the offer. This is content cloaking, not link cloaking.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >\u003Cstrong>Hiding the affiliate relationship from the merchant.\u003C/strong> Some programmes prohibit redirects that obscure the traffic source; the network sees a referrer that is not where the click came from. Check the programme terms — this is a contract issue before it is a platform issue.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >\u003Cstrong>Routing around a platform&#39;s block on a specific merchant.\u003C/strong> If a platform has blocked a destination, a redirect to it is circumvention. Enforcement here is entity-level and does not stop at the ad account.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >\u003Cstrong>No disclosure anywhere.\u003C/strong> Missing \u003Ccode>rel=&quot;sponsored&quot;\u003C/code> plus missing reader-facing disclosure is a compliance gap on two separate axes: search policy and consumer protection law.\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >\u003Cstrong>Chained redirects through unrelated domains.\u003C/strong> Three hops through domains with no relationship to the content is a strong spam signal, and every extra hop is a place tracking silently breaks.\u003C/li>\u003C/ul>\u003Cp>\u003Ca href=\"/resources/blog/affiliate-de-cloaking/\">Affiliate De-Cloaking\u003C/a> covers how these setups get unwound in practice, and \u003Ca href=\"/resources/blog/affiliate-link-cloaking-software/\">Affiliate Link Cloaking Software\u003C/a> compares the specific tools.\u003C/p>\u003Ch2>Choosing between the routes\u003C/h2>\u003Cdiv class=\"lexical-table-container\">\n        \u003Ctable class=\"lexical-table\" style=\"border-collapse: collapse;\">\n          \u003Ctbody>\u003Ctr class=\"lexical-table-row\">\n        \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> WordPress plugin \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Shortener + custom domain \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Bio page \u003C/p>\n      \u003C/th>\n    \u003Cth\n        class=\"lexical-table-cell lexical-table-cell-header-1\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Raw network link \u003C/p>\n      \u003C/th>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Needs a site \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> No \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> No \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> No \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Branded domain \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Partial \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> No \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Own the click data \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Limited \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> No \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Destination editable later \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Yes \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> \u003Cstrong>No\u003C/strong> \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Platform trust \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Highest \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Medium \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Medium-low \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Medium \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003Ctr class=\"lexical-table-row\">\n        \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Setup effort \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Medium \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Low \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> Lowest \u003C/p>\n      \u003C/td>\n    \u003Ctd\n        class=\"lexical-table-cell lexical-table-cell-header-0\"\n        \n        \n        style=\"border: 1px solid #ccc; padding: 8px;\"\n      >\n        \u003Cp> None \u003C/p>\n      \u003C/td>\n    \n      \u003C/tr>\u003C/tbody>\n        \u003C/table>\n      \u003C/div>\u003Cp>The honest recommendation: if you already run a content site, use the WordPress route — it is strictly better on every axis that matters and costs one plugin. If you do not, a custom-domain shortener is the reasonable middle. Bio pages are for social-native operations where the page \u003Cem>is\u003C/em> the funnel.\u003C/p>\u003Ch2>A five-point pre-launch check\u003C/h2>\u003Col class=\"list-number\">\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"1\"\n        >Does every affiliate anchor carry \u003Ccode>rel=&quot;sponsored nofollow&quot;\u003C/code>?\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"2\"\n        >Is there a visible disclosure the reader will actually see before clicking?\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"3\"\n        >Is the redirect prefix disallowed in \u003Ccode>robots.txt\u003C/code>?\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"4\"\n        >Does a real click from a clean browser land on the intended destination, with the affiliate parameter intact?\u003C/li>\u003Cli\n          class=\"\"\n          style=\"\"\n          value=\"5\"\n        >Does every visitor — reviewer, crawler, customer — reach the same destination?\u003C/li>\u003C/ol>\u003Cp>Point five is the one that matters. Everything else on the list is hygiene; that one is the difference between link management and a policy violation.\u003C/p>\u003Ch2>FAQ\u003C/h2>\u003Ch3>Is cloaking affiliate links allowed?\u003C/h3>\u003Cp>Yes, when every visitor who clicks reaches the same merchant page and you disclose the affiliate relationship: a branded redirect hides a long URL, not the fact that you earn a commission. Individual affiliate programs and ad platforms can set their own rules on redirects, so check the terms of each one you join.\u003C/p>\u003Ch3>Does link cloaking hurt SEO?\u003C/h3>\u003Cp>Not when the anchor carries \u003Ccode>rel=&quot;sponsored nofollow&quot;\u003C/code> and the redirect prefix stays out of your sitemap and crawl, which is how Google asks affiliate links to be marked. What does cause problems is showing search engines different content from users, which is content cloaking, the other meaning covered at the top of this guide.\u003C/p>\u003Ch3>Do I need a plugin to cloak affiliate links in WordPress?\u003C/h3>\u003Cp>No: a server redirect rule or a general redirect manager can serve a \u003Ccode>/go/\u003C/code> path. A dedicated affiliate link plugin earns its place once you manage more than a handful of links, because it handles the sponsored attribute, click counts and one-place destination edits for you.\u003C/p>\u003Ch2>The short version\u003C/h2>\u003Cp>Cloaking affiliate links in the ordinary sense — branded redirects that shorten and manage tracking URLs — is standard, permitted, and worth doing. In WordPress it is one plugin plus five configuration choices. Without a website, a custom-domain shortener gets you most of the way, with the caveat that a redirect-only domain carries its reputation alone.\u003C/p>\u003Cp>The line is not about the redirect. It is about whether \u003Cstrong>everyone who follows the link ends up in the same place\u003C/strong>. Keep that true and the technique is unremarkable; break it and the technique is not the problem you will be dealing with.\u003C/p>\u003C/div>","https://deepclick.com/resources/blog/cloak-affiliate-links",{"en":838,"zh-CN":838},[864],{"id":50,"title":865,"site":866,"image":868,"mobileImage":878,"targetUrl":886,"enabled":834,"postDateFrom":887,"postDateTo":888,"updatedAt":889,"createdAt":890},"2026.10.20 Jakarta summit (deepclick)",{"id":17,"key":817,"name":818,"prodHost":819,"testHost":820,"blogPath":821,"docPath":822,"zhPrefix":823,"deployHookTest":824,"deployHookProd":825,"brandAuthor":26,"brandKit":867,"enabled":834,"updatedAt":835,"createdAt":836},{"logoLight":18,"logoDark":18,"primaryColor":831,"accentColor":832,"tagline":833,"wechatName":18,"xhsHandle":18,"wechatQr":18},{"id":869,"alt":870,"updatedAt":871,"createdAt":871,"url":872,"thumbnailURL":18,"filename":873,"mimeType":874,"filesize":875,"width":876,"height":877},1068,"TrafficTalking Jakarta summit 2026.10.20 (en)","2026-09-04T10:44:12.868Z","https://cms-r2.deepclick.com/traffictalking-jakarta-banner-en-9f7ee22f6562.png","traffictalking-jakarta-banner-en-9f7ee22f6562.png","image/png",1565832,2000,400,{"id":879,"alt":880,"updatedAt":881,"createdAt":881,"url":882,"thumbnailURL":18,"filename":883,"mimeType":874,"filesize":884,"width":885,"height":877},1070,"TrafficTalking Jakarta summit 2026.10.20 (mobile-en)","2026-09-04T10:44:23.791Z","https://cms-r2.deepclick.com/traffictalking-jakarta-banner-mobile-en-3ef8e652bbac.png","traffictalking-jakarta-banner-mobile-en-3ef8e652bbac.png",580158,1200,"https://t.me/rrrun_r","2026-09-03T00:00:00.000Z","2026-10-04T00:00:00.000Z","2026-09-04T10:45:05.578Z","2026-09-04T10:45:03.031Z",1789875704519]