Arclo on Arclo

    We run our own site on Arclo. Here is the scoreboard.

    On Sep 16, 2026 we pointed Arclo at arclo.pro and froze the starting numbers below. They are bad. That is the point: every number on this page is measured by the same reporting our customers see, and every change we make to this site is logged with what it was supposed to move and what it actually moved. No testimonials, no screenshots, no rounding up.

    Live column refreshes hourly from Google Search Console, our rank tracker, PageSpeed and Arclo's own database.

    Search

    Organic clicks, last 28 days

    Day 0

    2

    Now

    loading

    Day 0 window Aug 18 – Sep 14, 2026. Every click came from someone searching the word "arclo".

    Impressions, last 28 days

    Day 0

    239

    Now

    loading

    How often any arclo.pro page appeared in a Google result.

    Keywords in Google's top 10

    Day 0

    0 of 117

    Now

    loading

    Tracked keywords are the queries practice owners actually search; none were in the top 100 on Day 0.

    Pages Google has indexed

    Day 0

    12

    Now

    loading

    Sitemap on Day 0: 33 URLs submitted, 0 indexed from it. Nothing else on this page moves until this does.

    Last 12 weeks from Google Search

    Loading search data…

    Speed and conversion

    PageSpeed score (mobile)

    Day 0

    82

    Now

    loading

    Largest Contentful Paint was 3.45s on Day 0 (Google wants under 2.5s).

    Largest Contentful Paint

    Day 0

    3.45s

    Now

    loading

    Lower is better.

    Free scans run, last 28 days

    Day 0

    —

    Now

    loading

    Counted from Arclo's own tables, not an analytics tag — and that includes the scans we run ourselves while testing. Not recorded on Day 0; the loop starts counting from here.

    Accounts created, last 28 days

    Day 0

    0

    Now

    loading

    Every account row, including the ones we create ourselves while testing — we do not net those out. Arclo has no paying customers yet. When that changes, this note changes with it.

    Change log

    Every change shipped to arclo.pro, newest first, with what we expected it to do. Outcomes are filled in after 7, 14 and 28 days from the same data as the scoreboard. A change with no outcome yet is still in its window.

    1. Sep 22, 2026OtherPR #311, #312

      This page stops implying it has revenue: the accounts and scans cards say they count Arclo's own testing too, and the weekly release email drops a discontinued product name and a link to a host with no DNS record

      Expected: Honesty, not traffic. "Accounts created" called itself the number that pays the bills; it is an unfiltered row count, both rows are internal, and Arclo has no paying customers. No metric should move — the number on this page just stops being read as something it is not.

      Result: in its measurement window

      /proof · /api/proof

    2. Sep 22, 2026FunnelPR #309

      Build-a-site CTA beside the scan box on the homepage, and eight brick-and-mortar practice pages with scan types of their own

      Expected: A visitor who wants a site rather than a report gets a door of their own: mockups built per homepage session rise over 28 days without scan starts falling. The eight new /for pages are judged on indexing first — impressions within 28 days of being indexed.

      Result: in its measurement window

      / · /for/*

    3. Sep 22, 2026FunnelPR #303, #304

      A paying customer is returned to their own dashboard with a confirmation instead of the marketing homepage

      Expected: Stripe's success_url pointed at /api/billing/success, which is not a serverless function, so the SPA catch-all dropped every customer who had just paid onto the marketing homepage with no acknowledgement. Provisioning was never affected — that runs in the webhook. Judged on whether anyone has to ask whether their payment went through, not on any search metric.

      Result: in its measurement window

      /app/overview

    4. Sep 22, 2026TechnicalPR #300

      Three routes the site links were answering Google with Vercel's SPA shell: /websites, /results and /tools/website-generator had no prerendered HTML

      Expected: /tools/website-generator is linked from the homepage and from all 36 marketing footers and was serving a 5,498-byte shell with no canonical. All three should move from unknown or "crawled – currently not indexed" to indexed within 28 days. Verified live after merge: 95,825 / 51,717 / 43,714 bytes, and /results now carries its noindex,follow in the served HTML.

      Result: in its measurement window

      /websites · /results · /tools/website-generator

    5. Sep 22, 2026FunnelPR #301

      Landing on /scan puts the cursor in the scan box instead of leaving the visitor to find it

      Expected: Scan starts per /scan session over 28 days. /scan only became real HTML on Sept 20 (#284), so this is the first window in which the route has both a prerendered page and a focused input.

      Result: in its measurement window

      /scan

    6. Sep 22, 2026TechnicalPR #296, #297, #299, #306, #307, #308

      Scan report and app trust: the screen that asks for the money stops selling an SEO tool, content and local SEO are no longer scored on sites where neither was measured, keyword seeding is tied to the practice's own city, the engineering commit log is no longer published to prospects, and Delete works on every CRM lead record

      Expected: Reporting integrity, not arclo.pro traffic. Report-to-mockup rate should hold or rise; no organic metric expected to move.

      Result: in its measurement window

      /report/free/* · /release-notes · /app/*

    7. Sep 22, 2026TechnicalPR #298

      A refused Google sign-in now says why instead of failing silently

      Expected: Measurement, not traffic: signups lost at the Google step left no record, so the size of that leak was unknowable. No metric expected to move; the loop gains a number it did not have.

      Result: in its measurement window

      /login · /signup

    8. Sep 21, 2026SEO contentPR #291

      Sitemap lastmod was telling Google four rewritten pages had not changed since April

      Expected: Google recrawls the four rewritten pages within 14 days, and /multi-location — which had slipped to "crawled – currently not indexed" — is re-indexed within 28.

      Result: in its measurement window

      /sitemap.xml · /use-cases · /multi-location · /results · /managed-site

    9. Sep 21, 2026FunnelPR #292

      Every blog post ends with the managed-site offer and a link to the reader's own practice page

      Expected: Blog sessions stop dead-ending: scan starts per blog session rise over 28 days, and the new internal links give the /for pages a second crawl path.

      Result: in its measurement window

      /blog/*

    10. Sep 21, 2026FunnelPR #290

      The claim flow stops rejecting the claim Arclo's own link sends you to, and says why when it fails

      Expected: Mockup-to-account rate over 28 days. The previous behaviour was a dead end reached from Arclo's own email.

      Result: in its measurement window

      /claim/*

    11. Sep 21, 2026TechnicalPR #294, #295

      Every published email address moved off arclo.io to contact@arclo.pro; security headers on every route; prerender stops injecting the same assets twice

      Expected: The site printed addresses on a domain Arclo does not receive mail on, so a prospect who wrote in reached nobody. Judged on whether inbound mail arrives at all, not on any search metric.

      Result: in its measurement window

      /* · /contact

    12. Sep 21, 2026OtherPR #293

      One internal ops digest a day replaces the per-event blast that was producing roughly 25 emails a day and burying the one that mattered

      Expected: Internal only. No arclo.pro metric expected to move.

      Result: in its measurement window

      /api/cron/daily-leads-digest

    13. Sep 20, 2026FunnelPR #284

      /scan prerendered — every "Run a free scan" call to action on the site was landing on an empty SPA shell

      Expected: The route named by the site's main CTA returned no content to Google or to a slow connection. Scan starts per session over 28 days, and /scan indexed within 28 days.

      Result: in its measurement window

      /scan

    14. Sep 20, 2026TechnicalPR #285, #286, #289

      Core Web Vitals: a measured zero is no longer thrown away, the CrUX fallback works, field and lab readings are stored separately, and two dashboard numbers that disagreed with their own sources were fixed

      Expected: Reporting integrity. The PageSpeed figure on this page is a lab reading and is now stored as one, so the daily series is comparable day to day. No metric expected to move.

      Result: in its measurement window

      /proof · /app/*

    15. Sep 20, 2026FunnelPR #287, #288

      An existing customer can claim a site, the dead claim page is gone, and the claim screen offers annual or monthly

      Expected: Mockup-to-account rate over 28 days.

      Result: in its measurement window

      /claim/*

    16. Sep 19, 2026TechnicalPR #278, #279, #280, #281, #282, #283

      Platform: the Neon compute burn stopped (no sub-hourly crons), per-request DDL removed, Run and Grow added as real purchasable plans charged at site approval, CI green again

      Expected: Platform work, not arclo.pro traffic. The pricing page gains two plans that can actually be bought; no organic metric expected to move.

      Result: in its measurement window

      /pricing · /api/*

    17. Sep 18, 2026SpeedPR #277

      Homepage hero text no longer fades in from invisible: the headline and sub-copy are the Largest Contentful Paint element, and the fade kept them uncounted until it had run

      Expected: Stored PageSpeed mobile series (68 on Sept 17) rises above 75 within three readings after merge and LCP falls by at least 1s from 5.3s. Measured before merge in headless Chrome on slow 4G with 4x CPU: LCP 2.8–3.2s with the fade, 1.6–1.9s (equal to first paint) without. No organic or funnel metric expected to move on its own.

      Result: in its measurement window

      /

    18. Sep 17, 2026FunnelPR #267

      Free scan understands all 18 practice types: dermatology, optometry, veterinary, urgent care and the other second-wave verticals get their own keyword set instead of falling into generic "Healthcare / Medical"

      Expected: A practice arriving from its /for/ page gets a report about its own searches, so report-to-mockup rate for those verticals matches the therapy and psychiatry rate instead of trailing it. Judged on the funnel step rates over 28 days.

      Result: in its measurement window

      / · /for/* · /report/free/*

    19. Sep 17, 2026OtherPR #243

      Cold outreach engine: a list of local practices is scanned, given a built site, and sent a three-email sequence with CAN-SPAM footer, one-click unsubscribe, reply and bounce handling (platform; not yet sending)

      Expected: No arclo.pro page changed. Once DNS and SendGrid are set up, outreach scans and mockups will land in the funnel counts on this page. The scan call sends source=outreach but the scan table does not store it yet, so until that column exists outreach and organic scans cannot be told apart here — a trust item for the loop.

      Result: in its measurement window

      /api/cron/cold-outreach · /unsubscribe/*

    20. Sep 17, 2026SpeedPR #276

      Prerendered pages stay on screen while their JavaScript loads instead of being replaced by a "Loading..." spinner and painted a second time

      Expected: PageSpeed mobile on the stored daily series goes from 67–68 back above 75 within three readings and LCP falls from 5.3s toward the first HTML paint (under 3s); Lighthouse put the homepage H1's render delay at 2.2s. No organic or funnel metric expected to move on its own.

      Result: in its measurement window

      / · /for/* · /vs/* · /*

    21. Sep 16, 2026FunnelPR #271

      Google sign-in signups now counted in GA4 signup_completed (the account was created inside a server redirect, so no page was there to fire the event)

      Expected: Measurement, not traffic: once Google sign-in is live, GA4 signup_completed equals accounts created instead of undercounting by the Google share.

      Result: in its measurement window

      /signup · /login

    22. Sep 16, 2026TechnicalPR #268, #269, #270, #272, #273, #274, #275

      App dashboard trust fixes: Technical SEO reads the real weekly crawl, Automation and Outreach stop failing and stop showing placeholder scores, SERP refresh finishes inside its budget and never records a timeout as "not ranking", publisher health is measured, Paid Search says when there is no Ads data, direct online bookings reach Reservations

      Expected: Reporting integrity for customers, not arclo.pro traffic: what the app shows is measured or says it is not. No metric expected to move.

      Result: in its measurement window

      /app/*

    23. Sep 16, 2026SEO contentPR #265

      Homepage meta description cut from 253 to 157 characters so the snippet ends on the call to action instead of mid-sentence

      Expected: Homepage CTR on its brand impressions rises above 3% over the 28 days after merge (0.8% over the 28 days before, 2.9% over the last 7).

      Result: in its measurement window

      /

    24. Sep 16, 2026TechnicalPR #264

      Share-preview image fixed: og:image pointed at a password-protected Vercel deployment host, so shared links had no picture

      Expected: Links to arclo.pro shared on LinkedIn, Slack, iMessage and X render with the image from now on; no organic-search metric expected to move.

      Result: in its measurement window

      /*

    25. Sep 16, 2026FunnelPR #262, #263

      Scan result page: score and the three problems that matter shown before the gate; the site Arclo built unlocks with an email

      Expected: Report-to-email-capture and report-to-mockup rates go up because the prospect sees the score and their built site (blurred) without scrolling; judged on GA4 mockup_unlocked and mockup_built per scan_completed over 28 days.

      Result: in its measurement window

      /report/free/* · /preview/*

    26. Sep 16, 2026SEO contentPR #260, #261

      Last four pages rewritten off the old SEO-tool copy (/use-cases, /multi-location, /results, /managed-site); hero pills and footer industries fit on phones

      Expected: /multi-location, which had slipped to "crawled - currently not indexed", is re-indexed within 28 days now that it describes the same offer as the rest of the site. No click change expected.

      Result: in its measurement window

      /use-cases · /multi-location · /results · /managed-site · /*

    27. Sep 16, 2026TechnicalPR #256, #257, #258, #259

      Free scan scoring made trustworthy: canonical host resolved first, SERP timeouts no longer counted as "not ranking", median of three PageSpeed runs, low-confidence authority left out of the score, domain preflight fixed on Vercel

      Expected: Reporting integrity: prospects stop seeing a score that was mostly measurement error. Report-to-mockup rate should hold or rise; no organic-search metric expected to move.

      Result: in its measurement window

      /report/free/*

    28. Sep 16, 2026SEO contentPR #254

      /hipaa page; "what you'd pay elsewhere" on pricing; plan buttons given equal weight

      Expected: /hipaa earns impressions on "hipaa compliant website for therapists"-type queries within 28 days of indexing; pricing-to-signup rate holds or rises.

      Result: in its measurement window

      /hipaa · /pricing

    29. Sep 16, 2026FunnelPR #253

      Scan progress screen shows real findings as each step finishes, offers "email me when it's done", and refuses domains that don't resolve with a did-you-mean

      Expected: Fewer scans abandoned during the two-minute wait: scan_completed views per scan_started go up, and typo'd domains stop burning SERP credits.

      Result: in its measurement window

      / · /report/free/*

    30. Sep 16, 2026TechnicalPR #252

      Sentinel and Hemingway stop inventing numbers: random rank changes, guessed volumes and simulated trends replaced with real history or null

      Expected: Reporting integrity, not traffic: what the dashboard and reports show is now measured or absent. No metric expected to move.

      Result: in its measurement window

      /api/sentinel/data · /api/hemingway/data

    31. Sep 16, 2026DesignPR #247

      Homepage shows real sites Arclo runs; How It Works rewritten; /results unlisted until it has a named case study; mobile menu and scan modal cleaned up

      Expected: Scan starts per homepage visit go up now that the page shows real work instead of placeholders; judged on GA4 scan_started per session over 28 days.

      Result: in its measurement window

      / · /how-it-works · /results

    32. Sep 16, 2026FunnelPR #255

      Google Analytics installed on arclo.pro with five funnel events (scan started, report viewed, mockup built, claim clicked, account created)

      Expected: Measurement, not traffic: the site had no analytics tag at all, so step-to-step funnel rates were unknowable. From here the loop judges CTA and design changes on these rates.

      Result: in its measurement window

      /*

    33. Sep 16, 2026SEO contentPR #250

      Footer "Compare" column: every page now links to the comparison and roundup pages

      Expected: These five URLs go from unknown to Google to crawled within 14 days and indexed within 28; they had no site-wide internal link before.

      Result: in its measurement window

      /vs/brighter-vision · /vs/therapysites · /best-therapist-website-builders · /best-med-spa-website-builders · /psychology-today-vs-your-own-website

    34. Sep 16, 2026TechnicalPR #249

      Core Web Vitals trend now comes from stored daily readings instead of the live score with random jitter

      Expected: Reporting integrity, not traffic: the trend chart in every report showed movement that never happened. No metric expected to move.

      Result: in its measurement window

      /proof · /api/crew/speedster/summary

    35. Sep 16, 2026SEO contentPR #248

      Titles under 60 and meta descriptions under 160 characters on all 18 practice pages

      Expected: Once these pages are indexed, CTR on their impressions beats the site-wide brand-only 0.8% because Google stops truncating the snippet.

      Result: in its measurement window

      /for/*

    36. Sep 16, 2026FunnelPR #237, #238

      Mockup preview always shows the claim CTA; scan modal scrolls on short screens

      Expected: Preview-to-claim rate goes up: the claim bar used to sit under a page-tall iframe and the scan modal's Start button was below the fold on laptops.

      Result: in its measurement window

      /preview/* · /

    37. Sep 16, 2026SEO contentPR #233, #239

      Website-builder roundups for therapists and med spas; Psychology Today vs your own website

      Expected: First impressions on "best website builder for therapists" (~390/mo) and related queries within 28 days of indexing.

      Result: in its measurement window

      /best-therapist-website-builders · /best-med-spa-website-builders · /psychology-today-vs-your-own-website

    38. Sep 16, 2026SEO contentPR #228

      Comparison pages: Arclo vs Brighter Vision, Arclo vs TherapySites

      Expected: Impressions on "brighter vision alternative" and similar comparison queries within 28 days of indexing.

      Result: in its measurement window

      /vs/brighter-vision · /vs/therapysites

    39. Sep 16, 2026SEO contentPR #226, #232

      Eleven blog posts for practice owners; post data embedded so Google's render is not a soft 404

      Expected: First non-brand impressions within 28 days; blog URLs move from "unknown to Google" to indexed.

      Result: in its measurement window

      /blog · /blog/*

    40. Sep 15, 2026SEO contentPR #225

      Eighteen practice-vertical landing pages (/for/mental-health … /for/audiology)

      Expected: Impressions on "<vertical> website" and "<vertical> marketing" queries within 28 days of indexing.

      Result: in its measurement window

      /for/*

    41. Sep 15, 2026FunnelPR #219, #221, #223

      Free report de-duplicated; practice-first business-type picker; report CTA opens the site builder with the scan attached; logo and hero upload

      Expected: Report-to-mockup rate goes up because the builder no longer re-asks what the scan already knows.

      Result: in its measurement window

      /report/free/* · /tools/website-generator · /preview/*

    42. Sep 15, 2026DesignPR #216, #218

      Log In button in the header on every page; free-report hero text and tab bar made readable

      Expected: Fewer returning customers bouncing to find login; no measurable organic effect expected.

      Result: in its measurement window

      /* · /report/free/*

    43. Sep 14, 2026SEO contentPR #209, #210, #211, #212, #213

      Front door rewritten around the managed-site offer; Google Ads add-on page; MCP docs; reporting made trustworthy

      Expected: Homepage CTR on brand queries improves; scan starts per visit go up.

      Result: in its measurement window

      / · /ads · /docs/mcp

    How to read this

    Search Console numbers are Google's own aggregates for the window, not a sum of the top rows. They lag about two days. Rank checks run weekly, so "top 10" can be up to a week old. PageSpeed is a lab measurement of the homepage on mobile. Scans and accounts are counted straight from Arclo's database, which means they include the scans and accounts we create ourselves while testing. We do not subtract those: a number you have to take our word for is worth less than one you can see the whole of.

    At two clicks a week, a good day means nothing and a bad day means nothing. We judge changes on 7- and 28-day windows and on funnel rates (scan to mockup, mockup to account), which move on far fewer visitors than organic clicks do.

    This page is what every Arclo customer gets for their own site: the same numbers, the same change log, the same honesty about what worked. See the practices we run.

    Want the same scoreboard for your practice?

    Start with a free scan. Nothing to install, and you will see your own Day 0 in about a minute.