Sitemap and URL Status Auditor
Pricing
from $1.00 / 1,000 url checkeds
Sitemap and URL Status Auditor
Checks every URL in a sitemap for broken links, redirect chains, noindex conflicts and canonical problems. You get a health score and a list of what to fix first. Turn on change tracking to see what changed since the last run. $0.001 per URL, and $0.03 for an optional client report.
Pricing
from $1.00 / 1,000 url checkeds
Rating
0.0
(0)
Developer
Vi Zellie
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Point it at a website or a sitemap. It finds the sitemap, checks each URL, and tells you what is broken, what redirects, and which pages should not be in the sitemap. Every run also produces a health score, a short fix-these-first list, and a shareable HTML report.
Not legal advice; general information only.
Who it is for
Site owners, SEO consultants and agencies who want a repeatable check after a migration, a content update, or as a weekly health job.
What you get
- Sitemap discovery from
robots.txt, sitemap indexes,.xml.gzfiles and plain-text sitemaps. - For each URL: HTTP status, final URL, redirect hop count, response time, content type, title, canonical and index instructions.
- Flags for broken links, long redirect chains, redirect loops, noindex pages in the sitemap, canonical mismatches and stale sitemap dates.
- A health score from 0 to 100, plus a prioritised list of what to fix first.
- Optional change tracking: URLs that newly broke, were added, or disappeared since the last run.
- An HTML report saved with the run, with no page bodies stored.
- Polite crawling that honours
robots.txt. Skipped URLs are not charged.
The auditor only requests public websites. Private, local and metadata addresses are skipped and are not charged.
Tutorial
- Paste one or more websites or sitemap URLs into Website or sitemap URLs.
- Set Max URLs to the budget you want for this run. Several sites share that budget evenly.
- Leave Respect robots.txt, Same domain only and the SEO checks on unless you have a reason to change them.
- To compare with last time, turn on Track changes since the last run and keep the same changes key for that site.
- Run the Actor.
- Open the dataset for every URL, the
OUTPUTrecord for the score and the change list, and theREPORTrecord for the HTML summary. - Schedule the task weekly if you want a standing check.
Client-ready report
Use this when you want one file to send to a client. It is off by default. Off does not add a file and does not add a fee.
- Paste a website or a sitemap URL.
- Set Client-ready report to HTML.
- Run the Actor.
- Open the Output tab. Client report (HTML) is
REPORT.htmlin the key-value store. Client report summary lists that key.
The page has a cover with the site, the date and the health grade, a short summary in plain language, and a table of findings. Each finding says what it means and how to fix it. A run with more than one site has a section per site. Pass, warning and fail stay readable in black and white. The footer says Generated with Sitemap and URL Status Auditor.
The report fee is charged once per run, and only after the file is saved. A failed save is not charged. The dataset and the existing REPORT summary stay included in the URL fee. This Actor saves HTML. It does not save a PDF.
Example input
{"startUrls": ["https://example.com"],"maxUrls": 100,"maxConcurrency": 5,"sameDomainOnly": true,"trackChanges": true,"changesKey": "example.com","staleLastmodDays": 365}
Example output
One dataset row per URL that was actually checked:
{"url": "https://example.com/pricing","finalStatus": 200,"finalUrl": "https://example.com/pricing","redirectHopCount": 0,"title": "Pricing","titleLength": 7,"canonical": "https://example.com/pricing","canonicalMismatch": false,"noindex": false,"robotsConflict": false,"lastmodStale": false,"isBroken": false,"issues": ["title-too-short"]}
The run summary includes health.score, health.fixFirst, status counts, and changes when tracking is on. changes lists URLs that newly broke, were added, or disappeared. If the run stopped early because of a limit, disappeared URLs are left out so a shorter run is not mistaken for a wave of deletions.
Pricing
You pay a small fee when the run starts, plus a fee for each URL that is checked.
| What | Price |
|---|---|
| Run start | $0.00005 |
| URL checked | $0.001 |
| Client-ready report | $0.03 |
URLs skipped because of robots.txt, because they are outside the domain filter, or because they are not on the public internet, are not charged. The health score, the change list and the HTML summary in REPORT are included. They do not add a fee. The client-ready report is a separate file and is charged once per run, only when that file is saved. Leave Client-ready report on Off and that fee is not charged. Add $0.03 to any example below when the report is saved. The start fee is Apify's default, so a scheduled run that checks nothing stays cheap.
Examples
- 100 URLs: $0.00005 + (100 × $0.001) = $0.10005.
- 500 URLs: $0.00005 + (500 × $0.001) = $0.50005.
- A weekly check of 500 URLs: about $2.00 a month.
- A run that checks nothing: $0.00005.
Set Max URLs, and Apify's maximum cost per run, before you point this at a large site. The pricing tab on the store is the price you are charged if it ever differs.
Scheduling and integrations
Save a task with Track changes on and schedule it. Use one changes key per site. Send the dataset or the HTML report to Google Sheets, Slack, email, Make or Zapier, or read it from an AI agent over MCP. The report is a single HTML file in the run's key-value store under REPORT.
No personal data (AVG/GDPR)
The audit stores technical results, not page content.
- Page bodies are not stored. Only status, timing, and the meta fields needed for the SEO checks (title, canonical, robots, headings count, language).
- Email addresses, phone numbers, street addresses and secret-like query values are removed from stored URLs, titles and the report.
- Cookies and request headers are never logged or saved.
- The change history stores URL and status only.
- A person's name that is the public title of a page can remain, because the title itself is what the length check measures. Contact details inside that title are removed.
Only audit sites you are allowed to check, and keep concurrency low on sites you do not operate.
FAQ
The score is not 100. What should I open first?
Open health.fixFirst in the summary, or the same list in the HTML report. It is ordered so the most serious items are first.
Why were some URLs free?
Skipped URLs are not checked and not charged. That includes robots.txt exclusions and addresses that are not public.
Why is a sitemap URL marked noindex? The sitemap lists it for indexing, but the page tells Google not to index it. Remove it from the sitemap or allow indexing.
A redirect looks fine. Why is it flagged? A single hop is reported, not treated as a failure. Chains longer than two hops are flagged when that check is on. You can turn the flag off and still see the hop count.
What is a stale lastmod? The date in the sitemap is older than the number of days you set (365 by default). Set Stale lastmod to 0 to turn the check off.
Good to know
Some sites answer cloud servers with a challenge page. The result shows that status rather than hiding it. JavaScript is not executed, so tags that only appear in the browser are not seen. With several input sites, Max URLs is split evenly.
Next additions
- Agency white-label logo
- Dutch report