"Unnatural links from your site" manual action: fixing outbound links

This action is about the links you publish, not the ones you receive. Google detected "a pattern of unnatural artificial, deceptive, or manipulative outbound links" on your site, typically links you were paid to place or links traded in excessive exchanges. The fix is to remove those links or change them so they no longer pass PageRank, for example with rel="sponsored" or rel="nofollow", then request a review with examples of what you changed.

The usual scope is the pages that carry the links, but the reputation cost of selling links can be wider, so clean every instance, not only the sample URLs.

Very few owners think of themselves as link sellers. The pattern usually builds up from ordinary-looking deals:

  • "Sponsored" guest posts accepted for a fee, with do-follow commercial anchors in the body.
  • Link insertion requests, where someone pays to add a link to an old, well-ranking post.
  • Blogroll or partner widgets that list dozens of reciprocal links on every page.
  • Theme or plugin footer credits with commercial anchors, added by a free theme you installed years ago.
  • Affiliate links printed as plain links rather than qualified ones.
  • Hacked link blocks: invisible outbound links injected by malware. If you find links you never added, check the hacked content injection page before anything else.

Affiliate links and sponsored content are fine in themselves. The violation is letting them pass ranking signals.

Start with your records: invoices, sponsorship emails and any "write for us" submissions. Then search the database for outbound links in post content. With WP-CLI:

bash
# Posts that mention a domain you know paid for a link
wp post list --post_type=post,page --s='buyer-domain.example' --fields=ID,post_title,post_date
# Every table, including widgets, options and custom fields
wp db search 'buyer-domain.example' --all-tables

Run it once per buyer or partner domain. Also check widgets (the widget_text and widget_custom_html rows in wp_options), menus and theme footer files, since links there repeat on every page.

For each paid or exchanged link, pick one:

  • Remove it if the post has no value without it.
  • Add rel="sponsored" for paid placements and affiliate links. In the block editor, switch the block to Edit as HTML or use the Code editor and add the attribute to the <a> tag.
  • Add rel="nofollow" where the relationship is unclear.

Hydrogen SEO's Nofollow External Links switch on the General screen adds rel="nofollow" to every external link in your content. It is a quick way to neutralize everything at once, but it also nofollows your honest editorial citations, so most sites are better off qualifying individual links. The sponsored and UGC links entry explains which label fits which link. After editing, clear any page cache so Google fetches the new HTML.

Reading the notice and its scope

The entry in Security & Manual Actions → Manual actions is titled "Unnatural links from your site". Expand it to see the affected patterns. You might see a single folder such as https://example.com/sponsored/*, a list of individual posts, or "Affects all pages" when the links sit in a sitewide footer. Google notes that not every page matching a pattern is necessarily affected, but the fix has to cover all of them, because cleaning only the sample URLs will not earn a partial return.

Google's help page does not spell out the effect beyond its general rule that pages with a manual action may rank lower or be omitted from results. Your inbound links are not the issue here, so a disavow file does nothing for this action. If you see both link actions at once, you are probably part of a two-way scheme, and each needs its own cleanup and its own evidence.

Before you edit, export a list of every affected URL and the link you changed on it. That list becomes the evidence for your request and protects you if a later editor restores an old revision. Revision history in WordPress can also bring a paid link back: if you restore an earlier version of a post, check it again.

What to put in the request

Google asks you to "provide examples of bad content that you removed and good content that you added." Give counts and examples, not a promise:

text
We accepted paid guest posts between 2021 and 2024 without qualifying
the links. We have reviewed all 380 guest posts: 96 were deleted,
284 now carry rel="sponsored" on every paid link. Footer partner links
(22 sites) were removed from the theme. Examples:
/blog/best-crm-tools/  (link to vendor now rel="sponsored")
/blog/garden-sheds-guide/  (deleted, returns 410)
New policy: all paid placements are labelled and qualified.

Select Request Review in the Manual actions report once the whole site is clean, then wait for the result email. Most reviews take several days or weeks. If rejected, look for links you missed, especially in old posts, sidebars and custom fields, and resubmit only once you are sure.

Common questions

Is it enough to nofollow the links rather than delete them?

Yes. Google's recommended actions allow either removing the links or changing them so they do not pass PageRank, with rel nofollow or a more specific attribute such as rel sponsored.

Do affiliate links cause this manual action?

Affiliate links are allowed. They become a problem when they pass ranking signals as if they were editorial links. Marking them rel sponsored is the safe default.

Should I switch on nofollow for all external links?

It works, but it also marks your genuine citations. It is a reasonable emergency measure while you audit, and most sites then return to qualifying individual paid links.