Live demo — you're browsing real sample data. Nothing here can be edited.
Create your own free →Technical SEO overhaul for an e-commerce client — fix Core Web Vitals, restructure category pages, rebuild internal linking.
Get Core Web Vitals into the "Good" range on mobile before the next Search Console crawl.
Apply the same image load-sequencing fix to the 6 remaining category pages with heavy product carousels.
Site is on Shopify. Access via partner dashboard, not the client's own login. Tracking sheet: "Bloomwell SEO" in Google Sheets. GSC property verified under agency account.
The project is currently focused on integrating the Merkl native APR into the aToken display. The Express server has been wired to show the combined base APR and native APR, but this hasn't been tested against the deployed Next.js static export.
The APR numbers haven't been checked in a deployed environment, which could lead to discrepancies.
Test the standalone Express APR server end-to-end against the Next.js static export to ensure the APR display functions correctly.
Test the standalone Express APR server end-to-end against the Next.js static export.
This is the single blocker between the current work and a production-ready APR display — everything else is already wired up.
Sign up for AI-suggested next steps →Context Health
Recency + completeness
✓ Strong context — you can resume this project instantly.
Why things are the way they are
Exclude hero image from lazy-loading entirely
Jul 4, 2026
Lazy-loading the LCP element itself was delaying it further, working against the goal.
Fix shared template images before restructuring internal links
Jun 29, 2026
LCP was failing site-wide due to one shared category template, affecting every page identically.
Session
1 day ago
Completed
Re-ran PageSpeed Insights across the top 20 category pages — LCP improved on 14 of 20, still failing on 6 with heavier product carousels.
Problems
The 6 still-failing pages all share a product carousel component that loads its own separate image set on mount.
Decisions
Decided to defer the carousel's image loading until after the hero image finishes, instead of both competing for bandwidth at once.
Learned
When a page has two "heavy" elements, sequencing their load order matters as much as optimizing either one individually.
Next Action
Apply the same image load-sequencing fix to the 6 remaining category pages with heavy product carousels.
Session
4 days ago
Completed
Converted all category hero images to WebP and added lazy-loading for anything below the fold.
Problems
Lazy-loading the hero image itself accidentally delayed LCP further, since it's the largest above-the-fold element.
Decisions
Excluded the hero image specifically from lazy-loading (loading="eager") while keeping lazy-load on everything else below the fold.
Learned
Lazy-loading is not a blanket win — the one image that IS the LCP element should almost always load eagerly, not lazily.
Next Action
Re-run PageSpeed Insights on the updated category pages to confirm the LCP fix actually worked before moving to the next batch of pages.
Session
8 days ago
Completed
Remapped the category hierarchy so every subcategory is reachable within 2 clicks from the homepage, and updated the main nav.
Problems
The old flat category structure had orphaned pages that weren't linked from anywhere — Search Console showed them as "Discovered, not indexed."
Decisions
Added a "related categories" module at the bottom of each category page specifically to link previously-orphaned pages back into the site structure.
Learned
Orphaned pages don't show up as broken links — they just quietly stop getting crawled. Worth checking Search Console coverage reports, not just crawling the site itself.
Next Action
Start compressing and lazy-loading the category page hero images to address the LCP issue from the audit.
Session
11 days ago
Completed
Ran a full technical audit — Screaming Frog crawl plus Core Web Vitals report from PageSpeed Insights across the top 20 category pages.
Problems
LCP was failing on mobile for almost every category page, mostly driven by unoptimized hero banner images.
Decisions
Prioritized fixing images before touching internal linking — LCP affects rankings directly and every page shares the same template, so one fix scales everywhere.
Learned
Fixing one shared template component is almost always higher leverage than fixing pages one at a time.
Next Action
Restructure the category page internal linking so subcategories are reachable in 2 clicks instead of 4.
Audit orphaned pages as a standard first step
1 day ago
Search Console coverage reports caught issues a normal crawl completely missed — worth making this step 1 on every future audit.
Build a "Core Web Vitals" checklist doc for future SEO clients
3 days ago
The image loading-order lessons learned here (eager vs lazy, sequencing carousels) apply to almost every e-commerce client.
Chronological history of this project
Project "Bloomwell SEO Sprint" created
about 4 hours agoAudit orphaned pages as a standard first step
1 day agoSearch Console coverage reports caught issues a normal crawl completely missed — worth making this step 1 on every futur
Re-ran PageSpeed Insights across the top 20 category pages — LCP improved on 14 of 20, still failing on 6 with heavier p
1 day agoNext: Apply the same image load-sequencing fix to the 6 remaining category pages with heavy product carousels.
Build a "Core Web Vitals" checklist doc for future SEO clients
3 days agoThe image loading-order lessons learned here (eager vs lazy, sequencing carousels) apply to almost every e-commerce clie
Exclude hero image from lazy-loading entirely
4 days agoLazy-loading the LCP element itself was delaying it further, working against the goal.
Converted all category hero images to WebP and added lazy-loading for anything below the fold.
4 days agoNext: Re-run PageSpeed Insights on the updated category pages to confirm the LCP fix actually worked before moving to the next
Remapped the category hierarchy so every subcategory is reachable within 2 clicks from the homepage, and updated the mai
8 days agoNext: Start compressing and lazy-loading the category page hero images to address the LCP issue from the audit.
Fix shared template images before restructuring internal links
9 days agoLCP was failing site-wide due to one shared category template, affecting every page identically.
Ran a full technical audit — Screaming Frog crawl plus Core Web Vitals report from PageSpeed Insights across the top 20
11 days agoNext: Restructure the category page internal linking so subcategories are reachable in 2 clicks instead of 4.