Docs Running a scan
Documentation

Running a scan

Scans crawl every product, page, blog article, and collection in your store, follow each internal link, and record anything that returns a non-2xx status.

What gets scanned

Relink walks four resource types via the Shopify Admin API, then extracts every internal anchor it finds and checks the destination URL is live.

  • Products — body HTML, metafields with rich-text values.
  • Pages — body HTML, including any embedded liquid links rendered to absolute URLs.
  • Blog articles — body HTML across every blog.
  • Collections — body HTML and any linked-product overrides.

Each link is fetched with redirect: "follow". A URL is healthy if the final response is 2xx, broken if it 404s, returns 410 Gone, or any other non-2xx status.

Why follow

Once Relink installs a redirect for a broken URL, that URL becomes healthy on the next scan. This is intentional — it's how the cleanup logic for stale redirects works.

Starting a scan

You can start a scan three ways:

  • Dashboard button — hit Scan store on the /app dashboard.
  • Daily scheduled scan — set the hour in Settings → Scan & detection; Relink fires once per day at that UTC hour.
  • Twice-daily scan — Business plan only. A second run fires at 18:00 UTC.

The scan queue

Scans run on a BullMQ worker, not in your browser. Each scan job is bound to a per-shop lock, so you can't accidentally double-click Scan and trigger two runs against the same store.

Relink · Scan progress
Scan in progress
Started 14:02 UTC · Queue position 1 of 1
Running
213 of 506 resources · ETA 2m 18s

Limits per plan

  • Free — 3 scans per month, 100 resources per scan.
  • Pro — unlimited scans, 2,500 resources per scan, 1× daily scheduled scan.
  • Business — unlimited scans & resources, 2× daily scheduled scans, priority queue.

See Billing & plans for the full quota matrix.

Scan history

The /app/scans page is a chronological log of every scan with timing, resources checked, links found, and a sparkline. Use it to spot whether a recent theme change added a wave of new broken links.

Relink · Scan history
May 29, 06:00 UTC
506 resources · 4 broken · 2m 14s
Complete
May 28, 06:00 UTC
504 resources · 18 broken · 2m 02s
Complete
May 27, 14:31 UTC (manual)
498 resources · 21 broken · 1m 48s
Complete

Real broken-link patterns we see

The most common reasons internal links break on a Shopify store:

Renamed product
/products/winter-knit-hat-2023
Slug edited during a seasonal refresh; old anchors in a "Featured" collection block kept pointing here.
Live page
/products/winter-knit-hat
AI matches via product title + tags.
Archived collection
/collections/black-friday-2023
Linked from three blog posts that still get traffic.
Live page
/collections/sale
Heuristic match — closest active collection by tag overlap.

Will scanning affect my storefront?

No. Scans hit the Shopify Admin GraphQL API and your storefront URL directly with a Relink user-agent. They do not run in the customer-facing render path and do not consume Storefront API quotas. Customers see no difference during scans.

Need a hand?

Email laurencetuchin@gmail.com — average reply under one business day.

Install Relink