Sponsored content and what a publisher owes Google
Paid links must be marked, and almost no publisher marks them. How we add rel="sponsored" to every paid article automatically, back catalogue included, without editors lifting a finger.
Most publishers sell sponsored content, and most of them publish it with the same links, the same markup and the same sitemaps as their editorial. Google has been clear for years that paid links must be marked, and since 2019 it has given publishers a specific attribute for exactly this. Almost nobody uses it. Here is what it is, why it matters and how we roll it out without touching every post by hand.
What Google asks for
A link that exists because money changed hands is an advertisement, and Google’s guidelines say it should carry rel="sponsored". Links from user-generated content should carry rel="ugc". The old rel="nofollow" still works as a catch-all but is now a hint rather than an instruction. The purpose is simple: paid links should not pass ranking credit, and a publisher that lets them is selling something Google considers its own.
The risk of ignoring it is not theoretical. A site with a steady stream of paid articles, each with a do-follow link to the sponsor’s product page, looks to Google exactly like a link-selling scheme, because that is what it is. The penalty, when it comes, lands on the whole domain.
Why publishers do not do it
Because it is tedious. Sponsored posts are written by the sponsor, pasted in by an editor, and published under a deadline. Nobody is going to open the HTML and edit every link. If the attribute is going to be present, the platform has to add it.
How we do it on WordPress
On the publishers we run, paid content lives in its own category or post type, which is the only prerequisite. We then add a small filter in the child theme that runs when a post is rendered. If the post is in the paid bucket, every outbound link in the content gets rel="sponsored" added, along with nofollow for older crawlers. Links to the publisher’s own domain are left alone. Editors change nothing in their workflow, and the attribute is on every paid article, including the ten years of back catalogue that nobody was ever going to edit.
Three details make this work in practice:
- Render-time, not save-time. Adding the attribute as the page is output means it applies to existing posts immediately and survives a sponsor sending an updated article. A save-time filter only catches new content.
- The paid bucket must be real. If editors sometimes file sponsored pieces under a news category, the filter cannot see them. We agree the rule with the editorial desk first and make the category mandatory for anything invoiced.
- Keep the sponsor’s deep links. Sponsors pay partly for the link. Marking it sponsored does not remove it or break it for readers. It only tells Google what it is, which is what Google asked.
What else sponsored content needs
The attribute is the part most sites miss, but it is not the whole job. Paid content should be labelled as such on the page for readers, which is a regulatory question as much as a search one. It usually belongs in its own section of the site with its own sitemap, so that the editorial sitemap stays clean. And it should be excluded from any “most read” or “related articles” logic that would promote it alongside news, unless the sponsor has paid for that too.
The result
On the publishers where we did this, nothing visible changed for readers or sponsors. What changed is that the domain stopped carrying a quiet risk, the ad sales team can tell sponsors truthfully that the site follows Google’s rules, and the site’s own editorial links are the only ones passing credit. That is the whole point of having a reputation.
We run the platforms and ad operations for several South African publishers. Sponsored content handling is part of the standard setup.
Got a similar problem? Talk to us.
Start a project