Mobile load time cut from 6.0 seconds to 2.4.
JewSA.com is our cultural-pride content and merch site, with a directory, holiday guides and a small store. We ran the same full technical audit we run for clients, fixed what we found, measured again, and then fixed the store problems the audit surfaced.
One of our own websites. Every number below comes from our own audit and build records.


mobile Largest Contentful Paint on a blog post
mobile Lighthouse Performance on a blog post
pages telling social and AI crawlers they were the homepage
our audit grade on the technical layer
Lighthouse CLI runs against the live site before and after, plus a crawl of all 1,620 sitemap URLs and 2,689 internal links.
A healthy site with real leaks.
JewSA was in better shape than most sites we audit: clean builds, self-referencing canonical tags on all 1,620 sitemap URLs and zero redirect chains. That made the problems easy to miss.
Blog heroes up to 400 KB loaded as CSS backgrounds, so mobile visitors waited 6.0 seconds for the main content. 1,243 pages told social networks and AI crawlers they were the homepage. The contact form had no spam protection. And in the store, the payment webhook pointed at a URL that redirected, which payment processors treat as a failed delivery.
Mobile load time on blog posts cut from 6.0 seconds to 2.4.
Lighthouse 98 to 100 across the tested pages after the fix pass, zero broken links across 2,689 internal links, and our own audit grade moved from B to A- on the technical layer.
Blog posts load in 2.4 seconds.
We converted 14 hero images to WebP, cutting them from 3.2 MB to 0.93 MB, and told the browser to fetch the hero first. We also self-hosted the fonts, which removed a render-blocking request Lighthouse measured at about 790 ms on mobile.
- Mobile LCP on a blog post: 6.0s to 2.4s
- Hero images: 3.2 MB to 0.93 MB across 14 files
- Every tested page scored 98 to 100 on Lighthouse afterward
Mobile load time (LCP), blog post
Lighthouse Performance, before and after
Blog post, mobile
Home, mobile
Blog post, desktop
Every page says what it actually is.
1,243 of 1,620 sitemap pages inherited the homepage's social preview URL, title and description. Shared on social media or read by an AI crawler, a synagogue listing looked like the homepage. We gave every page its own preview tags and fixed the two broken internal links the crawl found.
- Wrong social URLs: 1,243 to 0 on the live re-crawl
- Broken internal links: 2 to 0 across 2,689 links
- Valid structured data on all 1,620 pages, with no invented ratings
og:url = jewsa.com/og:title = homepage titleog:description = homepage textog:url = this page's URLog:title = this page's titleog:description = this page's summaryForms and routes locked down.
The contact form now checks where a request came from, uses a hidden honeypot field and a minimum fill time, rate-limits by IP and escapes everything before it reaches an inbox. The content security policy only allows the services the site actually uses, and two high-severity dependency vulnerabilities were patched.
- HIGH1,243 pages told social and AI crawlers they were the homepageFixed
- HIGHContact form had no spam protectionFixed
- HIGHContent security policy allowed far more than the site neededFixed
- MEDBlog post mobile LCP of 6.0s from heavy hero imagesFixed
- MED2 high-severity dependency vulnerabilitiesFixed
- MED2 broken internal linksFixed
Orders reach fulfillment again.
The audit found the payment processor sending order notifications to a URL that redirected, and processors do not follow redirects on those calls. We pointed it at the final URL. Checkout was also charging $0 shipping while the store paid for it, so with the owner's sign-off we moved to free US and Canada shipping built into the price, updated the cart, product pages, FAQ and product structured data to match.
How the work actually ran.
The same order every time: measure, rank, fix, then measure again and report the result either way.
- 01
Audit
Crawl, Lighthouse, security, structured data and 18 templates in a real browser at phone and desktop widths.
CrawledSitemap URLs1,620Internal links2,689 - 02
Rank the findings
Critical, high, medium and low, each with a fix or an owner decision.
Grade beforeTechnical layerB - 03
Fix pass
Images, fonts, tags, forms, security policy and dependencies, shipped and live.
Mobile LCPBlog post6.0s to 2.4s - 04
Store decisions
The owner signed off on the webhook change and on free shipping built into the price.
ShippingUS and CanadaFree - 05
Measure again
Same tools, same pages, live.
Grade afterTechnical layerA-
What this pass did not do.
The A- is our own grade of the site's code, not a third-party certification. Lighthouse numbers come from the Lighthouse CLI against the live site, not from Google's field data.
This was a speed, security and tagging pass, not a traffic campaign. We are not claiming a traffic result from it.
Services used
The work on this project maps to these services.
Case study FAQ
How was the 6.0 to 2.4 second improvement measured?
With Lighthouse on mobile, against the same live blog post before and after the fix pass. Mobile Performance on that page went from 77 to 98.
What caused the slow blog posts?
Hero images up to 400 KB loading as CSS backgrounds, plus render-blocking web fonts. We converted 14 heroes to WebP (3.2 MB down to 0.93 MB), preloaded the hero and self-hosted the fonts.
What does the B to A- grade mean?
It is our own grade of the site's technical layer, from the same audit we run for clients. It is not a third-party score.
What was wrong with the store?
The payment processor's order notifications went to a URL that redirected, which counts as a failed delivery, and checkout charged $0 shipping while the store paid for it. We pointed the notifications at the final URL and moved to free US and Canada shipping built into the price.
Can you run this audit on my site?
Yes. Start with the free live audit and we will show you what we see, then you can decide whether a full audit and fix pass makes sense.
Want numbers like these for your site?
Book the free live audit. We measure where your site stands today and show you what we would fix first. Or call (702) 609-0182.


