01 — Snapshot

Current standing

Traffic timeline — clicks, impressions & CTR per day

Markers

Impressions / dayrising falling trajectory weekend

Clicks / dayrising falling trajectory weekend

CTR / dayrising falling trajectory weekend

Search traffic / dayrising falling trajectory weekend

Position Tracking — visibility, traffic & average position

Position Tracking — tracked keywords by rank band

Position Tracking — top keywords & biggest movers

Priority products — the best sellers we optimise first

Ranked by units sold. These drive the revenue, so their keywords and pages take priority over generic terms. 45 of their 52 keywords are not yet in Position Tracking — list ready at docs/priority-products-keywords-2026-08.txt, pending a paste into the SEMrush UI (the tracking API is read-only for campaign config).

UnitsProductRevenueRev / itemRevenue ÷ Units — average revenue per unit sold.SKU / page
2,081EnergyLogic Preheater Gasket 2 5/8" O.D.$14,549$6.9920940122
1,683NuEra Waste Oil Filter$49,242$29.26NU601
1,140EnergyLogic Air Compressor Filter$9,841$8.6320210112
1,074EnergyLogic Nozzle #5$33,486$31.1820210123
945EnergyLogic Electrode$37,699$39.8906000593
907EnergyLogic O-Ring for Solenoid Valve$2,273$2.5120293199
819EnergyLogic Burner Gasket$10,606$12.9520910103
798EnergyLogic Nucleus with Spring for Solenoid Valve$10,374$13.0020293198
702EnergyLogic Preheater Insulation Top$1,404$2.0020940120
630EnergyLogic Drip Cap/Cup Gasket$12,634$20.0520933118
202EnergyLogic Metering Pump with Fittings$60,568$299.8414020155
192Large Compressor (unmatched in catalog)$91,298$475.51— · not found

Two things stand out: Large Compressor ($91,298) and 14020155 ($60,568) are the top revenue lines despite mid-pack volume — by revenue they outrank the #1 seller. SRV 200H and SRV 140H show $0.00 across 490 units and resolve to nothing in the catalog, which looks like service items tracked outside it. And SKU 20210112’s product title is literally “Air Compressor Filter20210112” — the part number is concatenated into the name Google indexes.

Keywords — stats & per-keyword timeline

· Click a row to load its timeline and filter the Position Tracking cards above.

Position Tracking — competitive visibility

Visibility % · tracked domains

Source: SEMrush Position Tracking — nueraheat.net (campaign 28026270_4021236, pulled live from the Position Tracking API Aug 13, 2026). . Tracked-campaign figures cover the 267 tracked keywords and are a different universe from the domain-wide numbers below.

8/100
Authority ScoreSEMrush’s 0–100 estimate of a domain’s ranking strength, based mainly on backlink quality.
113
KeywordsDomain-wide ranking keywords (SEMrush API, live Aug 13). Down from 243 in June by design — the junk query-string pages being de-indexed carried low-value rankings.
Jun 243 → 113▼ cleanup
~81
Visits / mo
Jun 112 → 81▼ 28%
292
Ref. domainsReferring domains — separate websites that link to you.
1,732
Backlinks
$0
Ad spend

Source: SEMrush domain overview — nueraheat.net (live values pulled from the SEMrush API Aug 13, 2026: AS 8, 114 keywords, 74 organic visits/mo, 292 referring domains, 1,732 backlinks; monthly history Jul 15 = 136 kw / 104 visits, Jun 15 = 243 kw / 112 visits).

Progress — last 30 days vs prior 30 days · Google Search Console

Clicks
65 → 104▲ 60%
Impressions
5,429 → 7,222▲ 33%
CTR
1.20% → 1.44%▲ 20%
Avg position
17.0 → 13.8▲ better

Sources: Google Search Console — nueraheat.net (requires the site's Google account) · SEMrush domain overview (requires a SEMrush login for full data).

02 — Traffic

Where traffic lands

The homepage and /shop/ take ~82% of organic traffic. Most other ranking URLs are PDFs, which don’t link into the shop.

Data Top landing pages
PageKWsKeywords the page ranks for.TrafficShare
/ (homepage)245751%
/shop/123431%
furnace-manual.pdf41110%
/shop/el-75h/933%
2016-schematic.pdf1033%

03 — Keyword rankings

Current positions

“energylogic” slipped to #6 while “oil furnace cad cell” climbed 16 places. Each row carries the date SEMrush last crawled that keyword’s SERP — they are not all measured on the same day.

Data Rankings
KeywordPosPosition on Google (1 = top). Source: SEMrush’s tracking of live Google US results — their measured ranking, not a live check of your own analytics.Vol.Estimated monthly Google searches in the US. Source: SEMrush.Last checkedThe date this row’s ranking was last measured, and which tool measured it. SEMrush timestamps come from their own SERP crawl of that keyword.
nuera heat 170Jun 25, 2026 · SEMrush
energylogic▼ 2 6590Aug 6, 2026 · SEMrush
energylogic waste oil heater 7390Aug 7, 2026 · SEMrush
oil furnace cad cell▲ 16 11260Aug 3, 2026 · SEMrush
how to prime oil burner 5320Aug 1, 2026 · SEMrush
how to clean an oil furnace nozzle▼ 5 2670Jun 17, 2026 · SEMrush

04 — Keyword gap

Missing terms

Terms competitors rank for and NuEra doesn’t — 15,000+ searches/mo. “Waste oil heater” alone is 6,600/mo.

Data Missing keywords
KeywordVol.Estimated monthly Google searches in the US. Source: SEMrush.KDKeyword Difficulty — how hard it is to rank on page one, 0–100. Under ~20 is very achievable. Source: SEMrush.Last checkedWhen this gap was last confirmed, and the tool that confirmed it. Gap terms come from SEMrush’s keyword-gap report against energylogic.com and wasteoilheatingparts.com.
waste oil heater6,60018Jul 31, 2026 · SEMrush gap
waste oil burner3,60018Jul 31, 2026 · SEMrush gap
used oil heater1,60015Jul 31, 2026 · SEMrush gap
waste oil furnace1,30018Jul 31, 2026 · SEMrush gap
lanair waste oil heater1,00019Jul 31, 2026 · SEMrush gap
drum heaters1,0005Jul 31, 2026 · SEMrush gap

05 — Backlinks

Link profile

292 referring domains. A few strong links sit above a tail of low-value directories and spam — 177 spam domains were disavowed on Aug 7, 2026, so Google now discounts them.

Data Referring domains
DomainASAuthority Score (0–100) — the linking site’s own strength.Note
bing.com93Strongest link
centralohioheaters.com10Industry peer
wasteoilparts.com7Industry peer
cheapsmmprovider.online6Spam — disavowed ✓
directory tail12–42Low value

06 — Priorities

Top three actions

1

Rank top-3 for “energylogic”

1,070 searches/mo, one step away. Optimize /shop/ around the term.

Low effort · High impact
2

Turn PDFs into pages

Manuals and diagrams rebuilt as pages that link into the shop.

Medium · High
3

Build the gap pages

Pages for “waste oil heater / furnace” — 15,000+ searches/mo.

Medium · Very high

07 — Keyword density

Live keyword density

Pick any page on the site and see the density of 1- to 5-word phrases in its crawler-visible HTMLServer-rendered HTML — what Google sees on first pass. Client-rendered content (e.g. the /store product grid) is not counted, by design.. Left = what the page actually says, ranked by density. Right = the keywords we want in those positions, with an editable target for each.

Density = (occurrences × words-in-phrase) ÷ total words — the same method as the July density report, so numbers are comparable.

In goals · at/above target In goals · below target Not a goal (off-target) Stopword / filler

Measured on page — top phrases

Choose a page and hit Analyze.

Keywords we want hereGoals mapped to this page show first; site-wide goals follow. Edit any target % — it’s saved in your browser.

Goals for the selected page appear here.

Aug 13, 2026 · latest

SEO / AIO sprint — shipped & verified live

Ten fixes merged to production and confirmed live on nueraheat.net, an active 1102 outage caught and recovered, and every human-blocked item filed to Focus Forge. The screenshots and walkthrough below were captured from the live site after deploy.

10
PRs merged & live
200
Site health · was 1102
2
Green prod deploys
11
HITL blockers → Forge
The 1102 outage was caught and recovered
Sitewide Worker CPU exhaustion returned 503 on every route. Restored by rolling the Worker back to the last-good version (verified 200 on live page text). Recurrence fix (stable build ID + cache-warm) shipped in PR #75; the durable ISR fix — tenant-twin routes that build as SSG/ISR — is in review as PR #82.
Resolved

Four fixes you can see on the live site

Live EnergyLogic EL75H product page

Product title — SKU suffix gone

wasEL 75H Waste Oil Heater | SKU el-75h
nowEL 75H Waste Oil Heater
Live EnergyLogic EL75H blog post

Blog title — brand added

wasEl75H Startup and Tuning
nowEnergyLogic EL75H Startup and Tuning
New Guides hub page

Guides hub — new page

was/guides → 404 (broke breadcrumbs)
now/guides → 200, ItemList schema
NuEra Heat homepage live

Homepage — back up

was1102 / 503 sitewide
now200 across cold Googlebot hits

Walkthrough — live site, recorded after deploy

Pull requests

PRFixStatus
#76SKU concatenated into product titles + “| SKU” suffixLive
#73Brand product-referencing blog titles (EnergyLogic/NuEra)Live
#74/guides hub — stops breadcrumb 404sLive
#7274 redirect-hop internal links → canonicalLive
#71Invalid reviewedBy dropped from guide JSON-LDLive
#80Blog title ≠ H1 + internal links (SEMrush 105/213)Live
#78Expanded llms.txt + pricing.json for AI enginesLive
#751102 recurrence fix (stable build ID + cache-warm)Live
#79Build fix — ProductCard has no sku fieldLive
#82Durable 1102 fix: tenant-twin routes build as SSG/ISRIn review
#81Drum-heaters + Lanair/Clean-Burn comparison pagesIn review*

*#81 has owner TODOs — competitor specs must be verified before publishing; left as a draft, no fabricated claims went live.

11 blockers are on you — filed in Focus Forge
All human-in-the-loop items (disable Workers Builds auto-deploy, R2/KV & Bot-Management tokens, disavow upload, Bing access, GA4/Umami IDs, COGS from Dan, marketing-email approval, the keyword→sales email + order data, energylogic.parts DNS) are Forge tasks assigned to Spencer, due Aug 1. Full plan in docs/seo-audit.md.
Action needed

Aug 12, 2026

Site reliability — the store stopped falling over

A run of work to kill the intermittent “1102” errors that took the whole site down on cold traffic, so pages load fast and stay up between deploys.

  • Store pages are now cached and pre-warmed after every release, so the first visitor after a deploy no longer hits a blank error page d474f1a
  • Product, category and content pages are served from a fast edge cache instead of rebuilt on every hit 85abaf6 aae2d4c
  • Fresh deploys now pre-load their cache before going live, closing the window where cold pages errored out 1f914f0
  • Rolled the site back to the last known-good version the moment a sitewide outage appeared, then re-landed the fixes safely in stages cc023f2

Aug 10, 2026

Returning-customer login & email unsubscribe

Past customers from the old site can set a password and get into their account, and the announcement email now has a working one-click unsubscribe.

  • New password-setup flow for existing customers migrating from the old WordPress store 0e9072b
  • The reset link now pre-fills the customer's email and shows the follow-up profile prompt, instead of dropping those details b5f1a8e 8eb4017
  • One-click unsubscribe endpoint wired up for the “new website” announcement email (api 1a7327d)

Aug 8, 2026

Traffic analytics turned on

The store now records real visitor and traffic data so we can measure what the SEO work is doing.

  • Google Analytics 4 and Umami wired in, and fixed a settings gate that would have silently kept them from recording anything 6c177b2

Aug 7, 2026

Google Shopping feed fixes

Cleaned up the product feed sent to Google Shopping so listings stop getting disapproved for duplicate IDs.

  • Every product now gets its own unique product ID in the feed instead of sharing one, which was causing Google to reject items 578606c

Jul 17, 2026

Brands, categories, tags & part compatibility

A big catalog upgrade across the storefront, admin and API: shoppers can browse by manufacturer, category and tag, and see which parts fit which machines.

  • New Manufacturer pages plus a “Manufacturer Information” card, and brand names auto-link across the site 97cc67c
  • New “Categories & Tags” browsing, tag pages, and a store-style manufacturer listing aa1f1ed
  • “Compatible With” card on product pages showing which products fit together 08c9105
  • Admins can now manage manufacturers and assign one to each product (admin 5888f2d)
  • Backend support for all of it: manufacturer endpoints, tag/category filters, and compatible-product data (api dae4785 fc9c76d cff3def)

Jul 16, 2026

Old-site link redirects & product display fixes

Links and images from the old WordPress store now point at the right places on the new site, and product descriptions render properly.

  • Old WordPress/WooCommerce page URLs now 301-redirect to their live equivalents, and added CMS Terms & Privacy pages 4a07042
  • Legacy product images from /wp-content/uploads redirect to the current product photos instead of 404ing 2aeef76 7df8158
  • Product descriptions now render their formatting correctly, and fixed unreadable text on price thumbnails e42147c

Technical Audit

Site health

Aug 13 outage & recovery: the site went fully down again — a sitewide Cloudflare Worker 1102 (CPU limit) returned 503 on every route. Root cause: every page renders dynamically (host-based multi-tenant routing reads request headers, so nothing is static/ISR) and the build ID changed on every deploy, orphaning the data cache — so each post-deploy crawl paid a full cold render and blew the CPU budget. Restored by rolling the Worker back to the last-good version (verified 200 on live page text); the recurrence-prevention fix (stable build ID + post-deploy cache-warm) shipped in PR #75, and the durable ISR fix — tenant-twin routes that build as SSG/ISR so cold crawls stop blowing the CPU budget — is in review as PR #82. Ten SEO fixes then shipped live this session (PRs #71–#80): SKU dropped from product titles, EnergyLogic added to product-referencing blog titles, the /guides hub, 74 redirect hops, structured-data, and blog title≠H1 — all verified live with two green production deploys. 220 errors and 61 warnings on the Aug 13 crawl (pre-fix). Warnings fell 1,346 as the metadata fixes landed (duplicate titles/content, nofollow links, minification and long titles all cleared); errors rose because the site was returning 5xx while SEMrush crawled it — 31 5xx pages and 157 broken internal links are outage artefacts, not new SEO debt. Separately, only ~181 of the 565 sitemap URLs are indexed by Google — closing that ~384-URL backlog is the single biggest ranking lever left.

Crawl scorecard

Results

220
Errors
61
Warnings
88
AI-search score
84
Performance

Progress since Jun 1 — technical fixes

Sitemap coverage
29 → 564 URLsfull catalog ▲
Indexed of sitemap
181 / 56532%
Audit fixes shipped
9 / 1090%
Legacy 301s live
~370 old URLsdone ▲

Shipped since Jun 1: self-referencing canonicals, full-catalog sitemap, www→apex 301, keyword product titles, homepage H1, Organization schema, stale-sitemap removal from Search Console, legacy WordPress-URL redirects. Also shipped Jul 31 (PR #39): bare-route meta descriptions, H1 fixes, sitewide brand linking, IndexNow (key + 50-URL ping accepted). Shipped Aug 7: 177 spam domains disavowed in Search Console (needed a new URL-prefix property — the disavow tool rejects domain properties), Workers Builds auto-deploy disconnected so only one pipeline deploys production, the Merchant Center service account granted Standard access, and R2 activated which unblocks edge caching. Shipped Aug 7 (later): AI crawlers now allowed — Cloudflare's managed robots.txt was overriding the app's own file and blocking ClaudeBot, CCBot, Google-Extended and others; disabling it also restored the Sitemap: directive it had been suppressing. ISR edge caching live on R2 + KV. Merchant feed fixed: the whole catalog was shipping under one g:id, now 370 items with 370 unique ids. Meta repairs re-landed and /products/furnaces now 301s to the real Heaters listing instead of serving an empty shell. Shipped Aug 8: analytics is finally measuring — GA4 (G-FKMD6JYY16) and Umami are both live and confirmed receiving real traffic, not just installed. A latent bug was caught in the process: NEXT_PUBLIC_* are inlined at build time, but the workflows set them only on the deploy step and production had no NEXT_PUBLIC_ENV at all — the tags would have shipped dead and silently reported zero. Bing Webmaster Tools verified (DNS CNAME) with the sitemap submitted; Google Search Console import does not work here because Bing only imports URL-prefix properties and nueraheat.net is a domain property. Position Tracking expanded 86 → 267 keywords with three competitors and batch tags for before/after comparison. Remaining: the mismatched-description content rewrite and the capped category listings.

Click any score for the full breakdown — every issue with its fix and Goal. Scores only cover pages the crawler can reach; the unreachable pages are the real problem.

Root causes

Indexation blockers

Every page names the homepage as its “canonicalA canonical tag tells Google which URL is the real one. If every page names the homepage, Google treats them all as duplicates of it.
Google collapses the catalog and blog as duplicates. Biggest issue, smallest fix.
Fix first
Technical Files & fix

Root layout hardcodes canonicalPath:'/' (layout.tsx:22); no builder sets alternates.canonical. Remove it and emit per-route canonicals from each metadata builder (content-meta.ts).

The parts catalog is invisible to Google
Part pages load only in the browser and aren’t in the sitemap.
Fix first
Technical Files & fix

Part routes use client-side renderingThe page ships empty and fills in via JavaScript in the browser — so crawlers see a blank shell. (ssr:false in PartDetailShell.tsx). Convert to server components like products/[slug]/page.tsx and add part URLs to sitemap.ts.

~10 more pages render as a blank loading screen
/services, /store, /used-oil and others serve crawlers a spinner.
Fix first
Technical Fix

Convert the 'use client' + useEffect fetch pages to server components. The correct pattern already exists in-repo.

12 pages ship no title or description
They inherit the homepage tags — the direct cause of the duplicate-title, duplicate-meta, and missing-heading counts.
Then
No cachingPages are rebuilt on every request instead of served pre-built, so they load slower and strain the server.
Every request hits the backend fresh — tied to the known Cloudflare burst errors.
Fixed
Technical What’s needed

Forge task ISR + R2/KV edge-cache (190391b5). SHIPPED Aug 7. R2 was activated (it had never been enabled), a scoped token minted, and incremental caching is live: R2 as the durable cache behind a colo-local regional cache, with KV as the tag cache so publishing invalidates by tag. Staging has its own bucket so it can never poison production. Verified live — cache objects landing in R2, no 1102. The sitemap is pinned force-dynamic: it is built from the live catalog and a cached build-time render would silently ship a catalog-less sitemap.

Full crawl list

All errors & warnings

Every issue with its count, fix, and Goal — also tracked as tasks under Goal 6 in the plan.

No action needed

Already correct

Technical What’s working

Dynamic robots.txt & sitemap · nueraheat.com→.net redirect live · homepage, /products, and blog properly server-rendered with structured data · fonts and scripts optimized · full image alt coverage · accurate llms.txt · NAP in the footer sitewide.

AI Visibility

AI search readiness

AI engines cite sources instead of ranking them. About half the site can’t be read by AI crawlers today, because they don’t run JavaScript.

~50%
Unreadable by AI
llms.txt live
pricing.json live
25
FAQ schemaStructured Q&A markup that lets AI engines lift a direct answer from your page.

Progress since Jun 1 — AI readiness

Foundations shipped
2 / 4llms.txt + pricing.json
Structured data
Organization ✓ · FAQ ✗1 / 2
AI crawler access
GPTBot, ClaudeBot, CCBot…allowed ✓
Server-rendered content
~50% readablein progress

Resolved Aug 7 — AI crawlers can now read the site. The block was not in the app at all: Cloudflare’s managed robots.txt was overriding the file the site serves, and turning off ai_bots_protection alone did nothing — the fix required setting is_robots_txt_managed=false. That also restored the Sitemap: directive Cloudflare had been silently suppressing. Verified live: ClaudeBot, CCBot, GPTBot and Google-Extended are allowed. The remaining AI gap is now content, not access — roughly half the site still renders client-side, so a crawler that does not run JavaScript still sees an empty shell. That is what the capped category listings and the rebuilt comparison page fix.

Findings

Issues

Half the site is invisible to AI
The parts catalog and client-rendered pages serve AI bots a blank screen.
Critical
The comparison page is unreadable
Comparison pages are the format AI cites most, and this one ships as a blank shell.
Critical
Weak citation signals
No FAQ answers, bare author names, no answer-first content blocks.
Improve
Ahead of most competitors
AI bots allowed; llms.txt and machine-readable pricing already live.
Keep
Technical Signal detail

FAQ schema — shipped Aug 11. 25 questions across /support (12), /waste-oil-heaters (9) and the comparison page (4), server-rendered and verified in the raw HTML. JsonLd was a client component, so its ld+json only materialised after hydration — invisible to crawlers; it is now server-rendered, which is the likely reason SEMrush detected no schema at all. Four answers carry content TODOs (warranty terms, competitor service intervals, Lanair/Clean Burn parts) pending a human answer. Authors — shipped Aug 11. Archives emit ProfilePage + Person (url, worksFor, recent posts) and blog bylines link to them; the team roster is now one shared source so /about and the archives cannot drift. Three of four people still have no bio on file — description is omitted rather than invented, and filling them in is a content task (~+30% citation lift). Answer-first — pages lack 40–60-word direct answers, sourced stats, and “last updated” dates. Already live: AI bots allowed in robots, llms.txt and pricing.json return 200, server-rendered structured data on the main product route.

Sequence

Order of work

1

Server-render the pages

Fixes Google and AI in one move — nothing else matters until bots can read the pages.

2

Rebuild the comparison page

A real comparison table with numbers — the highest-odds citation asset.

3

Add FAQs & answer-first content

Direct answers, sourced stats, author bios; keep llms.txt / pricing.json fresh.

Strategy & Plan

Engagement plan

Two months to fix the foundation and build momentum, then a lower base fee tied to results. The full task list is below.

Phase 1

Months 1–2

Fixed budget covering the foundation fixes and the first content and links. Backlink cost is included within the budget.

Included
  • Technical fixes (Goals 1, 6, 7)
  • Gap + PDF pages (Goal 3)
  • Search-engine + AI submission (Goal 8)
  • Backlink building — not included
  • Tracking, Analytics, reporting
Result by month 2
  • Full catalog indexed
  • “energylogic” moving toward top-3
  • First gap pages live & submitted
  • Baseline set for Phase 2
$2,000 / mo × 2Fixed monthly budget, Months 1–2.

Phase 2

Month 3 onward

Lower fixed base plus a results component, measured against the Phase-1 baseline. Pick one results model at signing.

$750 / mo base+ results component below.
Rankings
Simplest to track.
  • Bonus per tracked keyword reaching top-3
  • Held while it stays there
Recommended
Revenue share
Best aligned to the shop.
  • % of attributable organic revenue
  • Needs store conversion tracking
Traffic
Simple, volume-based.
  • Bonus per organic-traffic milestone
  • Banded month over month

Base and rates are finalized after the Phase-1 baseline so targets reflect real numbers. Month-to-month, cancel anytime.

Timeline

First 90 days

1

Month 1

Technical fixes · Analytics live · keywords tracked · submissions · first pages.

2

Month 2

Catalog indexed · gap pages live · outreach begins · baseline report.

3

Month 3+

Switch to base + results · scale content and links against the baseline.

Goals & Tasks

The work

9 Goals53 Tasks0 / 53 done
Expand a goal to see its tasks. Tap a task to mark it done.
1

Stop the site deindexing itself

0 / 4
  • Fix canonicals — emit one per pageP1
  • Server-render the parts catalog + add to sitemapP1
  • Convert the ~10 blank-loading pages to server-renderedP1
  • Add titles & descriptions to the 12 bare routesP1
2

Take top-3 for “energylogic”

0 / 4
  • Rewrite /shop/ title & heading around EnergyLogicP1
  • Expand /shop/ copy with model contextP1
  • Add internal links using the termP2
  • Track both keyword variantsP2
  • Generate real-time keyword density report for optimizing around keywordsP2
3

Convert PDFs & win the gap terms

0 / 8
  • Rebuild furnace wiring diagram as a pageP1
  • Rebuild cad-cell testing contentP2
  • Rebuild nozzle-cleaning guide + redirect old PDFsP2
  • Build “Waste Oil Heaters” page (6,600 vol)P1
  • Build “Waste Oil Furnace” pageP2
  • Build “Used Oil Heater” pageP2
  • Quick win: “drum heaters” (KD 5)P3
  • Competitor-brand pages (Lanair, Clean Burn)P3
4

Clean & grow backlinks

1 / 3
  • Disavow the spam linksP2
  • Review the over-used footer linkP3
  • Earn 2–4 industry links / monthP3
5

Win AI citations

0 / 4
  • Rebuild the comparison page server-sideP1
  • Add FAQ answers + schemaP2
  • Make key content answer-firstP2
  • Add author bios; keep llms.txt freshP3
6

Clear the SEMrush crawl

0 / 13
  • Duplicate title tagsCleared · 0
  • Duplicate meta descriptionsCleared · 0
  • Duplicate contentCleared · 0
  • HTTP-homepage canonical / redirectCleared · 0
  • Slow page loadCleared · 0
  • Nofollow internal linksCleared · 0
  • Reduce & minify JS / CSSCleared · 0
  • Titles too longCleared · 0
  • Broken internal links — real 3 fixed (/guides hub, PR #74); rest were outage 503sFixed · #74
  • 5xx errors (crawl-time outage artefact — confirm)Error · 31
  • Incorrect pages found in sitemap.xmlError · 24
  • Structured-data markup errors (invalid reviewedBy)Fixed · #71
  • Missing H1 headingsError · 2
  • Permanent-redirect hops (301 chains) — all 74 from 2 footer linksFixed · #72
  • Low text-to-HTML ratioWarn · 37
  • Duplicate content in H1 & title (blog templates)Fixed · #80
  • Low word countWarn · 8
  • Re-crawl to confirm counts drop to zeroVerify
7

Speed & measurement

0 / 6
  • Ship caching / edge cacheP1
  • Connect Analytics + Search ConsoleP1
  • Fix soft-404s; merge duplicate product URLsP2
  • Valid product schema + share imagesP2
  • Rank-tracking dashboardP2
  • Monthly reporting cadenceP3
8

Submit to search engines & AI

0 / 6
  • Submit sitemap to Google Search ConsoleP1
  • Submit sitemap to Bing Webmaster Tools (feeds more)Bing’s index also powers Yahoo, DuckDuckGo, and ChatGPT search.P1
  • Submit to Yandex WebmasterP2
  • Enable IndexNowA protocol that instantly notifies Bing, Yandex, and others when pages change. for instant indexingP2
  • Allow & verify AI crawlers (all majors)GPTBot (OpenAI), ClaudeBot (Anthropic), PerplexityBot, Google-Extended (Gemini), Applebot-Extended, Amazonbot, CCBot.P1
  • Expand llms.txt + keep pricing.json current for AI ingestionP2
9

Launch the other sites

0 / 4
  • Launch energylogic.parts (second tenant) — build & go liveP2
  • Bind domain, verify live, apply the same technical foundation (Goals 1, 7)P2
  • Submit each new site to search engines & AI (Goal 8)P2
  • Add further brands as they come onlineP3

Each site is launched first, then optimized over time as the budget continues.

Goal 1 alone clears most of Goal 6 — the duplicate and missing-heading counts are symptoms of the canonical and metadata fixes.

Date range