SEO Site Audit & Broken Link Checker avatar

SEO Site Audit & Broken Link Checker

Pricing

from $5.00 / 1,000 pages

Go to Apify Store
SEO Site Audit & Broken Link Checker

SEO Site Audit & Broken Link Checker

Crawl a whole website and get an on-page SEO report for every page: titles, meta descriptions, H1 and heading structure, canonicals, noindex, alt texts, thin content, structured data, broken links and duplicate titles. No proxies, pay per page.

Pricing

from $5.00 / 1,000 pages

Rating

0.0

(0)

Developer

Tim Tonat

Tim Tonat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

This Actor crawls a whole website and audits every page for on-page SEO issues. Enter your homepage, and it follows all internal links and returns one row per page with the problems it found, plus a site-wide summary with broken pages and duplicate titles.

It checks what tools like Seobility, Screaming Frog or Ahrefs Site Audit check on-page, at a fraction of the price and without proxies or a browser, so runs are fast and cheap.

Why use this SEO audit tool?

  • Find broken pages (404, 500) and the page that links to them
  • Fix titles and meta descriptions that are missing, too short, too long or duplicated
  • Check heading structure: missing or multiple H1, skipped levels (h2 → h4)
  • Catch indexing problems: noindex, missing or foreign canonical tags
  • Accessibility and sharing basics: images without alt text, missing lang, viewport and og:image
  • Spot thin content and pages without structured data (JSON-LD)
  • Agencies: audit client sites on a schedule and export to Google Sheets or Excel
  • Pay per page: you control the cost with Max pages

What does the SEO audit check?

Issue codeMeaning
TITLE_MISSING, TITLE_TOO_SHORT, TITLE_TOO_LONGTitle missing, under 30 or over 60 characters
DESCRIPTION_MISSING, DESCRIPTION_TOO_SHORT, DESCRIPTION_TOO_LONGMeta description missing, under 70 or over 160 characters
H1_MISSING, H1_MULTIPLENo H1 or more than one H1
HEADING_LEVEL_SKIPPEDHeading levels skipped, e.g. h2 → h4
CANONICAL_MISSING, CANONICAL_POINTS_ELSEWHERENo canonical tag, or it points to another URL
NOINDEXPage is excluded from search engines
LANG_MISSING, VIEWPORT_MISSINGNo lang attribute, no mobile viewport
OG_IMAGE_MISSINGNo preview image for social media and messengers
STRUCTURED_DATA_MISSINGNo JSON-LD structured data
IMAGE_ALT_MISSINGImages without alt attribute (alt="" counts as decorative and is fine)
THIN_CONTENTFewer than 300 words of visible text
HTTP_404, HTTP_500, …Broken page
UNREACHABLEPage could not be loaded at all (DNS error, timeout)

Each row also contains the raw values: title, description, lengths, H1, canonical, word count, image and link counts, and the page where the link was found (foundOn).

How to run an SEO audit of your website

  1. Click Try for free.
  2. Enter your homepage in Website URL.
  3. Set Max pages (start with 100).
  4. Click Start.
  5. Open the Pages table and sort by issues, or open the Summary for broken pages and duplicates.

How much does an SEO site audit cost?

This Actor uses pay per event: a fixed price per audited page, and platform usage is included. The current price is shown in the Pricing tab. Pages that cannot be reached at all are not charged. With Max pages you always know the maximum cost in advance.

Input

See the Input tab for all options.

{
"startUrls": [{ "url": "https://example.com/" }],
"maxPages": 100,
"respectRobotsTxt": true
}

Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

{
"url": "https://example.com/services/",
"statusCode": 200,
"foundOn": "https://example.com/",
"issues": ["TITLE_TOO_LONG", "IMAGE_ALT_MISSING"],
"title": "All our services for private and business customers | Example Company",
"titleLength": 71,
"descriptionLength": 145,
"h1Count": 1,
"canonical": "https://example.com/services/",
"wordCount": 640,
"imagesWithoutAlt": 2
}

The Summary (key-value store record SUMMARY) contains issue counts for the whole site, all broken pages with the page that links to them, and duplicate titles and descriptions:

{
"pagesAudited": 87,
"issueCounts": { "IMAGE_ALT_MISSING": 23, "TITLE_TOO_LONG": 9, "HTTP_404": 2 },
"brokenPages": [{ "url": "https://example.com/old-offer/", "statusCode": 404, "foundOn": "https://example.com/blog/" }],
"duplicateTitles": [{ "value": "Example Company", "urls": ["https://example.com/a/", "https://example.com/b/"] }],
"duplicateDescriptions": []
}

Combine it with the PageSpeed Bulk Audit: take the URLs from this audit and check their speed and Core Web Vitals.

FAQ

Not yet. It checks every internal page of the website. External links are counted per page but not requested.

Does it work with JavaScript-heavy sites?

The Actor reads the HTML the server delivers, like most search engine crawlers do on the first pass. Sites that render all content only in the browser (some single-page apps) will show missing titles or thin content. That is often a real SEO problem in itself.

Will it overload my server?

No. It follows robots.txt by default and uses at most 10 parallel requests.

Something does not work

Please open an issue in the Issues tab with the website and the run ID. You can also start the Actor programmatically from the API tab.