Anchor Text Relevance Checker
Use cases
LLM evaluation of anchor text against target page via the OpenAI API (gpt-4o-mini by default, gpt-4o and gpt-4.1 selectable).
Three-dimension analysis: relevance accuracy, language naturalness, citation quality.
Four ratings: High, Medium, Fail, Typo.
Auto-fail criteria: questions, sentence fragments.
Batch processing with column mapping.
Platform
Browser-based (no installation required)
Input
OpenAI API key
Anchor text and target URL pairs
Optional: H1 and title for context
Output
Relevance rating per pair with JSON schema output. Bulk export: anchor, URL, metadata, rating category.
Features
- Three-dimension analysis (relevance/naturalness/citation)
- Four-level ratings: High, Medium, Fail, Typo
- Auto-fail for questions and fragments
- Batch processing with column mapping
- Optional H1 and title context
How to use
- 1 Enter your OpenAI API key
- 2 Upload CSV/Excel with anchor-URL pairs
- 3 Map columns (anchor, URL, optional H1/title)
- 4 Run semantic relevance check
- 5 Export with ratings: High/Medium/Fail/Typo
Frequently asked questions
- Does the tool read the content of the target page?
- No. It never fetches the URL. The model judges relevance from the anchor text, the URL string itself, and the target page H1 and title if you map those columns. Without an H1 or title the assessment leans entirely on what the URL slug implies, so map those optional columns whenever your export includes them.
- What file format and column names does the bulk checker need?
- CSV or Excel (.xlsx) with any column names. After upload you map the anchor text and target URL columns from dropdowns, plus optional H1 and title columns, so no fixed headers are required. A max rows setting (0 = all) lets you test on a small sample before committing a full run.
- What drives the OpenAI cost?
- One chat completion is made per batch of anchors, with a default batch size of 10 (adjustable 1 to 20), so cost scales with row count divided by batch size. The default model is gpt-4o-mini, with gpt-4o and gpt-4.1 selectable. A 1 second pause runs between batches, which also sets the overall runtime.
- Why do some rows come back marked Error?
- If an API call fails (invalid key, rate limit, network issue), every row in that batch is marked Error with the message attached. There is no automatic retry, so re-run the affected rows once the underlying problem is fixed.
- Why does the output only contain a rating and no explanation?
- By design: the prompt uses a strict JSON schema that returns only the rating (High, Medium, Fail or Typo) and explicitly tells the model not to include explanations. To interpret a Fail, check the auto-fail criteria: the anchor is a question, a sentence fragment, sounds SEO-manipulative, or does not indicate what the user will find after clicking.
Want me to run this for you?
I run this tool as a managed service, or build something custom around your data. You get the insights without touching the code.
Related Tools
SaaS platform for smarter internal linking using ML embeddings and semantic analysis.
Find distributor and stockist link opportunities for product brands you sell.
Create interactive Plotly treemaps of link distribution from crawl or GSC data.
Find Wikipedia pages that need citations in your niche. Built with Streamlit.
Find link opportunities by intersecting competitor backlink profiles.
Calculate the minimum ROAS needed to break even.
Need something built for your business?
This tool started as bespoke client work. I build custom scripts, data pipelines, and full apps for SEO and product data problems that off-the-shelf tools don't solve.
Tell Me What You Need