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.


  • Andy Beal says:

    That’s one way to test if Google really cares about the user-experience or their own algorithm. 😉

  • Tom says:

    You just earned a -30 ranking on this post now. If logical and rational thinking starts becoming part of the conversation between SEO’s and Google experience hell will freeze over.

    We must remember that Google is the only large company in the world that puts everything else in front of profits. If you start showing this as a canard, they may actually have to do no evil…

  • Andy Beard says:

    I am sorry but this is a next to useless solution, because if the intent is to inform users, and 90% of users read your content in a feed, then this isn’t going to show up.

    Even if you use inline CSS, some feed readers strip the CSS code (e.g. bloglines)

  • Great point there, Andy.

    My question: What percentage of paid links are in a blog versus a “typical” web page?

    I know a great way to overcome this, and in a jiffy. Make a wordpress plugin that converts it to just show the image next to the link. In the option settings of the plugin you would just put in the class name (like “linkx”) and what image to use. Or instead of images you could just put in some text like (p).

    I definitely overlooked that, thanks for your comment.

  • ““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.”

    You might want to repeat the css attributes for linkx but with a blank image or the lack any attributes in the class could be the red flag that google detects.

    Other solutions would be to prevent access to the css file in robots.txt

  • Andy Beard says:

    It really depends on a definition of paid link and whose blog.

    I would estimate 50% of Matt Cutt’s blog is paid links, and slightly less for Robert Scoble.

    PPP use a javascript badge being called through tinyURL, but I have criticised that as not working in feeds either.

    I typically block affiliate links using a robots.txt file these days, mainly because the cloaked pages were ranking higher than my content… oops.

    On my blog there are currently 3 paid posts, and a few hundred pages of unique content, but I disclose that every post I make has some kind of commercial connection.

    It will actually be interesting how many links you get through to this, as solutions for disclosure rarely get the same coverage as people moaning about paid links.

    I have had less than 20 links through to my disclosure policy plugin from within actual content, not my comments, and far less to my Disclosure Policy Feedflare which can be used almost anywhere other than

  • William seo says:


    I do study that conversation, yes that is correct some of the people are using paid linking techniques those are not part of white hat seo: means they try to place there links with in content in order to deceive search engine by paying some amount to different web masters. Its very easy for google to disclose this type of advertisement by adding a check for this type of advertisement.

6 Trackbacks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>