The Perfect Solution to Paid Link Disclosure


There is a big brouhaha over Matt Cutt’s recent postings (yes, 3 of them) about the disclosure of paid links (big one here, another here, and one more here). There’s been a lot of postings about it, with a great summary here by GrayWolf at, some here by GrayWolf at, more here from Todd Malicoat of, more here from Matt McGee of, and another here from Andy Beal of

Essentially, Google wants you to disclose paid links to both users and to search engines. Google wants to know which links are “paid” instead of “natural” so they can discount their weight.

My feeling about it is this: Paid links are advertisements, and as such should be distinguished in some way from other links that are not advertisements. The disclosure should not be deceptive to users or to search engines. Disclosure can be subtle and is okay to be undetectable (not deceptively) to search engines/machines.

paid links seo

Google’s own webmaster guidelines specifically discusses that we should not do things specifically for search engines, but focus on the users:

Make pages for users, not for search engines … Another useful test is to ask, “Does this help my users? Would I do this if search engines didn’t exist?”

If we look at other forms of marketing and advertising, there must be disclosure for advertisements. If you read a newspaper, it reads “This is a Paid Advertisement” somewhere on/near the ad. If you watch infomercials, it says “This is a Paid Advertisement”. If you listen to the radio and hear a political ad, it is disclosed as a political ad. If you look at Adwords and other text ads by search engines it has some form of disclosure, like “Ads by Google”. If you see a banner ad, well it either screams “I’m an ad” because it’s an image and it looks like an ad, or it says “Advertisement” somewhere. These advertising property owners do not make these statements because they are pretty or interesting, but to obey laws for advertising disclosure.

And now, for what you all have been waiting for…

The Perfect Solution to Paid Link Disclosure

So, I have the perfect solution for you to disclose your paid links to users and not search engines, that anyone can implement quickly and easily. This method makes it virtually impossible for a machine to implement an algorithm based on this code, but makes it fully disclosed to users.

To see the paid link disclosure in action, click on the following link (the next page has the link examples):


How to implement Paid Link Disclosure

Step 1

Copy the CSS code below and paste it in your existing CSS file for your site. (or create one, or put it in the template of your site so it shows up on each page).

a:hover.linkx {
    background-image: url(/images/solop.gif);
a:hover.linky {}

Step 2

Change the name “linkx” to something else and don’t include words like paid or ad or affiliate. This keeps variability from site to site and gives it no semantic meaning. “linky” can be changed to something else also, but essentially all that is doing is giving your other links a class so that all links have a class assigned to it and cannot be “filtered” based on having a class attribute.

Step 3

Create an image that in some way reflects that the link is paid. Don’t just copy my $ image here, use a unique image and rename the filename to something else (keep it ambiguous). You may want to use a star, an asterisk, an exclamation point, or a turtle. It should be unique to you so again there is no regularity for the search engines, but at the same time it gives appropriate disclosure to your users. Place this image file behind the folder you created in step 4.

Step 4

Create a folder (give it any name, just be creative) and disallow search engines from access to this folder (learn how to do this in your Robots.txt file). No this is not deceptive, you just don’t want them to go there. This is for step 5.

Step 5

Create a file in the directory you just created and include a disclosure about paid links, describing that you disclose paid links by using an image icon next to links when a user mouses over them. I wouldn’t even include the icon on the page, just describe it with text, like “A dollar sign icon will appear when you mouse over a paid link”.

Step 6

Add the class attribute that you renamed in Step 2 above to the anchor tag of your paid links and any new paid links.

This solution would be incredibly difficult, and I would go as far as to say “impossible”, for Google and others to detect on a wide scale basis (which is what they face). Their problem is that this code is ambiguous, and could be doing any number of things besides attributing a paid link, and so they cannot fully determine that it is actually a paid link based on the CSS itself. But you’re still being ethical because users are aware before they click on the link that it is a paid link.

If you want to disclose paid links without having to hover, just modify the CSS code above and take out the “hover” part (see live page here of it in action):

a.linkx {
    background-image: url(/images/solop.gif);
a.linky {}

If you have any improvements or other suggestions, add them to the comments below.

UPDATE: Matt McGee gives his idea for a solution, which is quite novel too.

More to Share...