Audit methodology
What we check, how we measure it, and how the score is calculated. Scoring version 1.
How the audit runs
We load up to eight public pages of your website — prioritizing contact, booking, service, pricing, gallery and about pages — in a secure browser configured like a phone (390 pixels wide). We also read robots.txt and your XML sitemap, and check internal links for errors. When enabled, page speed is measured by Google PageSpeed Insights on Google's own servers.
We respect robots.txt for every page beyond the homepage, identify ourselves with a clear user agent (SoarelloAudit), never submit forms, and never log in.
How the score works
- Each check has a fixed importance weight from 1 to 10, set in advance — not chosen per website.
- A pass earns full credit, a warning half credit, and a failure none.
- The score is the weighted percentage of credit earned across checks we could actually measure.
- Checks we could not measure, informational notes, and suggestions about your page wording never affect the score.
- If fewer than 10 checks are measurable, we don't show a score.
- If your homepage can't be loaded, or your site's security settings refuse our automated visit, we don't check anything else and don't show a score — we never report problems on pages we couldn't see.
The score describes how well a website follows common technical and conversion practices for local service businesses. It does not measure or predict leads, rankings, revenue or advertising results.
Confidence labels
- Verified measurement.
- Automated pattern detection — may miss some cases.
- Could not be measured.
- Suggestion based on your page wording — a judgment call, review before acting.
All checks
Website accessibility & HTTPS
- https.reachableweight 10
- https.enabledweight 10
- https.redirectweight 4
- https.mixed_contentweight 2
Mobile layout
- mobile.viewportweight 8
- mobile.horizontal_scrollweight 6
- mobile.text_sizeweight 3
- mobile.tap_targetsweight 3
Page speed & Core Web Vitals
- performance.lab_scoreweight 6
- performance.field_cwvweight 6
- performance.page_weightweight 3
- performance.server_responseweight 3
Contact links
- contact.click_to_callweight 5
- contact.email_linksweight 1
- contact.contact_pageweight 4
Calls to action
- cta.phone_visibleweight 8
- cta.phone_above_foldweight 6
- cta.booking_ctaweight 8
- cta.booking_above_foldweight 6
- cta.shop_ctaweight 8
- cta.shop_above_foldweight 6
- cta.visit_infoweight 8
Page titles & meta descriptions
- meta.titleweight 6
- meta.title_uniqueweight 3
- meta.descriptionweight 5
- meta.description_uniqueweight 2
Structured data
- schema.local_businessweight 5
- schema.nap_completeweight 3
- schema.productweight 4
- schema.valid_jsonweight 2
Heading structure
- headings.h1weight 5
- headings.h1_descriptiveweight 3
- headings.hierarchyweight 1
Broken internal links
- links.broken_internalweight 6
Conversion opportunities
- conversion.lead_formweight 5
- conversion.form_lengthweight 2
- conversion.pricing_infoweight 3
- conversion.tracking_tagweight 3
- ecom.cartweight 4
Service landing pages
- services.dedicated_pagesweight 6
Geographic relevance
- local.city_in_title_h1weight 5
- local.city_in_contentweight 3
- local.address_or_areaweight 4
- local.map_directionsweight 2
- local.hoursweight 4
Search visibility basics
- seo.indexableweight 10
- seo.robots_txtweight 5
- seo.sitemapweight 2
- seo.canonicalweight 2
- seo.image_altweight 2
- seo.social_previewweight 1
- seo.languageweight 1
Credibility & trust signals
- trust.reviewsweight 5
- trust.galleryweight 4
- trust.privacy_policyweight 2
- trust.social_profilesweight 1
- trust.copyright_currentweight 1
- ecom.shipping_returnsweight 4
Industry-specific recommendations
- industry.packagesweight 3
- auto.warranty_infoweight 2
- auto.vehicle_typesweight 1
- auto.aftercareweight 1
- auto.brand_mentionsinformational (not scored)