Link Audit
link_auditAudit a page's outbound links to find SEO issues: internal/external split, rel attributes, anchor text coverage, and external domains. Optionally test links for broken status.
Instructions
Audit a page's outbound links: the internal/external split, rel attributes (nofollow, sponsored, ugc), links with no anchor text at all, generic anchor text ("click here", "leer más") that carries no topical signal, and the distribution of external domains. Optionally sample-verifies that links actually resolve, retrying with GET when a server rejects HEAD.
Args:
url (string): the page to audit.
check_broken (boolean): verify links resolve (default false).
sample_size (number): how many links to verify (default 25).
response_format ('markdown' | 'json'): output format (default 'markdown').
Returns: { total_links, internal_links, external_links, nofollow_links, empty_anchor_text, generic_anchor_text[], external_domains[{domain, count}], checked_count, broken[], score, grade, findings[] }.
Example: "Are there broken links on https://example.com/resources?" -> link_audit(url="https://example.com/resources", check_broken=true).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Page URL to analyse, e.g. 'https://example.com/blog/post'. The scheme defaults to https://. | |
| sample_size | No | How many links to verify when check_broken is true. | |
| check_broken | No | Sample links and verify they resolve. Adds up to 25 requests. | |
| response_format | No | Output format: 'markdown' for a human-readable summary (default) or 'json' for the full structured payload. | markdown |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| grade | Yes | ||
| score | Yes | ||
| broken | Yes | ||
| findings | Yes | ||
| final_url | Yes | ||
| ugc_links | Yes | ||
| total_links | Yes | ||
| checked_count | Yes | ||
| external_links | Yes | ||
| internal_links | Yes | ||
| nofollow_links | Yes | ||
| sponsored_links | Yes | ||
| external_domains | Yes | ||
| empty_anchor_text | Yes | ||
| generic_anchor_text | Yes |