Audit captured 2026-06-02

Strong off-site authority. 15-second mobile LCP.
You're losing the visitors who would convert.

joskoservices.com operates from two offices (1727 Benbow Ct, Apopka FL 32703 and 107 Dunbar Ave, Oldsmar FL 34677), serves the I-4 corridor, and shows '20 years' experience plus a 2018 entity registration in the homepage copy. Off-site, Birdeye aggregates 4.5★ across 464 reviews and BBB lists the entity as A+ accredited. The site is under-monetizing that authority because the homepage takes 15 seconds to render on mobile, has no H1 heading, and no LocalBusiness schema linking the on-site signals to the GBP.

Lighthouse Mobile
58Poor — Good = 90+
Largest Contentful Paint
15.25sPoor — Good = <2.5s
Schema status
PartialNo LocalBusiness type
Off-site authority
4.5★ / 464per Birdeye + BBB A+

Domain: joskoservices.com · Business: General contractor — HVAC, plumbing, electrical, roofing · Service area: Apopka FL (HQ) + Oldsmar FL · Central + Tampa Bay

Scope: This audit covers your homepage only. Service pages, blog posts, and location pages were not crawled in this pass and may have additional findings. Recommended next step if you engage: a full per-page sweep.
48
Overall SEO Health
Critical — multiple urgent fixes
Technical SEO
55
Content quality
60
On-page SEO
40
Structured data
50
Performance / CWV
30
AI search readiness
35
Local SEO
65
01 · TL;DR

Read this if nothing else.

Real authority, real reviews, the right WordPress stack. Killed by a 15-second mobile LCP and a missing H1. None of this requires a redesign — it's optimization work.

!

Mobile LCP is 15.25 seconds

Google's Good zone for LCP is under 2.5s. At 15s, the visitor sees a blank or partial page for 15 seconds before the hero loads. Bounce rate at this LCP is documented at 90%+. Single biggest commercial issue on the site.

!

No <h1> heading on the homepage

Search engines use H1 as the primary topical signal. Grep on the live HTML returns zero matches. Free ranking weight is being left on the floor on every query that should match "general contractor Apopka" / "HVAC Apopka".

No LocalBusiness / HVACBusiness / RoofingContractor schema

Yoast is emitting a generic Organization graph. None of the industry-specific subtypes are declared. 464 Google reviews don't connect to the site via sameAs. Highest-leverage local-SEO fix.

Zero AI crawlers explicitly allowed

robots.txt does not name GPTBot, ClaudeBot, PerplexityBot, Google-Extended, or any of the other 14 standard AI crawlers. Conservative AI crawlers default to skipping. ChatGPT / Perplexity / Google AI Overviews queries about Apopka HVAC don't reach your site.

99 scripts loading on the homepage

This is the likely root cause of the LCP. Page-builder bloat plus uncontrolled analytics / chat / pixel scripts. Most are deferrable or removable without losing functionality.

Sitemap URL is HTTP, not HTTPS

robots.txt declares Sitemap: http://joskoservices.com/sitemap_index.xml. Yoast config drift. Browsers and crawlers follow the redirect, but this is hygiene worth a 5-minute fix.

02 · Top must-do this week

Six fixes. None requires a redesign. None requires a new vendor.

Priority order. In this sequence.

If you can only do three things, do #1, #2, #3. The rest compound from there.

#ActionWhy it mattersEffort
1Fix mobile LCP. Compress hero to WebP, generate 480/800/1200/1600 variants, add srcset + sizes + fetchpriority="high" + a preload tag. Audit the 99 scripts; defer or async non-critical.At 15s LCP, you are losing every mobile visitor before the page even renders. This single fix typically lifts conversion 30-60% on local service sites.4-8 hr
2Add a proper <h1> to the homepage. Example: "Central Florida General Contractor — HVAC, Plumbing, Electrical, Roofing".Without an H1, Google has to infer the page topic from title + headings + body. Adding an H1 is free ranking weight on "HVAC Apopka" and adjacent terms.30 min
3Add LocalBusiness + HVACBusiness + Plumber + Electrician + RoofingContractor JSON-LD. Include sameAs linking to Google Business Profile, BBB, Facebook. Embed aggregateRating (4.5 / 464).Unlocks rich results, makes you eligible for AI Overview citation, ties your 464 reviews to your site authority.2 hr
4Add 14 AI-crawler Allow directives to robots.txt. GPTBot, ChatGPT-User, OAI-SearchBot, ClaudeBot, Claude-Web, anthropic-ai, Google-Extended, GoogleOther, PerplexityBot, Applebot-Extended, cohere-ai, meta-externalagent, Amazonbot, DuckDuckBot.AI search is 22% of query share and growing. Sites without explicit AI-crawler allows are silently excluded from those results.15 min
5Ship a basic llms.txt file. Title, description, business hours, top 5 service pages, citation guidance for LLMs.Not a Google ranking lever, but Perplexity and ChatGPT preferentially cite sites that declare an llms.txt.30 min
6Fix the sitemap URL in robots.txt to HTTPS. Change http:// to https:// in the Yoast block.Hygiene. No reason to leave it broken.5 min
03 · Technical SEO

What the live HTML actually says.

Live HTML pulled from joskoservices.com on 2026-06-02. Server: Apache + PHP 8.1.34 + WordPress + Yoast SEO. Below: what we observed in the rendered DOM.

Stack detected

CMSWordPress (Yoast SEO active)
Web serverApache
PHP8.1.34 Version exposed via X-Powered-By
Page builderUnconfirmed (99 scripts suggest builder bloat)
SitemapYoast XML sitemap_index.xml declared as http://
01 CRIT

No H1 tag on homepage

Grep against fetched HTML returns zero <h1> matches. H1 is Google's strongest single on-page topical signal.

evidence: grep -oE '<h1[^>]*>[^<]*</h1>' home.html → empty

Fix: Add a single descriptive H1 to the homepage hero. Recommended: 'Central Florida General Contractor — HVAC, Plumbing, Electrical, Roofing'.
02 WARN

Meta description is short and generic

~120 chars, mentions services + geo but no differentiator. Google rewrites weak meta descriptions in SERPs ~70% of the time, which is itself a soft ranking penalty.

evidence: <meta name="description"> content captured from home.html

Fix: Rewrite to 150-160 chars. Lead with 'Family-owned Central FL contractor, 4.5★ on 464 reviews, BBB A+, 8 years.' Include phone + service-area cities.
03 WARN

99 script tags on the homepage

This is unusually high. Almost certainly includes page-builder scripts, analytics, chat widget, ad pixels, and several render-blocking JS files.

evidence: grep -ocE '<script' home.html → 99

Fix: Audit each script with Chrome DevTools Coverage tab. Defer non-critical, async analytics, remove unused widgets entirely.
04 INFO

Sitemap reference uses HTTP

robots.txt declares Sitemap: http://joskoservices.com/sitemap_index.xml. The redirect to HTTPS works, but explicit is better.

evidence: robots.txt body

Fix: Change Yoast sitemap URL setting to https in the Yoast options.
04 · Performance / Core Web Vitals

A 15-second LCP is the single biggest issue on this site.

Lighthouse mobile lab data, captured 2026-06-02. Google's Good zone: LCP <2.5s, FCP <1.8s, CLS <0.1, TBT <200ms.

58
Lighthouse Score
15.25s
LCP
0.000
CLS
!

LCP is 6x the Google 'Good' threshold

Google's threshold for Good LCP is 2.5 seconds. At 15.25 seconds, the homepage is in the 'Poor' zone by a factor of six. CLS and TBT are excellent, which means the layout is stable and JS execution is fast — the problem is purely how slowly assets load. This is fixable in a single sprint.

05 · Structured data (Schema.org)

Yoast is emitting schema but it's the wrong type for a contractor.

Detected JSON-LD types on the homepage: BreadcrumbList, EntryPoint, GeoCoordinates, ImageObject, ListItem, OpeningHoursSpecification, PostalAddress, PropertyValueSpecification, ReadAction, SearchAction. Missing: LocalBusiness, HVACBusiness, Plumber, Electrician, RoofingContractor, AggregateRating, Review.

Yoast is correctly emitting an Organization-style graph with GeoCoordinates and OpeningHoursSpecification — but none of it declares Josko as a local service provider at the schema level. Google's healthcare and contractor entity matching depends on explicit LocalBusiness or industry-specific subtype declarations.

What's missing: HVACBusiness, Plumber, Electrician, RoofingContractor with sameAs pointing to GBP / BBB / Facebook, and AggregateRating wrapping the 4.5 / 464 reviews.

07 · Local SEO

How your business appears in local search.

Two offices listed in homepage HTML: 1727 Benbow Ct, Apopka FL 32703 + 107 Dunbar Ave, Oldsmar FL 34677. Phone (407) 807-0337 visible. 4.5★ / 464 reviews aggregated by Birdeye (third-party source, not on-site).

Two-office structure (Apopka HQ + Oldsmar / Tampa Bay) is a significant local-SEO asset that the current schema does not capture. Each office should be its own LocalBusiness / HVACBusiness entity with its own NAP, hours, and ideally its own location landing page.

The Birdeye-aggregated 4.5★ / 464 reviews and the BBB A+ accreditation are claims sourced from third-party directories (Birdeye, BBB). They are not currently expressed in on-site schema. Adding aggregateRating + sameAs links to GBP / BBB / Facebook is a 1-hour fix that materially affects rich-result eligibility.

08 · Prioritized roadmap

The order to do this work in.

Ranked by impact divided by effort. Estimates assume a competent WordPress developer.

#ActionEffortImpact
1Fix mobile LCP (hero image optimization + script audit)4-8 hrVery high
2Add a proper <h1> to the homepage30 minHigh
3Add LocalBusiness + industry-specific subtype schema2 hrVery high
4Add 14 AI-crawler allows to robots.txt + ship llms.txt45 minMedium-high
5Fix sitemap URL to HTTPS5 minLow
6Per-service JSON-LD on HVAC / plumbing / electrical / roofing pages4-6 hrMedium-high
7Audit and prune 99-script load2-4 hrMedium
8Service-area landing pages for I-4 corridor cities20-40 hrHigh (long-term)