# Changelog of SEO Audit Tool: Titles, Meta Tags, Headings and Links API (`rowcraft/seo-audit-tool`) Actor

- **URL**: https://apify.com/rowcraft/seo-audit-tool/changelog.md
- **Full Actor documentation**: https://apify.com/rowcraft/seo-audit-tool.md

## Changelog

### 1.0.4 (2026-10-17)

- Fix: a robots.txt served as an HTML page (catch-all page or a redirect to the home page, for example thumb.wikimedia.org) counted as an anti-bot block, so every page on that host was refused; it is now treated as a missing robots.txt, as the standard says. Real anti-bot pages are still recognised.

### 1.0.3 (2026-10-17)

- README: the Use cases section links the two public examples kept on the Store (Apify allows 100 public tasks per account; the third example stays available as a private task spec).

### 1.0.2 (2026-10-17)

- README: the list of other Rowcraft actors now includes the five website and extension tools published on 16.10.2026.
- Shared library: URL-like fields named link or guid (feed items) are no longer flagged as phone numbers; retry log line now reads "retry n/m".
- Shared library: an HTML page where JSON was expected (maintenance or block page, seen on 17.10.2026 at the Polish KRS API and at Workday) is retried and then reported with the page text instead of crashing the run on a parse error.

### 1.0.1 (2026-10-14)

- README: real screenshots of the input form and of a results table from Apify Console.

### 1.0.0 (2026-10-14)

- First release: an on-page SEO audit of web pages. One row per page read: address given and final address after redirects, HTTP status, redirect count, response time, content type and size, title and meta description with their lengths, first H1 and the H1 and H2 counts, canonical and whether it points to the page itself, robots and googlebot meta directives and the `X-Robots-Tag` header, an `indexable` flag with the reason, language and hreflang alternates, Open Graph and Twitter card tags, Schema.org types from JSON-LD and microdata, word count, internal, external and nofollow link counts, image and missing-alt counts.
- 20 issue codes with documented thresholds and a score from 0 to 100 with documented weights (see the README); a `seoHash` fingerprint of the SEO fields.
- Optional link following (`crawl`) with a page limit per site (`maxPagesPerSite`): same-site links in document order, breadth first; links with a query string, non-page files, nofollow links and links that leave the site are not followed.
- robots.txt read and obeyed on every host, including redirect targets and followed links; a Crawl-delay is respected (up to 10 seconds); one request per second by default (minimum 250 ms).
- `COVERAGE` per page (ok, blocked, robots_disallowed, not_found, not_html, skipped, error, not_checked, with the reason) and `RUN_SUMMARY` with the most frequent issues and the average score. Anti-bot pages, robots.txt refusals, missing pages, non-HTML answers, invalid entries and duplicates are never charged; after 3 anti-bot pages in a row on one site the rest of that site is not requested, after 10 in a row the run stops.
- Standard Rowcraft automation: only pages whose SEO fingerprint changed since the last run (`onlyNew`, `stateName`), end-of-run notification (`notifyUrl`), charge cap respected, stop with the summary saved 90 seconds before the run timeout.
- No personal data: `mailto:`, `tel:` and `sms:` links are skipped completely, e-mail addresses and phone numbers inside titles, descriptions and headings are masked, and no author names are read.
