An SEO audit is only as good as the problems it surfaces. Over the past couple of weeks we shipped a batch of improvements aimed squarely at that: catching duplicate content that exact matching misses, making the indexability verdict trustworthy, validating structured data instead of just counting it, and ranking issues by the search traffic they actually affect.
Here is what is new and why it matters for your audits. The through-line is simple. An audit should be accurate about what is wrong, honest about what is actually indexable, and clear about what to fix first.
Duplicate and thin content that reflects reality
Most duplicate-content checks compare whole pages or require a byte-for-byte match. That misses the case every catalog and e-commerce site runs into: two product pages with the same description and only a different size or SKU. Exact matching calls them unique. They are not.
Near-match duplicate detection. IATO now compares the values you already extract (your description field, your meta description, whatever container you define) and groups pages whose values are identical once numbers and SKUs are set aside. The size-or-SKU-swap case that slipped past exact matching is now caught and counted. On a catalog with variant products, that can move a duplicate count from near zero to a number that finally matches what a manual review turns up.
Duplicate counts scoped to what matters. A duplicate on a noindexed or canonicalized page is not really a problem, because that page was never going to be indexed on its own. The duplicate view now separates those out, so the number you see reflects issues worth acting on.
Word counts that ignore the chrome. Thin-content detection used to count everything on the page, including the navigation, mega-menu, sidebar, and footer. A page wrapped in a heavy template looked substantial even when the real content was a sentence. IATO now measures the main content area, so thin pages surface correctly.
Templated title and meta detection. A fixed brand suffix on every title quietly eats the character budget that should be describing the page. IATO now flags a constant prefix or suffix that appears across a large share of your titles or meta descriptions, not just the ones that happen to be too long.
You will find all of this in the Extracted Data view, with a drill-down to the exact pages that share a value, so a finding is one click from the URLs behind it.
Indexability you can trust
Whether a page can actually be indexed depends on several signals, and a partial check gives false confidence.
Sitemap reconciliation. A sitemap is meant to list the pages you want indexed. In practice it drifts. IATO already flagged crawled pages missing from the sitemap. It now adds the reverse cross-checks too: pages that are in the sitemap but are noindexed, canonicalized elsewhere, redirecting, or returning an error. A sitemap that quietly under-declares or over-declares its pages is no longer invisible.
A complete indexability verdict. The verdict now reads all three signals that decide whether a page is indexable: the meta robots tag, the X-Robots-Tag response header, and robots.txt. A page blocked by any one of them is flagged, so "is this page indexable" finally has a dependable answer.
Both surface in the Technical SEO view, next to the indexable and canonical counts you already track.
Structured data, validated (not just counted)
Reporting that a page has schema markup tells you it exists. It does not tell you whether the markup is correct, and incorrect markup is the difference between earning a rich result and being passed over.
IATO now validates structured data against what search engines actually require. It checks the required and recommended properties for each type, flags Product markup missing offers, price, or availability, surfaces items that are not eligible for rich results, and catches the subtle bugs, like a URL slug that has leaked into a name field. It runs on your existing crawls, with no re-crawl needed. You will see it in the Structured Data view, grouped by type and severity, so the findings that block a rich result stand out from the cosmetic ones.
Prioritize by real traffic
A large site can return hundreds or thousands of issues. Without a sense of impact, that list is just a list, and the temptation is to start at the top and never reach the pages that matter.
IATO now joins Google Search Console impressions and clicks to each crawled URL and offers a priority queue that ranks issues by impressions and severity together. A thin page with ninety thousand impressions rises to the top. A thin page with none sinks. Severity becomes a real priority queue instead of a flat list, so your team fixes what visitors and search engines actually see first. Connect Search Console once, then open any project's issues and choose Prioritize by traffic.
Guidance for your whole team
An issue list assumes the reader already knows what to do about each finding. Marketers and developers need different things from the same issue.
Every issue type now carries a plain-language explanation with two views. The marketer view answers what the issue is, why it matters, and how to fix it in practical terms. The developer view gives the precise change: the exact tag, header, attribute, or status code. Open any issue and switch between the two. One audit, two audiences, no translation step in between.
Less setup, more signal
Good tooling should not make you rebuild things it already knows.
Standard fields are captured natively. Title, meta description, canonical, headings, hreflang, Open Graph tags, image alt text, links, and JSON-LD are all captured automatically. If you had recreated any of these as a custom extraction rule, IATO now points that out, so you can drop the duplication and reserve custom rules for genuinely site-specific data like price or SKU.
Crawl mode is visible everywhere. A crawl seeded from a sitemap or a URL list covers far less than a full discovery crawl, yet the results used to look identical. Every project now shows its mode, so a limited run is never mistaken for a complete audit.
The export carries the full picture. The per-URL export now includes the computed link layer: inbound internal links, an orphan flag, indexability, and the canonical. The data you see in the dashboard is the data you get in the file, with nothing to recompute on your end.
Keep the feedback coming
A lot of this came from a power user who put IATO through its paces on real client sites and sent us a detailed, honest list of where it came up short. That kind of feedback is the best roadmap we get. If you run audits for a living and something in IATO is not pulling its weight, tell us.
Ready to try it? Start a crawl, connect Search Console, and let the priority queue tell you where to begin.