How to earn backlinks without buying them
I’ve bought links before. Cheap PBN placements, a couple of “guest post packages” from marketplaces, one particularly bad $80 link on a site running four other niches under the same footer. Some of it worked for a while. Most got devalued after a core update or sat doing nothing because the referring domain had no real traffic or trust. Buying links is a payments problem disguised as an SEO problem, you’re paying to rent authority you didn’t earn, and Google explicitly classifies paid links that pass PageRank as a link scheme, which puts your whole site at manual-action risk if you get sloppy.
This tutorial is for operators running content sites, SaaS blogs, or affiliate properties who want a link acquisition process that doesn’t depend on a marketplace invoice. It assumes you already have a site worth linking to, or the ability to build one page that is. If not, fix that first, no outreach tactic here rescues a page nobody wants to reference.
By the end you’ll have a repeatable weekly process: one linkable asset, three outreach channels running in parallel (broken link building, journalist queries, and competitor gap analysis), and a tracking sheet that tells you what’s actually converting so you stop guessing.
what you need
- A crawler and backlink data source. Ahrefs (Lite plan runs about $129/month billed annually) or Semrush for competitor gaps and broken-link discovery. Ahrefs’ free Webmaster Tools covers your own site’s backlink profile if you’re not ready to pay.
- Screaming Frog SEO Spider. Free for the first 500 URLs, a paid licence is about £199/year if you’re crawling resource pages at volume for dead links.
- A journalist query platform. Connectively (the platform formerly known as HARO, now run by Cision after the 2023 acquisition) has a free tier and paid tiers for faster access to queries.
- A sending domain and inbox separate from your main business email, so a bad outreach campaign doesn’t torch your primary domain’s sender reputation.
- A spreadsheet or lightweight CRM. BuzzStream starts around $24/month if you want outreach tracking built in, otherwise a Google Sheet with columns for target URL, contact, pitch sent date, and status works fine at low volume.
- One genuinely linkable asset, or the willingness to build one in step 2. Original data, a free tool, or a resource nothing else on the web covers as completely.
- Time. Budget 6 to 10 hours a week if you’re doing this solo. This is not a set-and-forget channel.
step by step
1. audit what you already have
Pull your existing content and rank it by “would a stranger link to this unprompted.” Most posts fail this test, useful to the reader but nothing another site owner would cite. What passes: original data, a comparison table nobody else has assembled, a free calculator, an explainer that out-documents the top-ranking page.
Expected output: a short list, often 1-3 pages, of assets worth promoting. Everything else on your site is not going to be the subject of this campaign.
If it breaks: if nothing on your site passes the test, stop here and go build one asset before doing any outreach. Pitching a generic 800-word post to a journalist wastes your one shot with that contact.
2. build one linkable asset
The formats that consistently earn unpaid links: original survey or usage data, a free tool or calculator, an exhaustive resource page (the “skyscraper” approach: take the best-ranking page and make something more current, more complete, or better sourced), or an original dataset nobody else has bothered to compile.
For an SEO or ops-adjacent site, this might be a pricing comparison updated quarterly, or a breakdown of a niche regulatory change with primary source citations. The asset needs a URL you’d be comfortable putting in a pitch email to a journalist without embarrassment.
Expected output: one published page with a clear headline claim (“we analyzed X”, “the only current list of Y”).
If it breaks: if you can’t find an angle, look at what already ranks and ask what it’s missing, usually it’s recency, primary sourcing, or a data point competitors handwave past.
3. map who links to your competitors
Run your top 2-3 competitors through Ahrefs’ Site Explorer or Semrush’s Backlink Gap tool, looking for domains that link to competitor content similar to your asset but don’t yet link to you. Ahrefs has a solid walkthrough of this workflow if you haven’t run a gap analysis before.
# quick CLI sanity check on a candidate list of referring domains,
# confirms which ones are still live before you spend time on outreach
while read -r url; do
code=$(curl -s -o /dev/null -w "%{http_code}" -L "$url")
echo "$code $url"
done < referring_domains.txt
Expected output: a filtered list of 30-80 live, relevant domains that already link out to content in your space.
If it breaks: if the gap tool returns mostly low-authority spam domains, tighten the Domain Rating filter (I cut anything under DR 20 for this) and re-run against a different competitor.
4. find broken links you can replace
Crawl resource pages, “best of” lists, and citation-heavy articles in your niche with Screaming Frog in list mode, looking for 404s and dead external links. When one points to something adjacent to your asset, you have a natural pitch: “this link is dead, here’s a current replacement.”
# example: crawl a list of resource-page URLs and export response codes
screamingfrogseospider --headless --crawl-list resource_pages.txt \
--output-folder ./crawl_output --export-tabs "Response Codes:All"
Expected output: a short list of dead-link opportunities with the exact anchor text and page context you can reference in your pitch.
If it breaks: if the crawl finds very few dead links, you’re probably crawling actively maintained pages, go one tier down to less-trafficked “further reading” sections, those get stale faster.
5. pitch journalists through Connectively
Set up a Connectively (formerly HARO) profile with a tight bio and 2-3 topics you can credibly comment on same-day. Queries move fast, most want a response within hours, not days. Lead your answer with a specific, quotable claim, not a paragraph of throat-clearing. Include your name, title, and site URL in a one-line signature.
Expected output: journalists that use your quote typically link to your homepage or a specific page, this is one of the few channels that reliably earns links from high-authority news domains.
If it breaks: if you’re getting zero pickups after 15-20 pitches, your response is probably too generic or arriving too late. Set a phone notification for new queries in your topic and aim to reply within the first hour.
6. run broken-link and gap outreach
Email the site owners from steps 3 and 4. Keep it short: what’s broken (if applicable), what you’re offering as a replacement, and a direct link. No mail-merge tells, no “I came across your amazing website” openers.
Subject: dead link on your [topic] resource page
Hi [name],
Found a broken link on [page URL], the one pointing to [old resource]
under "[section heading]" returns a 404.
I put together [your asset] which covers the same ground and is current
as of [month/year]: [your URL]
No obligation either way, figured you'd want to know about the dead link
regardless.
[your name]
Expected output: a reply rate between 5-15% is normal for cold broken-link outreach, and a fraction convert to an actual link within a few weeks.
If it breaks: if replies are near zero, check that emails aren’t landing in spam (a fresh sending domain with no SPF/DKIM history gets flagged fast), and confirm you’re not pitching the same domain twice under different personas, that gets noticed.
7. write unpaid, editorially-reviewed guest content
Some sites still accept contributor pieces without payment, in exchange for a byline and a contextual link. This differs from paid guest-post marketplaces, you’re pitching editors directly with an idea worth publishing on its own merits, not paying for placement. Look for sites with an active “write for us” page and genuine editorial review, not ones that will publish anything for a fee.
Expected output: a byline link on a site with real traffic and topical relevance, these tend to hold up better over time than paid placements because the content passed an actual editorial bar.
If it breaks: if editors go quiet after your pitch, you’re probably pitching a topic they’ve already covered. Read their last 10-15 posts before pitching so your angle is additive.
8. track, follow up, and prune
Log every pitch, its status, and the date. Follow up once, at the 7-10 day mark, then move on. Don’t follow up more than twice, it reads as pressure rather than helpfulness.
Expected output: a running tracker that tells you which channel (broken link, journalist query, gap outreach, guest pitch) is converting best, so you can shift hours toward what’s working.
If it breaks: if your tracker shows zero conversions after a full month across all channels, the problem is usually the asset from step 2, not your outreach copy. Go back and make the asset stronger before sending more emails.
common pitfalls
- Pitching before the asset is good enough. A mediocre resource page gets ignored regardless of outreach polish. Editors and journalists see hundreds of these, the asset has to do the convincing.
- Sending identical mail-merged pitches at volume. Recipients compare notes, especially in small niches, and generic blasts get flagged or ignored fast.
- Chasing anchor text instead of relevance. A link from a topically relevant site with modest traffic is worth more than an off-topic link from a bigger domain. Don’t optimize for Domain Rating alone.
- Ignoring nofollow and sponsored attributes. Not every earned link needs to pass full authority to be worth having, referral traffic and brand mentions matter too, but don’t count nofollow links toward your ranking-link goals when evaluating what’s working.
- Treating this as a one-time sprint. Link earning compounds when it’s a standing weekly process. A two-week push followed by six months of nothing produces a spike then a plateau.
scaling this
At 10x (going from a handful of pitches a week to a few dozen), the bottleneck is your own bandwidth. A tracking sheet and a couple of email templates you personalize per-send are enough.
At 100x, you need a second sending domain or two so a bad open/reply rate on one campaign doesn’t drag down deliverability everywhere else, and you likely need a dedicated person or contractor running outreach full time rather than fitting it between other tasks. If you’re running outreach for more than one site or client at this scale, keeping browser profiles, sending domains, and IP footprints cleanly separated per campaign matters far more than at 10x, multiaccountops.com covers the tooling side of that kind of isolation if you haven’t set it up yet.
At 1000x, you’re no longer doing manual broken-link discovery, you’re running scheduled crawls against a standing list of resource pages and routing qualified leads into a CRM with sequenced follow-ups. The asset side has to scale too, one linkable page can’t carry a thousand-pitch campaign, you need a portfolio of assets across your site’s subtopics so each pitch stays relevant instead of forcing the same page onto everyone.
where to go next
Backlinks only compound if the site they point to is structured to hold and pass that authority. Two follow-ups worth reading next: how to build a topical authority content plan covers the site architecture that makes earned links actually move rankings instead of sitting on an orphaned page, and how to do keyword research in 2026 if you’re still deciding which pages deserve to be your linkable assets. For the broader picture of what Google weighs when evaluating a site’s trustworthiness, see E-E-A-T explained: what Google actually rewards. More tutorials like this live on the blog index.
Written by Xavier Fok
disclosure: this article may contain affiliate links. if you buy through them we may earn a commission at no extra cost to you. verdicts are independent of payouts. last reviewed by Xavier Fok on 2026-07-16.