CleverWave SEO Site Chart 2026·09·03 Read-only audit Nothing modified

Three centers.
One of them is findable.

Little Stars runs pediatric medical daycare in The Woodlands, Pasadena and Texas City. Its website tells Google about one of those places — and not clearly.

Prepared for
Manu & Carlos
Domain
littlestarsppec.com
Target market
The Woodlands · Pasadena · Texas City, TX
Measured
2026-09-03, 18:42–19:05 UTC
01

The bottom line

14 findings

Little Stars is structurally invisible for two of its three markets. The cause is not competition — it is that the site never tells Google those two markets exist. There is no page that can rank for The Woodlands. There is no page that can rank for Texas City. No page on the domain carries a city name in its title or its main heading.

0/8Pages with local business structured data
1/8Pages with an <h1> — and it reads “Services”
0Dedicated pages for the three target cities
40%Of the sitemap is Duda demo content about wallpaper
2/2Conversion pages deliberately hidden from Google
10.7 MBHomepage weight, zero images lazy-loaded
8/8Pages with a broken “Call Us” button
0/5Competitors with local schema — the ground is unoccupied
Field note · the wedge

The two markets nobody is physically in

Little Stars owns something its strongest competitor does not: three physical addresses across the Houston metro, including 10815 Kuykendahl Road in The Woodlands and 7228 Medical Center Drive in Texas City.

Spark Pediatrics — the clear content leader in this niche — runs one center, on Sands Point Drive in Houston. On the Houston location page I fetched, the words “Woodlands”, “Pasadena” and “Texas City” appear zero times each.

A parent in The Woodlands searching for medical daycare near them is being served results by centers that are not in The Woodlands. Little Stars is in The Woodlands, and has no page that says so in a way Google can use. Start there, not with the Pasadena fight.

02

How to read this

Every finding carries a confidence label. They are not decoration — they separate what you can act on today from what needs an instrument we do not have yet.

ConfirmedMeasured directly, reproducible with the command shown.
LikelyStrong evidence, one instrument only.
HypothesisReasoned, not measured. A question, not a fact.
BlockedNeeds access we do not have.
Not measuredNobody has measured it, including me. Not the same as “fine”.

Each finding shows the actual bytes the site served, so you can check any claim here without taking my word for it.

03

Critical · fix first

7 findings

Seven defects that block everything downstream. All seven are fixable inside Duda — no platform migration.

Critical 01

Three markets claimed, one identity Google can see

Confirmed

The header of every page reads “The Woodlands, TX. / Pasadena, TX. / Texas City, TX.” All three addresses are real. All three appear on exactly one page — /contact-us — and only Pasadena repeats in the sitewide footer.

There is no /the-woodlands, no /pasadena, no /texas-city. The site’s own location widget renders a link labelled “Go to location page”, and there is no location page for it to point at.

Instrument reading · internal links on /contact-us
/  /about-us  /admission  /services  /parents-resources
/contact-us  /patient-referral-form  /request-tour
— no /the-woodlands, no /pasadena, no /texas-city —
<a class="dmGeoSVGoToPage">Go to location page</a>   ← points nowhere

Google ranks pages, not intentions. For “PPEC near me” searched from The Woodlands or Texas City, nothing on this domain is eligible to win. This one defect costs more than every other item here combined, because it forfeits two of three markets entirely.

Fix
  1. Build /ppec-the-woodlands-tx, /ppec-pasadena-tx, /ppec-texas-city-tx.
  2. Each gets a unique <h1>, that center’s full NAP, hours, photos, directions, insurances, and 150+ words of genuinely center-specific copy. Do not clone one page three times — near-duplicate city pages are a known local-SEO failure.
  3. Link them from header, footer and the location widget. Add all three to the sitemap.
Critical 02

Zero structured data on every real page

Confirmed

All eight real pages return 0 JSON-LD blocks. No Organization, no LocalBusiness, no MedicalClinic, no FAQPage, no BreadcrumbList.

The irony is exact: the only structured data on the entire domain sits on four Duda demo blog posts — and it describes wallpaper.

Instrument reading · JSON-LD by page
/                       jsonld=0  []
/services               jsonld=0  []
/about-us               jsonld=0  []
/admission              jsonld=0  []
/parents-resources      jsonld=0  []   ← has a real FAQ, unmarked
/contact-us             jsonld=0  []
/request-tour           jsonld=0  []
/patient-referral-form  jsonld=0  []
/how-to-choose-a-sofa   jsonld=1  ['BlogPosting','Person']  ← the only schema on the site

/parents-resources publishes genuine FAQ content — “How does Little Stars distinguish itself from traditional home health services?” — with no FAQPage markup, so it cannot earn FAQ rich results or be cleanly lifted by an AI answer engine.

Fix
  • MedicalClinic JSON-LD per location page: name, address, geo, telephone, openingHoursSpecification, areaServed, medicalSpecialty.
  • Organization sitewide with sameAs → the Facebook and Instagram profiles that already exist.
  • FAQPage on /parents-resources, matching the visible questions exactly. BreadcrumbList sitewide.
Critical 03

Four Duda demo posts, in Spanish, about interior decorating

Confirmed

Four of the ten sitemap URLs are untouched template content: English slugs, Spanish bodies, subject matter with nothing to do with pediatric care. They are indexable, self-canonical, in the sitemap — and they hold four of the five <h1> elements on the entire domain.

URL slugActual <h1>Translation
/how-to-choose-a-sofaElegir la lámpara correcta“Choosing the right lamp”
/make-the-most-of-the-season…Cuelga el papel pintado como un jefe“Hang wallpaper like a boss”
/keep-in-touch-with-site-visitors…Los colores de la sala de estar“Living room colors”
/tips-for-writing-great-posts…Cómo preparar las paredes para pintar“How to prepare walls for painting”

For a health site, template debris of this kind is a direct quality signal against the domain, and it muddies the topical picture Google builds.

Fix

Delete all four. Return 410 Gone (or 404 if Duda cannot). Do not redirect them to the homepage — redirecting irrelevant content onto a commercial page is itself a low-quality signal. Then resubmit the sitemap.

Critical 04

Both conversion pages are hidden from Google

Confirmed

The two highest-intent pages on the domain — the tour request and the referral form — are set to noindex and are absent from the sitemap. This is almost certainly a Duda default nobody revisited, not a decision.

Instrument reading
/request-tour           robots=noindex   title(12)="REQUEST TOUR"   desc=0  h1=0
/patient-referral-form  robots=noindex   title(21)="Patient Referral Form"  desc=0  h1=0
sitemap.xml contains either page: 0 matches

“Request a tour” is what a converting parent does. The referral form is what a discharge planner or pediatrician needs. The site cannot rank for either, and referral-source discovery is forfeited.

Fix

Remove noindex from both. Add real titles, descriptions and <h1>s, and add both to the sitemap. Keep any thank-you/confirmation page noindex — that one is correct to hide.

Critical 05

Seven of eight pages have no <h1>

Confirmed

Headings are being used as font sizes, not as structure. The contact block repeated on every page uses h3/h4/h5 for a phone number and an email address.

Page<h1>Heading pattern
/ homenoneh2×8 h3×9 h4×6 h5×3
/about-usnoneh2×4 h3×6 h4×2 h5×3
/admissionnoneh2×1 h3×9 h4×2 h5×3
/parents-resourcesnoneh2×3 h3×6 h4×2 h5×4
/contact-usnoneh2×1 h3×4 h4×3 h5×3
/request-tournoneh2×1 h3×4 h4×2 h5×3
/patient-referral-formnoneh3×4 h4×2 h5×3
/services“Services”h1×1 h2×1 h3×9 h4×2 h5×3

On the homepage the brand name in the hero is split across separate elements — Little / S / t / a / r / s — so the most visually prominent text on the site is not a single readable phrase in the markup.

Fix · one h1 per page, service + city
  • Home → Prescribed Pediatric Extended Care (PPECC) in the Houston Area
  • /admissionPPECC Admission and Medicaid Eligibility in Texas
  • Location pages → Prescribed Pediatric Extended Care in The Woodlands, TX
  • Demote the decorative contact headings to <p> with styling.
Critical 06

The “Call Us” button is broken on every page

Confirmed

Every page carries three working phone links and one broken one. The broken one sits inside the location widget — the button a local searcher on a phone actually taps.

Instrument reading · served HTML, every page
<a … href="tel:asdasda" phone="asdasda">…<span class="text">Call Us</span></a>

tel: links per page   {'1 8335487827': 3}  +  {'asdasda': 1}
mailto: links on the whole domain                      0

Placeholder keyboard-mashing that shipped to production, on the highest-intent interaction a healthcare site offers. /contact-us has two of them.

Fix

Set the widget phone to +18335487827. Normalise the three working links from tel:1 8335487827 (with a space) to tel:+18335487827. Make info@littlestarsppec.com an actual mailto: link — it appears as plain text on all eight pages.

Critical 07

https://littlestarsppec.com throws a security warning

Confirmed
Instrument reading · curl + openssl
http://littlestarsppec.com/       301 → https://www.littlestarsppec.com/  ✓
https://littlestarsppec.com/      TLS failure — no valid certificate  ✗
https://www.littlestarsppec.com/  200, valid Let's Encrypt cert  ✓

apex A records → 15.197.142.173, 3.33.152.147  (forwarding, no cert)
www CNAME      → s.multiscreensite.com          (Duda, cert valid)

Chrome and Safari now try HTTPS first. A parent, nurse or referring physician who types the bare domain — from a flyer, a card, or memory — can land on a full-page security interstitial. On a healthcare site that is a trust event, not a technicality. It also breaks any inbound link written as https://littlestarsppec.com.

Fix

In GoDaddy DNS, forward the apex with HTTPS provisioned, or point the apex at Duda directly per their apex instructions so the certificate covers both hostnames. Verify with curl -I https://littlestarsppec.com/.

04

High impact

7 findings
High 08

The homepage weighs 10.7 MB and lazy-loads nothing

Confirmed
Instrument reading · 58 unique images measured
HTML                          385 KB
images                     10,602,255 bytes  (10.6 MB)
images with loading="lazy"      0 of 60
images with width+height         3 of 60

48 of 60 images = the embedded Instagram feed, 150–512 KB each
Recurso+210-1920w.png         466 KB     final02-1920w.png   350 KB
United+Healthcare-1920w.png   117 KB     ← an insurance logo

Spark Pediatrics, same measurement:  69 of 70 lazy, 168 KB HTML

Duda serves every image at -1920w regardless of display size. Largest Contentful Paint and layout shift will both suffer, especially on the mobile connections most parents use.

Fix
  1. Lazy-load the Instagram feed or replace it with a static six-image gallery — this alone removes ~8.9 MB.
  2. Let Duda serve responsive sizes instead of 1920w originals; convert logos to WebP/SVG.
  3. Add width and height to every image to stop layout shift.
  4. Rename files — Recurso+210.png and Captura+de+pantalla+2023-12-01.png carry no signal. Use little-stars-ppec-pasadena-nursing-room.webp.

Not measured: real Core Web Vitals field data. Payload predicts LCP; it is not LCP. Needs PageSpeed Insights or CrUX.

High 09

Untranslated Duda placeholder text on all eight pages

Confirmed
Instrument reading · every page
<div data-element-type="html" class="dmCustomHtml">Insertar su HTML personalizado</div>

“Insert your custom HTML” — an unconfigured widget printing its own
Spanish placeholder onto a live page declaring lang="en".
/services additionally renders “Menú” as an <h3>, twice.

A visible unfinished-site signal on a health page, plus stray Spanish tokens. Small effort, disproportionate trust cost.

Fix

Delete the empty custom-HTML widget on all eight pages. Rename the “Menú” headings and demote them from <h3>.

High 10

The homepage’s word count is mostly Instagram hashtags

Confirmed

The homepage reports 4,744 words, which looks healthy until you read them. Most are Instagram captions and hashtag walls pulled in by the feed widget.

Instrument reading · why “Pasadena ×128” is misleading
raw HTML token counts, homepage:
  Pasadena   128        Houston   170        Woodlands   11
  Texas City   6

…and the source of nearly all of them:
  #LittleStarsPediatricCenter #PediatricTherapy #PhysicalTherapy
  #OccupationalTherapy #SpeechTherapy #PediatricNursing #PasadenaTX …

Hashtags, not on-page location content.

Inflated word count masks thin real content, and creates a false sense that the site “mentions Pasadena a lot” when it has no Pasadena page.

Fix

Cut the feed to six images without caption text. Write 600–900 words of real homepage copy: what PPECC is, who qualifies, what Medicaid covers, and the three locations with links to their pages.

High 11

Only one title on the site contains a place name

Confirmed
PageTitle lenDesc lenProblem
/53181Description over ~160. Title says “Child Medical Daycare”, never “PPECC”
/about-us84228Both truncate in results
/parents-resources73248Description truncates badly
/contact-us4261Description is about therapy, not contact. No city
/services48107Acceptable. No city
/admission41137Acceptable. No city
/request-tour120“REQUEST TOUR”, all caps, no description
/patient-referral-form210No description

The only geographic token in any title on the domain is “| Texas” at the end of /parents-resources. Nothing names The Woodlands, Pasadena, Texas City or Houston.

Fix

Titles 50–60 characters, descriptions 140–160, every commercial page carrying a city or “Houston area”. For example: PPECC Medical Daycare in Pasadena, TX | Little Stars Pediatric.

High 12

No Google Business Profile signal anywhere on the site

Confirmed / Blocked

Across all eight pages there is not one link to Google Maps, a g.page short link, or a reviews profile. Social presence is Facebook and Instagram only, and with no JSON-LD there is no sameAs anywhere — zero occurrences on eight pages.

Whether the three GBP listings exist is Blocked — that needs Google Business Profile access we do not have. But for a three-location clinic the local pack is where most visibility lives, and the site currently does nothing to reinforce it.

Fix
  1. Confirm or claim GBP for all three addresses. This is the highest-leverage off-site action for the two unserved markets.
  2. Make NAP on each location page match GBP character for character.
  3. Cross-link each location page with its listing. Start a review programme.
High 13

The third location is labelled “Texas”, not “Texas City”

Confirmed

In the /contact-us location widget the three entries read “The Woodlands”, “Pasadena” and “Texas”. The address beneath the third is correct — 7228 Medical Center Drive, Texas City, TX 77591 — but the city name is truncated in the one place on the site where a city list exists. Any NAP aggregator or AI extractor reading that widget learns the wrong locality.

Fix

Rename to “Texas City”. One field.

High 14

Address markup is split mid-word

Confirmed markup / Hypothesis impact
Instrument reading · /contact-us
<strong>10815 K</strong><strong style="display: initial;">uykendahl Road</strong>
<strong>7</strong><strong>228 Medical Center Drive</strong>

but: contiguous "10815 Kuykendahl Road" does appear elsewhere, ×2

Being precise about severity, because it matters: the contiguous string does exist in the location widget, and Google concatenates inline elements without inserting whitespace — so Google very likely reads this correctly. The impact on rankings is Hypothesis, and I would not spend a sprint on it.

Where it does bite is simpler parsers: NAP aggregators, directory scrapers and some AI extractors that insert a boundary at every element. Those read “10815 K uykendahl Road”.

Fix

Merge each address into a single text element while building the location pages. Two minutes — not its own project.

05

Quick wins

hours, not weeks
WinDetailConfidence
Normalise tel: formattel:1 8335487827tel:+18335487827 on all eight pagesConfirmed
Make the email clickableShown as text on eight pages; zero mailto: links exist on the domainConfirmed
Own the term PPECCThe Texas Medicaid benefit is PPECC; the domain and much of the copy say PPEC, inconsistently. Texas parents, case managers and discharge planners search the double-C formConfirmed usage / volumes Not measured
Add breadcrumbsNo breadcrumb markup or UI anywhere; Tender Care has BreadcrumbListConfirmed
Increase internal linkingHomepage has 15 internal links; Spark’s has 37, its blog posts 41Confirmed
Add hreflang + a Spanish layerZero hreflang tags. Spark has 4. Pasadena is a heavily Hispanic market — and the site already leaks Spanish by accidentConfirmed absence
Remove third-party footer branding“Powered by Altech Web Design” on a healthcare siteConfirmed
Correction · to our own earlier number

The “42 images without alt text” figure was wrong

Our 2026-08-27 baseline recorded 42 images without alt text. Re-measured today, separating the two cases properly: images with no alt attribute at all: 0 across all eight pages. Images with alt="": 3–10 per page.

alt="" is the correct markup for a decorative image. The baseline script counted empty alt as missing alt, which turns correct markup into a fabricated defect. The real question — are those particular images decorative or meaningful? — needs a human to look at each one, and is Not measured. The new probe script keeps the two counts separate so they can never be summed again.

06

Competitive benchmark

same instrument, all six sites

Five competitors, each measured with the same script used on Little Stars, on 2026-09-03. This is measured markup, not opinion.

SignalLittle StarsSpark PediatricsTender CareViva PediatricsSunshine PDN
<h1> on the page019 ⚠122 ⚠
<h1> names service + cityNo“Supportive Medical Daycare (PPECC) in Houston, TX”“Houston TX PPECC Center”Service onlyCity only
City in the URLNo/locations/houston-center/houston-tx-ppec/NoNo
Meta descriptionPartialMissing142 chars245 charsMissing
CanonicalYesNoYesYesYes
JSON-LD blocks00100
LocalBusiness / Medical schemaNoNoNoNoNo
FAQPage schemaNoNoNoNoNo
Images lazy-loaded0 / 6069 / 709 / 126 / 2426 / 26
HTML weight376 KB168 KB246 KB88 KB586 KB
Internal links15372260
Multilingual (hreflang)04000
Broken tel: linkYesNoNo
Long-form content clusterNoYes — 2,380-word postsNoNoNo

Tender Care returned 403 to my audit user-agent and 200 to both a browser and Googlebot — that was my instrument, not a closed site. Re-measured with a browser user-agent.

Deliberately absent from this table

Domain authority and keyword rankings. We hold no Ahrefs or SEMrush licence and neither has ever been validated here. Scraped SERP positions are not a measurement — they vary by location, history, device and minute. Position data comes from Search Console once it is connected. Anything else would be a number that looks like data and is not.

What the benchmark actually says

  1. Spark wins on content and speed, not technique. 2,463-word homepage, 2,380-word posts targeting “PPECC near me” + Houston, 69/70 images lazy-loaded, Spanish via hreflang. But no canonical, no meta description, no structured data. Beatable technically.
  2. Tender Care wins on technical local SEO. City in URL, city in title, proper robots directives, structured data. That is the pattern to copy — and it has two internal links and 970 words, so it is thin.
  3. Nobody has local business or FAQ schema. Five out of five. This is not a catch-up item, it is unoccupied ground.
  4. Nobody has a real multi-location architecture. Sunshine lists cities with 22 <h1>s and zero internal links. Little Stars, with three genuine addresses, is best placed to do it properly.
07

Target terms

volumes not measured

We have no keyword tool and no Search Console yet, so volume and difficulty are Not measured. These are grouped by intent and evidence, drawn from the terminology the site, the competitors and Texas HHS actually use. Once GSC is connected, replace this section with real query data — about a day’s work.

Local commercial

Own these first — they map one-to-one onto the three new location pages.

ppec the woodlands txppecc the woodlandsppec texas city txmedical daycare texas cityppec pasadena txppecc pasadena texasmedical daycare near meprescribed pediatric extended care houston

Service + qualifier

Parents who already know what they need.

ppecc medicaid texasstar kids ppeccmedical daycare for medically complex children houstonpediatric skilled nursing daycare houstonppec with transportation houstontracheostomy child daycare texasg-tube daycare texas

Referral source

Nobody in the measured competitive set is targeting these. Discharge planners and pediatricians are how centers fill.

ppecc referral form texashow to refer a patient to a ppeccppecc vs private duty nursingppecc vs home health texas

Informational · AEO

The long game, and what AI answer engines cite.

what is a ppeccdoes medicaid cover ppecc in texaswhat conditions qualify for ppecchow many hours can a child attend a ppeccppecc requirements texas

Spanish

Uncontested in this set. Pasadena market.

guardería médica pasadena txcuidado pediátrico extendido houstonppecc medicaid español

Terminology note (Confirmed): the site mixes PPEC and PPECC. In Texas the licensed benefit is PPECC. Standardise on PPECC in copy, headings and schema, keeping PPEC as a secondary variant — the domain cannot change, and does not need to.

One asset already exists and is buried: “Why PPECC instead of Private Duty Nursing or Home Health Care” is real, differentiated content sitting as an unlinked section of /services. It should be its own page.

08

Execution

measurement before the work that needs it
Phase 0 · this week

Blocking

~1 hour of someone’s time

  • Verify sc-domain:littlestarsppec.com in Search Console. GSC never backfills. Every unverified day is a day of baseline lost permanently — we watched exactly this happen on the other client, whose data starts around 18 August and where nothing earlier will ever exist. Ten minutes, and it gates our ability to prove any of the rest worked.
  • Confirm or claim the three Google Business Profiles.
  • Grant Duda editor access — nothing below ships without it.
  • Fix the apex certificate in GoDaddy.
Phase 1 · week 1

Stop the bleeding

  • Delete the four Duda demo posts (410/404), resubmit the sitemap
  • Remove noindex from both conversion pages; add them to the sitemap
  • Fix tel:asdasda; normalise all phone links; add mailto:
  • Delete the “Insertar su HTML personalizado” widget on all eight pages
  • Rename the “Texas” location entry to “Texas City”
  • One correct <h1> per page
Phase 2 · weeks 2–4

Build the missing architecture

  • Three genuinely distinct location pages
  • MedicalClinic schema per location, Organization + sameAs sitewide, FAQPage on /parents-resources
  • Rewrite every title and meta description
  • Lazy-load or replace the Instagram feed — ~8.9 MB saved
  • Responsive images, WebP, dimensions, descriptive filenames
Phase 3 · weeks 4–8

Content and referral capture

  • Homepage rewrite: 600–900 words of real copy, feed reduced
  • Promote “PPECC vs PDN vs Home Health” to its own page
  • Referral-source page for physicians and discharge planners
  • Four informational articles, FAQPage marked up
  • Breadcrumbs sitewide; internal links from 15 to 35+
Phase 4 · weeks 8–12

Expansion

  • Spanish layer with hreflang, starting with the three location pages
  • Review programme across the three GBP listings
  • Local citations and NAP consistency for all three addresses
  • Core Web Vitals verified against real field data
09

How we will know it worked

The deterministic parts are already automated and re-runnable today. Both scripts are in the repository; every number in this report reproduces from them.

Commands
# Site-wide state vs the frozen baseline. Silent when nothing changed.
python3 scripts/littlestars-snapshot.py --diff     # exit 0 = no change, 2 = material change

# Per-URL local-SEO probe. Same instrument for us and for competitors.
python3 scripts/local-seo-probe.py <url> [...] --json out.json
MetricTodayInstrumentAvailable?
Pages with an <h1>1 / 8snapshot / probeNow
Pages with local schema0 / 8probeNow
Location pages live0sitemapNow
Sitemap URLs that are demo content4 / 10snapshotNow
Conversion pages indexable0 / 2probeNow
Homepage payload10.7 MBcurlNow
Apex HTTPS validNocurl / opensslNow
Impressions, clicks, position, indexed pagesSearch ConsoleBlocked
Local pack views, calls, directionsGoogle Business ProfileBlocked
Core Web Vitals (field)PageSpeed / CrUXNot measured

The two blocked rows are the ones that answer “is it working?”. Everything above them proves the site changed; only Search Console and Business Profile prove the market noticed. That is why Phase 0 comes first.

10

Limits of this audit