SERAVERRA release notes
Improved
Page load performance. The build strips comments from shipped stylesheets with the parsed rules unchanged:
styles.css28,809 → 17,815 bytes compressed, portalapp.css33,721 → 24,912. The footer logo loads lazily. Cold load on Slow-4G, before → after: home 332,032 → 295,458 bytes, first contentful paint 1,462 → 1,174 ms; pricing 328,526 → 293,266 bytes, 1,492 → 1,166 ms; portal monitoring page 159,599 → 150,732 bytes, 1,254 → 1,198 ms.Monitoring dashboard performance.
/api/monitoring,/api/monitoring/summary,/siteand/sitesissue their database reads in parallel waves instead of one query after another, and/summaryno longer writes during a GET. On a cold start, the 15 schema statements that ran one by one before the first monitoring or scan-history response now run in 2 parallel waves (bench at 37 ms per database trip: cold/site678 → 232 ms, cold/api/scans599 → 152 ms). Live median response, before → after:/summary576–615 → 256–282 ms,/site602–688 → 272–414 ms; slowest single/sitecall 4,073 → 667 ms. Response bodies are unchanged.AI mentions tab. The headline card shows mention rate, AI visibility score and share of voice from the stored record. The per-assistant bar chart is replaced by the scan report's table (Assistant, Answers, Named you, Share): for each AI assistant, the answers it gave, how many named the business, and its share. Tracked-question cells show the position the business was named at, and a movement card compares with the previous check when one exists.
Agency-oriented content. Home, About, How it works, Methodology, the blog index and the 10,369-site study post speak about clients, client sites and reports under the agency's name, with no owner or small-business voice left. All 34 help articles read for agency staff: guides address someone fixing a client's site, and steps that need the client's logins (hosting, Wix, Squarespace, Google Business Profile, Yelp, Facebook) say to use the client's account or ask for access; the 4 account articles already addressed the account holder. Other blog posts keep their text.
How it works page. How it works gains a third step, The monitor, after The scan and The report: the monthly PDF, what changed, fixes, next actions and alerts, matching the pricing page, with a link to the monitoring plans. The scan steps now refer to the client's site.
Fixed
AI mention percentages. For sites without per-assistant visibility rows, the tab multiplied stored 0–100 values by 100 again (28 shown as 2800%) and labelled the rank-weighted visibility score as the mention rate.
/api/monitoring/sitenow builds the record from the latest check's stored answer snapshot: mention rate = answers naming the business ÷ answers, e.g. 30 of 80 = 37.5%; score and share of voice print as stored.Sample report. Reports name the business from its listing, else the page title, else the domain; a title that only repeats one segment collapses to it, and titles like
Brand | Taglineprint as written. Sample cover and header bands:Masaki Saito | Masaki Saito | www.masakisaito.ca→Masaki Saito | www.masakisaito.ca, the same as generated reports.Top bar on small screens. Below 360 px the header uses 16 px side padding (was 24), a 4 px icon gap (was 8) and an 18 px wordmark (was 20). Tap targets stay 40 px, and 360 px and up is unchanged. At 320 px, no built page's header overflows the screen.
Help center checks table. On /help/what-we-check the table needed 268 px, but the article column is 240 px at 320 px, so the page laid out 363 px wide. Under 600 px each row stacks: check and weight on one line, the description full width below. Explicit table, row and cell roles keep it a table for screen readers.
Methodology page. Display formulas were 389 and 479 px wide in a 292 px box, so the page laid out 528 px wide on a 390 px phone. Under 600 px display math renders at 0.96em (KaTeX's default is 1.21em) and the long worked example at 0.78em; narrower screens scroll a formula inside its own box, never the page. Desktop is unchanged.