seotools.pro Get started free

Backlink Delivery QA Checklist Template

The vendor report says 20 links are live. You paid for them. But nobody opened the pages to check the target, the anchor or the rel attribute.

This checklist QAs each delivered link on the live page: exact href, anchor, rel value, noindex, canonical and a dated screenshot.

It keeps indexing notes honest. You can't inspect a publisher's URL in Search Console, so you log what you saw, where and when.

Inside: a fill-in QA sheet, link and page checks, an indexing log, an evidence pack with a fix request, a CSV header and a fictional example.

Format
Editable Word .docx
Length
7 variants · ~7 pages
Price
100% free
Setup
Copy or download

Get the editable Word doc in one click.

Free · No signup · Instant download

Works withSemrushSe Ranking
UOutreach & Link Building

Backlink Delivery QA Checklist Template

Backlink delivery QA sheet

One row per link a vendor, publisher or teammate reports as delivered. Check it on the live page before you accept it, pay for it or report it.

Order or campaign: [order ID / campaign] - Vendor or publisher: [name] - QA owner: [name] - QA date: [YYYY-MM-DD]

Live URLExact target URLAnchor textLink attribute (rel)Indexing observationEvidence
[https://publisher.com/post/][https://yoursite.com/page/ as found in href][anchor as found vs agreed][none / sponsored / ugc / nofollow][what you saw, where, on what date][screenshot file + date]
[live URL][exact href][anchor found / agreed][rel found / expected][observation + date][screenshot + date]
[live URL][exact href][anchor found / agreed][rel found / expected][observation + date][screenshot + date]

Per-row detail (fill for every link)

  • Agreed in the order: target [URL], anchor [text], rel [value], placement [body / author bio / resource list]
  • Live page status: [200 / 301 to [URL] / 404 / other], checked on [date]
  • Target URL status: [200 / redirects to [URL] / 404]
  • Live page robots rules: meta robots [none / noindex / nofollow], X-Robots-Tag [none / noindex]
  • Live page canonical: [self / points to [other URL] / missing]
  • Link found in: [page source / rendered page only / both]
  • Paid or exchanged link: [yes / no]. If yes, rel found: [sponsored / nofollow / none]
  • Verdict: [accept / fix requested / reject], reason: [one line]
  • Re-check date: [date]

Next action

  • QA owner: [name] - action: check every reported link and fill the row by [date]
  • Vendor contact: [name] - action: fix or replace rows marked "fix" or "reject" by [date]
  • Budget owner: [name] - action: approve payment only for accepted rows by [date]
  • Reporting owner: [name] - action: add accepted rows to the backlink tracker by [date]

Completion check

  • Every row has a live URL that opens, checked on a stated date.
  • The target URL is copied from the href, not from the vendor report.
  • Anchor text and rel were read from the page HTML, not from a screenshot alone.
  • Paid or exchanged links are qualified with sponsored or nofollow, as Google's spam policies ask.
  • Each indexing note says what was seen, where and when. No row says "indexed" without a source.
  • Each row has a dated screenshot and a verdict with one reason.
Download free template

Why it works

Every delivered backlink is checked on the live page for exact target, anchor, rel and indexability, with dated proof, before it is accepted or paid for.

  • Href, anchor and rel are read from the page HTML, so vendor report errors are caught early.
  • Indexing notes record what was seen and when, because Search Console can't inspect other sites.
  • Paid links are checked for sponsored or nofollow, following Google's current spam policies.

7 ready-to-use variants

Copy all

Backlink Delivery QA Sheet (fill-in)

When to use: One row per delivered link with live URL, exact target URL, anchor, rel, indexing observation, evidence, owners and a completion check.

Backlink delivery QA sheet

One row per link a vendor, publisher or teammate reports as delivered. Check it on the live page before you accept it, pay for it or report it.

Order or campaign: [order ID / campaign] - Vendor or publisher: [name] - QA owner: [name] - QA date: [YYYY-MM-DD]

Live URLExact target URLAnchor textLink attribute (rel)Indexing observationEvidence
[https://publisher.com/post/][https://yoursite.com/page/ as found in href][anchor as found vs agreed][none / sponsored / ugc / nofollow][what you saw, where, on what date][screenshot file + date]
[live URL][exact href][anchor found / agreed][rel found / expected][observation + date][screenshot + date]
[live URL][exact href][anchor found / agreed][rel found / expected][observation + date][screenshot + date]

Per-row detail (fill for every link)

  • Agreed in the order: target [URL], anchor [text], rel [value], placement [body / author bio / resource list]
  • Live page status: [200 / 301 to [URL] / 404 / other], checked on [date]
  • Target URL status: [200 / redirects to [URL] / 404]
  • Live page robots rules: meta robots [none / noindex / nofollow], X-Robots-Tag [none / noindex]
  • Live page canonical: [self / points to [other URL] / missing]
  • Link found in: [page source / rendered page only / both]
  • Paid or exchanged link: [yes / no]. If yes, rel found: [sponsored / nofollow / none]
  • Verdict: [accept / fix requested / reject], reason: [one line]
  • Re-check date: [date]

Next action

  • QA owner: [name] - action: check every reported link and fill the row by [date]
  • Vendor contact: [name] - action: fix or replace rows marked "fix" or "reject" by [date]
  • Budget owner: [name] - action: approve payment only for accepted rows by [date]
  • Reporting owner: [name] - action: add accepted rows to the backlink tracker by [date]

Completion check

  • Every row has a live URL that opens, checked on a stated date.
  • The target URL is copied from the href, not from the vendor report.
  • Anchor text and rel were read from the page HTML, not from a screenshot alone.
  • Paid or exchanged links are qualified with sponsored or nofollow, as Google's spam policies ask.
  • Each indexing note says what was seen, where and when. No row says "indexed" without a source.
  • Each row has a dated screenshot and a verdict with one reason.

Link Check: Target, Anchor and rel

When to use: Read the href, anchor and rel from the HTML and compare them with the order, using Google's rel definitions.

Check the link itself: target, anchor and rel

A link can look right on screen and still be wrong in the code. Read it in the HTML. Right-click the link and choose Inspect, or search the page source for your domain.

Five link checks

  1. Exact target URL: copy the href. Check protocol, www, trailing slash, parameters and letter case against the order.
  2. Target status: open the href. Note if it returns 200, redirects or breaks.
  3. Anchor text: copy the visible text between the tags. For an image link, note the alt text.
  4. rel attribute: copy the full rel value exactly as written, including combined values.
  5. Placement: note where it sits: body text, author bio, sidebar, footer or a list of links.

What each rel value means (Google, checked 10 November 2026)

rel valueGoogle says use it forQA note
sponsoredAds and paid placementsExpected on any link you paid or traded for
ugcUser-generated content, such as comments and forum postsNormal for links you posted in a forum or comment
nofollowCases where the other values don't applyGoogle still accepts it on paid links, but prefers sponsored
none of theseRegular links that need no qualificationRecord it as "none". Do not write "dofollow", it is not a rel value
  • Values can be combined with a space or comma, for example rel="ugc nofollow".
  • Google's spam policies list exchanging money for links, or for posts that contain links, as link spam unless the link is qualified with nofollow or sponsored.
  • So a sponsored attribute on a paid placement is correct. Do not mark it as a defect or ask the publisher to remove it.

Target URL problems to catch

  • The href points to an old URL that now redirects. Ask for the final URL.
  • The href has tracking parameters you did not agree to.
  • The href goes through a shortener or the publisher's own redirect.

Paste each href into the Redirect Checker to see the status code and every hop to the final URL.

Live Page Indexability Check

When to use: Check status code, robots meta, X-Robots-Tag, robots.txt, canonical and whether the link is in the source.

Check the live page: can Google index it?

A correct link on a page Google is told not to index is a weak delivery. These checks are on the page, so you can do them on any site without its owner's help.

CheckWhere to lookProblem sign
HTTP statusResponse of the live URL404, 410, 5xx, or a redirect to another page
Robots meta tag<meta name="robots"> in the headnoindex or none
X-Robots-Tag headerHTTP response headersnoindex or none
robots.txtpublisher.com/robots.txtA disallow rule that matches the post path
Canonical<link rel="canonical"> in the headPoints to a different URL
Link in HTMLPage source vs rendered pageLink only appears after scripts run, or only for logged-in users

What Google's documentation says (checked 10 November 2026)

  • noindex can be set with a robots meta tag or an X-Robots-Tag HTTP header.
  • For noindex to work, the page must not be blocked by robots.txt. A blocked page can't have its noindex read.
  • rel="canonical" is a strong signal, not a command. Google can still pick a different canonical.
  • A redirect is also a strong canonical signal.

How to read the result

  • Clean: 200, no noindex, self canonical, link in the source. Move on to the indexing observation.
  • Canonical elsewhere: note the URL it points to and check if your link is on that page too.
  • noindex or 404: mark the row [fix requested / reject] and ask for a replacement.

Run a Website Audit on your own site too. It flags status code errors, noindex and canonical problems. A link to a page that is broken or set to noindex on your own site gives you nothing.

Indexing Observation Log

When to use: Log what you observed about a third-party page's indexing, with method and date, without claiming more than you can see.

Indexing observation log

You can't see Google's index for someone else's site. Write what you observed, where and when. Do not write "indexed" or "not indexed" as a fact.

What you can and can't check (checked 10 November 2026)

  • URL Inspection tool: works only on URLs in a Search Console property you have access to. Use it for your target URL, not the publisher's page.
  • Even on your own site: Google says "URL is on Google" means eligible to appear, not guaranteed.
  • site: search: Google says the results are not necessarily complete. A missing URL is a rough signal, not proof.
  • Backlink tools: show what their own crawler found. That is not Google's index.

Observation wording to use

ObservationWrite it like this
Seen in Google"Live URL shown for site: search on [date], Google, [country]"
Not seen yet"Not shown for site: or exact URL search on [date]. Re-check [date]"
Blocked on page"Page carries noindex in [meta / X-Robots-Tag] on [date]"
Canonical elsewhere"Canonical points to [URL] on [date]"
Found by a tool"Listed by [tool name] on [date]"

Re-check plan

  • First check: on delivery, [date]
  • Second check: [date you agree with the vendor]
  • Final check before the guarantee ends: [date]
  • At every check, confirm the link is still there with the same target, anchor and rel.

Run your domain in the Backlink Analyzer to see your strongest links with first-seen dates. Log it as a tool observation, not as proof of indexing.

Evidence Pack and Fix Request

When to use: Capture dated proof for each link, decide accept, fix or reject, and send the vendor one clear fix list.

Evidence pack and fix request

Evidence protects both sides. It shows what was live on a date, and it gives the vendor a clear list of what to fix.

Capture for every row

  • Full-page screenshot with the address bar and the date visible, link highlighted.
  • The HTML of the link copied as text: href, anchor and rel.
  • Response headers of the live URL, or a note that no X-Robots-Tag was present.
  • The robots meta and canonical lines from the page head.
  • File name: [order-ID_publisher_YYYY-MM-DD.png]
  • Stored in: [shared folder link]

Accept, fix or reject

  • Accept: live page opens, href and anchor match the order, rel is honest for how the link was obtained, no noindex.
  • Fix requested: wrong target URL, wrong anchor, an unwanted redirect, or the link sits in a spot the order ruled out.
  • Reject: page returns an error, carries noindex, is blocked by robots.txt, or the link is missing.

Fix request message

Hi [name], thanks for the delivery report for [order ID]. We checked each link on [date]. [n] are accepted. These need a fix:

  • [live URL]: [issue, e.g. href points to old URL; please use [final URL]]
  • [live URL]: [issue, e.g. page has noindex; please replace]

Screenshots and HTML are in [folder link]. Could you confirm by [date]? We'll re-check the same day.

Score the vendor on fix speed and accuracy with the Link Building Vendor Scorecard. If an accepted link disappears later, use the Link Reclamation Template.

Want a second pair of eyes on a vendor's delivery report? Book a free consultation with Anatolii Ulitovskyi.

Spreadsheet Header (CSV)

When to use: A paste-ready header row and allowed values to run delivery QA in Google Sheets or Excel.

Paste-ready spreadsheet header

Paste this row into cell A1 of Google Sheets or Excel, then split text to columns by comma. One row per delivered link.

row_id,order_id,vendor,publisher_domain,live_url,live_status,target_url_agreed,target_url_found,target_status,anchor_agreed,anchor_found,rel_expected,rel_found,paid_or_exchanged,placement,meta_robots,x_robots_tag,robots_txt_blocked,canonical,link_in_source,indexing_observation,observation_method,observation_date,screenshot_file,qa_date,qa_owner,verdict,fix_reason,fix_due,recheck_date

Allowed values

  • rel_expected / rel_found: none, sponsored, ugc, nofollow, sponsored nofollow, ugc nofollow
  • paid_or_exchanged: yes, no
  • placement: body, author_bio, resource_list, sidebar, footer, comment
  • meta_robots / x_robots_tag: none, noindex, nofollow, noindex_nofollow
  • observation_method: site_search, exact_url_search, url_inspection_own_site, backlink_tool, not_checked
  • verdict: accept, fix_requested, reject, replaced

Sheet tips

  • Flag rows where target_url_found does not equal target_url_agreed.
  • Flag rows where paid_or_exchanged is yes and rel_found is none.
  • Flag rows where meta_robots or x_robots_tag contains noindex.
  • Sort by recheck_date so nothing passes its guarantee window unchecked.

Move accepted rows into the Backlink Tracker Template for long-term monitoring.

Worked Example (fictional garden shop)

When to use: Four filled rows for an invented shop's vendor order: one accepted, two fixes and one rejection.

Worked example: Tarnwick delivery QA

Example only. Tarnwick (a garden irrigation shop) and Plinthway Outreach (a link vendor) are invented. All URLs, dates and results are made up to show a filled-in sheet.

Order: PW-1042, four sponsored articles, rel="sponsored" agreed in the order - QA owner: SEO lead - QA date: 3 Nov 2026

Live URLExact target URLAnchor textLink attribute (rel)Indexing observationEvidence
greenplotdaily.example/drip-kits-guide/tarnwick.example/drip-irrigation/drip irrigation kits (as agreed)sponsored (as agreed)Shown for site: search, 3 Nov 2026pw1042_greenplot_2026-11-03.png
yardnotes.example/raised-beds/tarnwick.example/hoses/ (301 to /garden-hoses/)garden hoses (as agreed)sponsoredNot shown for site: search, 3 Nov 2026. Re-check 17 Nov 2026pw1042_yardnotes_2026-11-03.png
backlotgrower.example/watering-tips/tarnwick.example/timers/best water timers (agreed: Tarnwick timers)none (expected sponsored)Not checked: see verdictpw1042_backlot_2026-11-03.png
sproutledger.example/spring-prep/tarnwick.example/soaker-hoses/soaker hoses (as agreed)sponsoredPage carries meta robots noindex, 3 Nov 2026pw1042_sprout_2026-11-03.png

Verdicts

  • Row 1: accepted. 200 status, self canonical, link in the page source.
  • Row 2: fix requested. The href uses an old URL that redirects. Asked for the final /garden-hoses/ URL.
  • Row 3: fix requested. Anchor changed to an exact-match phrase, and a paid link had no rel value. Asked for the agreed anchor and rel="sponsored".
  • Row 4: rejected. The page has noindex. Asked for a replacement placement.

Follow-up

  • Plinthway fixed rows 2 and 3 on 6 Nov 2026. Re-checked the same day and accepted.
  • Payment approved for rows 1 to 3. Row 4 held until a replacement passes QA.
  • Row 2 re-check for the indexing observation set for 17 Nov 2026.

Why this works

  • Every verdict points to something on the page anyone can check.
  • The missing rel on a paid link was caught before payment, not after a problem.
  • No row claims a page is indexed. Each note says what was seen and when.

How to use this template

  1. Copy the order terms into the sheet: target URL, anchor, rel and placement agreed for each link.
  2. Open each live URL and read the href, anchor and rel from the HTML, not from the vendor report.
  3. Check the live page for status code, noindex in meta or headers, robots.txt blocks and canonical.
  4. Log an indexing observation with its method and date, and use URL Inspection only for your own target URL.
  5. Save a dated screenshot and the link HTML, then mark each row accept, fix requested or reject.
  6. Send one fix list to the vendor, re-check fixed rows, and approve payment only for accepted links.
  7. Move accepted links to your backlink tracker and re-check them before any guarantee ends.

Pro tips

  • Copy the target from the href. Vendor reports often list the URL you asked for, not the one they used.
  • A sponsored rel on a paid link is correct. Don't ask a publisher to strip it.
  • Check the page source, not only the screen. Some links appear only after scripts run.
  • Write "seen on [date]" instead of "indexed". It holds up when someone asks how you know.
  • Agree the QA rules and re-check dates in the order, before the first link goes live.

Frequently asked questions

What is a backlink delivery QA checklist?

A sheet you fill after a vendor or publisher reports a link as live. It checks the live URL, exact target, anchor, rel value, page indexability and dated evidence before you accept or pay.

Can I check if a publisher's page is indexed in Search Console?

No. The URL Inspection tool works only for URLs in a property you can access. For third-party pages, log a dated site: or URL search result as a rough signal.

Which rel value should a paid backlink have?

Google's spam policies say paid links should be qualified with rel="sponsored" or rel="nofollow". Google prefers sponsored for ads and paid placements.

What if the live page has a canonical pointing elsewhere?

Note the canonical URL and check if your link is on that page too. Google treats canonical as a strong signal, so the linking page may not be the one Google keeps.

How is this different from a backlink tracker?

A tracker monitors your whole link profile over time. This checklist gates each new delivery: accept, fix or reject. Accepted rows then move into the tracker.