Enque Changelog

Product updates from the Enque team

Four on-page audits, and every page actually read #

Meta tags, headers, canonicals and robots.txt each ship as a full workbook — and the audits now read every page in the budget instead of the first handful.

07 Aug 2026

New
Improvement
Fix

On-page week — four new SEO audits, plus the plumbing that makes them finish what they start:

  • Meta Tags Audit & Generator — one row per URL with the current title and meta description, their lengths, and whether each needs rewriting. Where a rewrite is owed a replacement is drafted and then checked before it reaches the sheet: right length, unique across the site, and built from words that actually appear on that page. Anything that can't pass is marked manual review rather than guessed at — an invented claim about your business is worse than a blank cell. Tags already fine are left alone.
  • Header Tags Audit — one row per URL with its H1, the heading count at every level, and the single worst thing true of its structure: no H1, several H1s, an H1 reused verbatim elsewhere, a missing rung in the outline, a long page with no subheadings, or an H1 out of length. The paired report renders a nine-sheet workbook with a ranked action plan, and every fix is a structural instruction, so no model writes any part of it.
  • Canonical Tags Audit — an eight-sheet workbook: a Summary, six per-URL sheets (Canonicalised, Missing, Multiple or Conflicting, Non-Indexable Canonical, Canonical Is Relative, Unlinked) and a prioritised Action Plan. Every recommended canonical is computed from the crawl, never written by a model.
  • Robots.txt Audit & Generator — checks the one file that can switch a site off. It grades every directive, tests whether the pages you care about are crawlable using Google's real matching rules (most specific wins, not first), verifies your sitemaps are reachable and not blocked by the file itself, and hands back a corrected robots.txt where every change says why. Directives Google quietly ignores are called out rather than left looking like policy, and blocks on AI crawlers are reported as a decision for you, not a defect.
  • Every page in the budget, not the first five — the on-page audits used to hand the whole site to the crawler as one queued job that the provider had only tested to ten pages, so a 48- or 1000-page audit sat in line and came back empty after the credits were spent. Each audit now reads the sitemap once and fetches its pages one at a time. The page budget means exactly that many pages, a page that fails costs one row instead of the whole run, and the reason it failed is named.
  • Honest limits instead of clean-looking blanks — orphan detection still needs a full crawl, the one thing that queues, so it runs as best effort: if it doesn't come back the audit still ships and the sheet says the check did not run. The heading audit states what it cannot see (the crawler returns headings grouped by level, never in document order), rather than leaving a sheet that looks clean.
  • An audit can no longer run against the wrong company's website — a row edited in the table is read correctly whatever shape it was saved in (and a row that genuinely can't be read stops the run instead of being skipped), the assistant has to ask before putting a website into a workspace, and a domain belonging to someone else never gets recorded as this client's own site.
  • A run setting that isn't a URL path is refused, with the correction — answering a crawl scope with a phrase ("whole site", "none", "all pages") used to become a filter that matched nothing and killed the crawl after the credits were spent. Those values are now rejected at the form and again inside the run, and the message names the field, the value and exactly what to type instead. Nothing is silently repaired: products is refused with "write '/products'" rather than quietly turned into it. And settings marked recommended are now actually asked for — a robots.txt audit could run without the priority pages and should-be-blocked paths it needs, quietly measuring less than it could. Those appear in the confirm form too, once, with the option to leave them blank.
  • Answering a question no longer makes the run start over — a run that paused to ask you something used to send the assistant back to the top of its checklist, re-reading what it had already read at your cost. It now picks up exactly where it left off.
  • Fixes — an empty query answer now lists the values the column really holds with counts, instead of "try fewer filters"; an activity whose workflow produced nothing no longer reads as completed; and a crawl failure names the URL, page budget and path filters the crawl actually used.