SEO

SOLARA PAINTING

Before After

Solara Painting — SEO & Performance Audit

Read-only audit of the public solarapainting.com site (no Webflow login, no publishing, no changes made). Headline finding: dozens of unedited Webflow demo/template pages are still live and submitted in the sitemap alongside the real, branded site.

Executive summary

The biggest issue on solarapainting.com isn't a missing tag or a slow script — it's that the site is still, in large part, the unedited "Construcfy X" Webflow ecommerce template it was built from. Of the 72 URLs in the live sitemap, roughly 45 are stock demo pages (fake team members, fake Los Angeles/Malibu project locations, Lorem-ipsum blog posts, a checkout/PayPal flow, a style guide) — all returning HTTP 200 and submitted for indexing alongside the real, branded pages. Two of the real, linked pages (About, Contact) still carry a "Buy template" link to a third-party template marketplace in the navigation.

On top of that, three technical gaps compound the risk: no canonical tags anywhere on the site (leaving Google to guess between duplicate home/contact variants), the www subdomain returns a 502 error instead of redirecting, and there is no structured data (JSON-LD) anywhere, which matters for a local service business trying to earn map-pack visibility.

Performance is comparatively solid — Cloudflare caching and gzip compression are working, and the two heaviest scripts (jQuery, Webflow's runtime) load at the end of the page — but a render-blocking font loader and the absence of next-gen image formats are worth fixing. Core Web Vitals could not be measured in this pass (see Scope, below) and should be pulled from Search Console or a fresh Lighthouse run.

Net effect: this reads to Google, and to any visitor who clicks past the homepage, as an unfinished site. The fixes are mostly fast (delete pages, add a redirect, remove a link) rather than expensive engineering work.

Top 10 actions

Ranked by impact, then by how little effort it takes.

#ActionCategoryImpactEffort
1Delete/unpublish the ~45 leftover Construcfy X template pages and remove them from the sitemapTechnical SEOCriticalLow — Webflow Pages panel
2Remove the "Buy template" nav link on About and Contact (shared Navbar symbol)Technical SEO / trustCriticalTrivial
3Fix www.solarapainting.com (502) with a redirect to the apex domainTechnical SEOCriticalLow — domain/DNS setting
4Turn on self-referencing canonical tags site-wideTechnical SEOHighLow — Webflow SEO settings
5Confirm the sitemap no longer references the 404'd /home-pages/home-v1Technical SEOCriticalLow (resolves with #1)
6Add LocalBusiness + Service JSON-LD structured dataTechnical SEO / localHighMedium
7Add a real, consistent address (or defined service-area statement) and an embedded map on the contact pageOn-page / local SEOHighMedium
8Reconcile the mismatched trust stats (team size, client counts) across Home and AboutOn-page / trustMediumLow — copy edit
9Add descriptive alt text to all content imagesOn-page / accessibilityMediumMedium
10Replace the WebFont Loader script with native font-display: swap, and convert homepage images to WebPPerformanceMediumMedium

Technical SEO findings

PriorityFinding & evidenceWhy it mattersFixExpected benefitVerification
Critical ~45 unedited "Construcfy X" template pages live and indexed (home-v1/v2/v3, contact-v2/v3, team + 6 fake bios, 6 fake LA/Malibu projects, checkout, paypal-checkout, order-confirmation, our-products + 6 products, style-guide, changelog, licenses, coming-soon, 6 template blog posts, category pages) Crawl budget waste, brand confusion, duplicate/thin-content risk, a template vendor's brand indexed under the client's domain Delete/unpublish in Webflow Pages panel; 301 anything with existing backlinks or rankings to the closest real page Cleaner index, better crawl efficiency, no lorem-ipsum content surfacing in search Re-crawl (Screaming Frog or site: search), confirm sitemap.xml lists only real pages, GSC coverage report improves
Critical Sitemap references /home-pages/home-v1, which 404s Dead link in the sitemap wastes crawl budget and can trigger GSC sitemap errors Remove from sitemap (resolves once the page is deleted) or 301 to homepage Clean sitemap, fewer GSC warnings GSC Sitemaps report shows 0 errors
Critical "Buy template" link to brixtemplates.com live in the nav on /about and /contact-pages/contact-v1 (the real, linked contact page) Leaks link equity to an unrelated third-party site and undermines trust on the two pages most likely to close a lead Remove the nav item in the shared Navbar symbol Removes outbound authority leak, restores professional presentation View-source confirms no marketplace link in the nav on any page
High No <link rel="canonical"> on any of the 10 pages sampled, including the homepage With duplicate home/contact variants still live, Google has no signal for which version is authoritative Enable Webflow's automatic canonical (Project Settings → SEO) or add self-referencing canonicals Consolidates ranking signals to the intended URL View-source shows a canonical matching each page's own URL
High https://www.solarapainting.com returns HTTP 502 instead of redirecting Any backlink, bookmark, or typed "www" hits a dead page — lost traffic and a poor first impression Add a www → apex redirect in Webflow's domain settings (or Cloudflare DNS) Recovers traffic aimed at www, removes a dead end curl -I https://www.solarapainting.com/ returns a 301 to the apex
Medium Zero JSON-LD structured data found on any page checked No LocalBusiness/Service schema means no eligibility for rich results or stronger local-pack signals Add LocalBusiness (or HomeAndConstructionBusiness) schema with NAP, hours, and service area, plus Service schema per service page Better rich-result eligibility, stronger local relevance signal Google Rich Results Test passes with no errors
Medium Missing alt text: 12/22 images (home), 8/14 (about), 9/19 (contact), 6 of 7 per service page Hurts image-search visibility; also an accessibility failure (WCAG 1.1.1) Add descriptive alt text to content images; alt="" for purely decorative ones Image-search visibility, accessibility compliance Lighthouse/axe shows 0 missing-alt errors on sampled pages
Low http→https and the custom 404 both behave correctly (301 and true 404, not a soft-404) Confirms these two basics are already right No action
Not verified Full site-wide broken-link crawl, and true Google indexation count of the 72 sitemap URLs Requires a full crawler (Screaming Frog) and Search Console, neither available in this read-only pass Run a full crawl + check GSC Coverage report

On-page SEO findings

PriorityFinding & evidenceWhy it mattersFixExpected benefitVerification
High Trust stats conflict between pages: Home says "350+ projects, 30+ years, 100+ happy clients"; About says "65+ team members, 80+ happy clients" "65+ team members" reads as unedited template copy for a two-state residential/commercial painter, and the client-count mismatch (100+ vs 80+) undercuts credibility if a prospect compares pages Align every trust stat to one accurate, real figure across all pages Consistent, credible trust signals (E-E-A-T) Manual copy review across Home, About, Contact
High No physical street address anywhere sampled; Contact page lists NJ/NY "locations" with only phone/email, no embedded map Local SEO (Google Business Profile alignment, LocalBusiness schema, map-pack ranking) depends on a visible, consistent NAP Add a real address (or an explicit service-area statement matching the Google Business Profile) plus an embedded map Stronger local relevance/trust signals Manual check against the Google Business Profile listing (needs GBP access)
Medium Service pages (interior/exterior/residential checked) are short, similarly structured, with no location-specific content, pricing guidance, before/after photos, or FAQs Thin, templated service pages struggle against competitors running dedicated "[service] + [town]" landing pages Expand each service page with locality-specific sections, FAQs, before/after imagery, and process detail Better keyword coverage, longer dwell time, stronger conversion-page trust Manual content review; track ranking movement post-update (needs GSC/rank-tracker access)
Medium No town/city-level landing pages despite serving two distinct states (NJ and NY) Local service businesses typically rank better with dedicated local pages than one combined services page Build a small set of priority-town landing pages tied to actual service areas Improved local keyword coverage and map-pack relevance Track new page indexation/rankings in GSC
Low Blog is 100% unedited template stock (Lorem-ipsum meta description, generic "25 color trends... 2023" posts unrelated to painting in NJ/NY) Contributes no topical relevance and signals an unmaintained/template site if it stays indexed Replace with real, locally relevant articles, or remove/noindex until real content exists Topical authority, fresh-content signal Manual review confirming article topics and dates reflect real publishing
Not verified Actual keyword targeting gaps, search-intent alignment, and current rankings against real query data Requires a keyword tool and Search Console, neither available in this pass Pull Search Console Performance report + a keyword-gap tool (e.g. Semrush) once access is granted

Performance findings

PriorityFinding & evidenceWhy it mattersFixExpected benefitVerification
Medium Google WebFont Loader (ajax.googleapis.com/.../webfont.js, ~5.4 KB compressed) sits in <head> with no async/defer Legacy loading pattern that can delay text paint (flash of invisible text) and adds a render-blocking request before first paint Replace with native @font-face + font-display: swap via Webflow's font panel; drop the WebFont Loader dependency Faster First Contentful Paint / LCP, no invisible-text flash Lighthouse/WebPageTest filmstrip shows earlier text paint; render-blocking-resources audit clears
Medium No next-gen image formats observed — all 6 raster images sampled on the homepage are .jpg/.png JPG/PNG typically run 25–50% heavier than WebP/AVIF at equal quality, inflating page weight and LCP, especially on mobile Re-export as WebP (check Webflow's asset panel settings) or route through an image CDN Lower page weight, faster LCP, better mobile Core Web Vitals Lighthouse "Serve images in next-gen formats" audit passes
Low Only 4 of 22 homepage images carry loading="lazy"; likely below-the-fold images are not confirmed lazy Eager-loading everything increases initial page weight and competes with above-the-fold content for bandwidth Set below-the-fold images to lazy load in Webflow's image settings (supported per-image) Faster initial load, less main-thread contention Lighthouse "Defer offscreen images" audit clears
Positive Cloudflare CDN caching and gzip compression are active (cf-cache-status: HIT, content-encoding: gzip, multi-day cache age); jQuery and Webflow's runtime JS load at the end of <body>, so they're effectively non-blocking despite lacking defer/async Confirms caching, compression, and script placement are already sound No action
Not verified Actual Core Web Vitals (LCP, INP, CLS), field or lab The public PageSpeed Insights API returned a quota-exceeded (429) error during this audit — no CWV numbers are reported here, lab or field, real or estimated Pull the Core Web Vitals report from Search Console, or run Lighthouse/PageSpeed Insights directly against the live URL
Not verified Full third-party script inventory, rendered-DOM waterfall, JS execution time, and actual font-file sizes This was a static-HTML, no-login audit; no browser rendering or network waterfall was captured A rendered Lighthouse/WebPageTest run against the live URL

Accessibility findings (overlapping SEO/performance)

PriorityFinding & evidenceWhy it mattersFixExpected benefitVerification
Medium Same missing alt text noted above (12/22 homepage images, similar ratios elsewhere) WCAG 1.1.1 (Non-text Content) failure — screen readers get no description for meaningful images Add descriptive alt text to content images; alt="" for decorative ones Screen-reader usability, plus the SEO benefit already noted axe/Lighthouse accessibility audit shows 0 missing-alt errors
Low Homepage has two <h1> tags ("New Jersey & New York's Trusted Painters" and "A comprehensive set of services"); all other sampled pages have exactly one A page should expose one primary heading; a second H1 muddies the document outline for both screen readers and search engines Change the second homepage H1 to an H2 Clearer document outline View-source confirms one H1 per page
Not verified Color contrast ratios, keyboard navigation/focus order, and interactive element labeling These require testing a rendered page (e.g. axe DevTools or a Lighthouse accessibility run in a real browser), not static HTML Run an automated accessibility audit against the live, rendered site

Data/access needed for a deeper audit

AccessWhat it would confirm
Google Search ConsoleReal indexation counts across the 72 sitemap URLs, sitemap error log, Core Web Vitals (field data), search queries and rankings, manual actions
Google Analytics 4Traffic by page, bounce/engagement rate on the template pages, conversion rate on the request-a-quote and contact pages
Webflow Admin accessDirect page deletion/unpublishing, confirming the canonical and 301 setup, checking image-compression and lazy-load settings site-wide, editing the shared Navbar symbol
CDN/hosting detailsFull cache-control policy beyond what Cloudflare's public headers show (already confirmed: gzip + CDN caching active)
Target keywords/marketsWhich NJ/NY towns are priority service areas, and a competitor list — needed to prioritize the location-landing-page and service-page-depth recommendations above

Scope, method, and what could not be verified

Everything above comes from direct, unauthenticated requests to the public site: raw HTML, HTTP headers, and every URL listed in sitemap.xml (see the appendix below), plus manual inspection of meta tags, headings, images, links, and text on the homepage, About, Services, three service pages, both linked contact pages, Request a Quote, Team, one project page, one blog post, and the checkout/product template pages. No Webflow login, no publishing, no form submissions, and no site changes were made at any point.

Two things this audit could not produce, and why:

  • Core Web Vitals (LCP, INP, CLS) — the public PageSpeed Insights API returned a quota-exceeded error; no lab or field CWV numbers are reported here, invented, or estimated.
  • Rankings, indexation status, traffic, and conversion data — these live in Search Console and GA4, neither of which this audit had access to.

All page-weight, request-count, caching, compression, and script-loading observations were derived from the raw HTML and response headers of the pages fetched, not from a rendered-browser waterfall.

Appendix: Sitemap URL audit (72 URLs checked)
StatusURLNote
200https://solarapainting.comReal homepage
404https://solarapainting.com/home-pages/home-v1Broken sitemap entry
200https://solarapainting.com/template-pages/changelogUnedited template page
200https://solarapainting.com/checkoutUnedited template page (ecommerce checkout, not used)
200https://solarapainting.com/extra-element-pages/footersUnedited template page
200https://solarapainting.com/extra-element-pages/headersUnedited template page
200https://solarapainting.com/template-pages/licensesUnedited template page
200https://solarapainting.com/order-confirmationUnedited template page
200https://solarapainting.com/paypal-checkoutUnedited template page
200https://solarapainting.com/searchUnedited template page
200https://solarapainting.com/template-pages/start-hereUnedited template page
200https://solarapainting.com/template-pages/style-guideUnedited template page
200https://solarapainting.com/extra-element-pages/top-notification-barsUnedited template page
200https://solarapainting.com/aboutReal page (has stray "Buy template" nav link)
200https://solarapainting.com/home-pages/home-v2Unedited template page
200https://solarapainting.com/home-pages/home-v3Unedited template page
200https://solarapainting.com/blog-pages/blog-v1Unedited template page
200https://solarapainting.com/blog-pages/blog-v2Unedited template page
200https://solarapainting.com/blog-pages/blog-v3Unedited template page
200https://solarapainting.com/servicesReal page
200https://solarapainting.com/projectsTemplate page
200https://solarapainting.com/our-productsUnedited template page ("Shop - Construcfy X")
200https://solarapainting.com/contact-pages/contact-v1Real, linked contact page (has stray "Buy template" nav link)
200https://solarapainting.com/contact-pages/contact-v2Unedited template page
200https://solarapainting.com/contact-pages/contact-v3Template page
200https://solarapainting.com/teamUnedited template page (fake staff)
200https://solarapainting.com/coming-soonUnedited template page
200https://solarapainting.com/request-a-quoteUnedited template page ("Construcfy X" branding)
200https://solarapainting.com/terms-of-serviceReal/generic legal page
200https://solarapainting.com/privacy-policyReal/generic legal page
200https://solarapainting.com/blog-category/constructionTemplate category
200https://solarapainting.com/blog-category/designTemplate category
200https://solarapainting.com/blog-category/remodelingTemplate category
200https://solarapainting.com/product/exterior-designUnedited template product
200https://solarapainting.com/product/general-constructionUnedited template product
200https://solarapainting.com/product/interior-designUnedited template product
200https://solarapainting.com/product/project-managementUnedited template product
200https://solarapainting.com/product/project-planningUnedited template product
200https://solarapainting.com/product/space-planningUnedited template product
200https://solarapainting.com/category/general-constructionTemplate category
200https://solarapainting.com/category/project-planningTemplate category
200https://solarapainting.com/category/remodelingTemplate category
200https://solarapainting.com/blog/12-designers-tricks-for-picking-the-perfect-home-color-paletteStock template blog post
200https://solarapainting.com/blog/15-mind-blowing-floor-designs-to-make-your-home-look-greatStock template blog post
200https://solarapainting.com/blog/25-color-trends-designers-cant-wait-to-see-in-2023Stock template blog post (Lorem ipsum meta)
200https://solarapainting.com/blog/clever-diy-home-improvements-you-can-do-during-the-pandemicStock template blog post
200https://solarapainting.com/blog/front-door-design-ideas-6-great-concepts-for-your-homeStock template blog post
200https://solarapainting.com/blog/how-to-give-maintenance-to-your-wooden-floor-the-full-guideStock template blog post
200https://solarapainting.com/team/andy-smithFake team member (template)
200https://solarapainting.com/team/john-carterFake team member (template)
200https://solarapainting.com/team/lilly-woodsFake team member (template)
200https://solarapainting.com/team/matt-cannonFake team member (template)
200https://solarapainting.com/team/patrick-meyerFake team member (template)
200https://solarapainting.com/team/sophie-mooreFake team member (template)
200https://solarapainting.com/project/building-construction-in-los-angeles-caFake project, wrong location (LA)
200https://solarapainting.com/project/home-construction-in-malibu-beach-caFake project, wrong location (Malibu)
200https://solarapainting.com/project/house-extension-in-los-angeles-caFake project, wrong location (LA)
200https://solarapainting.com/project/interior-remodeling-in-malibu-beach-caFake project, wrong location (Malibu)
200https://solarapainting.com/project/kitchen-remodeling-in-hollywood-hills-caFake project, wrong location (Hollywood Hills)
200https://solarapainting.com/project/office-remodeling-in-hollywood-hills-caFake project, wrong location (Hollywood Hills)
200https://solarapainting.com/service/cabinet-paintingReal service page (linked in nav)
200https://solarapainting.com/service/commercial-paintingReal service page (linked in nav)
200https://solarapainting.com/service/drywall-repairReal service page (linked in nav)
200https://solarapainting.com/service/exterior-paintingReal service page (linked in nav)
200https://solarapainting.com/service/interior-paintingReal service page (linked in nav)
200https://solarapainting.com/service/pressure-washingReal service page (linked in nav)
200https://solarapainting.com/service/residential-painting-w335oReal service page; unedited auto-generated slug suffix
200https://solarapainting.com/service/trim-paintingReal service page (linked in nav)
200https://solarapainting.com/service/water-damage-repairReal service page (linked in nav)
200https://solarapainting.com/projects-category/general-constructionTemplate category
200https://solarapainting.com/projects-category/project-planningTemplate category
200https://solarapainting.com/projects-category/remodelingTemplate category
Back to top Arrow