Raw HTML for the homepage and Googlebot contains no H1, H2, product content, images, internal links, JSON-LD, or route-level canonical. Product pages also return the generic homepage title before JavaScript runs.
The site looks alive. The crawler sees a shell.
The Hale's browser experience has product listings, content, images, schema, and internal links. The initial HTML served to a normal request and Googlebot is only about 6.8 KB and contains an empty #root app shell with generic title and description.
Google can render JavaScript, but relying on second-wave rendering for every title, canonical, schema block, product page, and internal link weakens discovery, consistency, and AI-search extraction.
Raw homepage and Googlebot HTML were the same small app shell.
All sampled URLs returned the same raw title length and meta description length.
Sitemap URLs resolve, but all redirect from non-www to www.
llms.txt exists, but citability is held back by rendering and weak answer blocks.
What is holding organic growth back.
Ordered by ranking impact and implementation urgency. The first four items should be treated as launch-stability fixes, not someday optimizations.
The sitemap lists https://thehale.co/..., while final URLs resolve to https://www.thehale.co/.... The sitemap audit found 334 redirected sitemap URLs and deprecated changefreq/priority tags.
The crawler sampled 200 URLs and every URL returned the same raw title length and same raw meta description length. Route-specific titles exist in the rendered browser, but they are not in the initial response.
Rendered canonicals point to non-www URLs, while the live browser URL is www and sitemap URLs redirect to www. Pick one canonical host and make raw HTML, rendered HTML, sitemap, robots, OG URLs, and internal links agree.
Rendered product pages include Product schema, which is good. But raw HTML has no schema, Product schema depends on JavaScript, product pages include deprecated HowTo schema, and BreadcrumbList appears twice.
The audit did not detect Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, or Referrer-Policy headers.
The rendered homepage has one H1 and no H2s. A rendered category page has duplicate H1s and a H5 for the primary product section. A rendered product page has duplicate H1s. This hurts scanning, accessibility, and AI extraction.
The visual audit detected the cookie banner covering category content on mobile and several touch targets below the 44px comfort threshold, including cart controls, icon buttons, the primary CTA height, and the privacy link.
llms.txt is present and substantive, and major AI crawlers are allowed. The missing piece is crawlable, answer-first content: no strong 134-167 word answer block, limited question headings, and weak attribution/update signals.
Common Crawl found the domain in the 2026 Q1 web graph, but with very low PageRank and no referring-domain sample. Moz/Bing credentials were not available, so this is directional rather than a full authority audit.
Raw HTML vs rendered HTML.
This is the audit's central theme. Users see a full e-commerce experience. Raw crawlers, social scrapers, and many AI systems see much less.
| Page | Raw HTML Evidence | Rendered Browser Evidence | SEO Meaning |
|---|---|---|---|
| Homepage | Generic title, generic 119-character description, empty #root, no H1/H2/images/links/schema. |
Home | Hale, 557 words, one H1, Organization and WebSite schema, internal links and product cards. |
Important content is only available after JavaScript execution. |
| Hair Category | Same generic title and description as homepage. | Hair Products | Hale, 448 words, category copy, filters, product grid, duplicate H1s, no ItemList schema detected. |
Category pages need server-rendered title, description, H1, intro copy, product links, and ItemList/Breadcrumb schema. |
| Product Detail | Same generic homepage title and description; no Product schema in initial HTML. | Beard Cleanser Sea Moss & Black Seed Oil | Hale, 671 words, Product schema, deprecated HowTo schema, duplicate BreadcrumbList, duplicate H1s. |
Product SEO exists in the browser but is fragile for crawlers and needs schema cleanup. |
<title>Hale - Personalized Grooming Recommendations</title> <meta name="description" content="Hale uses real data..."> <!-- OG/Twitter/canonical tags rendered per-route by the SEO component --> <div id="root"></div>
<title>{routeSpecificTitle}</title>
<meta name="description" content="{routeSpecificDescription}">
<link rel="canonical" href="https://www.thehale.co/{path}">
<script type="application/ld+json">{routeSpecificSchema}</script>
<main>{crawlableContent}</main>
Solid performance. Risky delivery.
The lab performance profile is healthy enough to protect. The technical priority is making the existing experience crawlable and consistent.
Largest Contentful Paint is in the good range based on local Lighthouse lab data.
Interaction to Next Paint estimate is good. Field data was unavailable.
Cumulative Layout Shift is comfortably below the 0.10 good threshold.
HTTPS is active, robots.txt allows public crawling, mobile viewport is present, lab Lighthouse scores are respectable, and product imagery/assets are available once the app renders.
Add SSR/prerendering, align the canonical host, update sitemap URLs to final www URLs, remove deprecated sitemap tags, add security headers, and stop preloading data:application/octet-stream module resources that trigger console errors.
Bring the proof into crawlable pages.
The brand has a useful promise: simplify men's personal care through data and product curation. The site needs more crawlable proof that Hale is qualified to make recommendations.
Rendered homepage word count is 557, which clears the homepage floor, but the page lacks H2 sections and answer-first blocks. Add sections for methodology, data sources, expert review, brand independence, and how the assessment works.
Category pages should include 400+ words of useful, unique intro and buying guidance. The Hair page is close at 448 rendered words but needs raw HTML delivery, better H2s, internal links, and product-list schema.
Product pages have useful rendered descriptions and reviews. Make those visible in initial HTML, add comparison/context blocks, and avoid duplicate H1s or deprecated schema.
Hale is a brand-agnostic men's personal-care marketplace that helps shoppers choose grooming, skincare, haircare, beard, dental, and fragrance products without guessing. The site combines a guided assessment, curated product categories, ingredient education, user reviews, and third-party brand selection so men can build routines around their skin, hair, habits, and budget. Unlike a single-brand store, Hale should explain how recommendations are selected, who reviews product claims, how ingredients are evaluated, and why certain products fit specific use cases. Add this kind of answer-first explanation near the top of the homepage and adapt it into category-specific versions for Hair, Face, Body, Beard, Dental, Fragrance, and Bundles.
Keep Product. Remove HowTo.
Schema should be JSON-LD, route-specific, server-rendered, and aligned with the canonical host.
Server-render Organization, WebSite, WebPage, BreadcrumbList, and ItemList where relevant. Use actual social profiles in sameAs, verify the current Instagram/TikTok handles, and avoid placeholder founder values like Hale Founders if real founder attribution is available.
Server-render Product, Offer, AggregateRating, Review, Brand, ImageObject, and BreadcrumbList. Remove HowTo schema because HowTo rich results are deprecated and the current SEO skill flags it as a "never recommend" type.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "{Product Name}",
"description": "{Unique product description}",
"image": ["{absolute image URL}"],
"brand": {"@type": "Brand", "name": "{Brand Name}"},
"sku": "{SKU}",
"offers": {
"@type": "Offer",
"url": "https://www.thehale.co/products/{slug}",
"priceCurrency": "USD",
"price": "{price}",
"availability": "https://schema.org/InStock"
}
}
Fix the foundation, then build demand.
The roadmap prioritizes indexation consistency before content expansion. That keeps later SEO work from leaking value.
Week 1: Render critical SEO server-side.
Implement SSR, static prerendering, or dynamic rendering for public routes. At minimum, initial HTML should include route-specific title, meta description, canonical, OG/Twitter tags, primary H1, key body copy, internal links, and JSON-LD.
Week 1: Choose and enforce the canonical host.
Use https://www.thehale.co/ everywhere if www is the final host. Update rendered canonicals, raw canonicals, OG URLs, sitemap URLs, robots sitemap directive, internal links, and schema URLs.
Week 1: Rebuild sitemap and robots.
Generate a sitemap with only final 200 URLs, remove priority and changefreq, keep accurate lastmod, and reference the final sitemap URL in robots.txt.
Weeks 2-3: Clean schema and templates.
Move Organization, WebSite, WebPage, BreadcrumbList, Product, Offer, Review, and ItemList schema into server-rendered templates. Remove HowTo schema and duplicate BreadcrumbList output.
Weeks 2-4: Fix headings and category copy.
Use one H1 per page. Add H2s for methodology, product types, concerns, ingredients, FAQs for users, and recommended routines. Expand category pages with unique buyer guidance, not only filters and product cards.
Month 2: Build topical authority.
Create crawlable guides around men's skincare basics, beard routines, ingredient explanations, hair product selection, deodorant choices, fragrance buying, and routine-building. Link these guides into category and product pages.
Month 3: Earn and consolidate authority.
Use brand partner stories, founder/team expertise, review methodology, earned media, and digital PR to strengthen E-E-A-T and backlinks. Add About/team proof to the site, not only social channels.
What users see.
Screenshots confirm the rendered site has a real shopping experience. That makes the render gap more urgent: the content already exists, it just needs to arrive in crawlable HTML.
The receipts.
Collected with the installed SEO skill, live browser rendering, raw HTML fetches, robots/sitemap checks, Lighthouse lab data, Common Crawl graph data, and Google Search Console property availability checks.
https://www.thehale.co and its public crawl, rendering, sitemap, schema, content, performance, image, and AI-search surfaces.#root.Home | Hale, 557 words, one H1, zero H2s, Organization and WebSite schema.Hair Products | Hale, 448 words, duplicate H1, H5 product section, two schema blocks.Beard Cleanser Sea Moss & Black Seed Oil | Hale, 671 words, duplicate H1, Product schema, HowTo schema, duplicate BreadcrumbList.priority and changefreq tags are present.https://thehale.co/sitemap.xml, not the final www URL.llms.txt is present and substantive; major AI crawlers are allowed. Score is 20/100 because crawlable answer-first passages, headings, and attribution are weak.