Senior Technical SEO Consultant · Crawl-Based Audit

#1 Triple J Roofing, LLC

Evidence-led technical, on-page, and crawlability findings. Metrics below come only from Screaming Frog / audit exports for this property — no invented traffic or revenue claims.

https://www.1triplejroofing.com/
2026-09-26
598
68
1triplejroofing.com
56
Overall SEO health score

Opportunity: 44 · Structured issues: 10 (critical 0, errors 0, warnings 6)

Below average — confirmed crawl and on-page issues on specific URLs need prioritized remediation.

1. Executive Summary

#1 Triple J Roofing, LLC received an overall SEO health score of 56/100 based on this crawl package (598 URLs crawled; 68 HTML pages). Pages are missing their primary on-page heading signal. Example URLs from the crawl include: https://www.1triplejroofing.com/; https://1triplejroofing.com/metal-shingle/page/1/; https://1triplejroofing.com/roofing-gallery/page/1/; https://1triplejroofing.com/shingle-roof/page/1/. This report follows Finding → Evidence → Risk → Business Relevance → Fix → Priority → Verification. No traffic, revenue, or ranking outcomes are claimed beyond crawl evidence.

Pages are missing their primary on-page heading signal.Thin pages lack enough useful content to compete in search.Slow responses hurt conversions, user experience, and rankings.Duplicate titles make multiple pages compete for the same topic.Missing structured data reduces local and rich-result visibility.Images without alt text lose accessibility and image-search value.

2. SEO Health Overview

MetricValue
Overall SEO score56
Technical SEO score88
On-page SEO score84
Local SEO score94
Content / UX score90
Opportunity score44
Pages crawled598
HTML pages68
Indexable pages39
Non-indexable pages29
Issue count (structured)10
Critical / Error / Warning0 / 0 / 6
HTTPS (audit metrics)Yes
Homepage status (metrics)301
Homepage final URLhttps://www.1triplejroofing.com/

3. Critical Issues

Priority findings from audit_report.json issues and crawl aggregates.

Internal redirects found

Potential risk Warning Priority: P2
Severity
Warning
Evidence
7 affected · (10.3% of HTML sample)
What We Found
Internal redirects found observed across 7 URL(s) in the audit issue list.
Why It Matters
Internal redirects waste crawl budget and dilute link equity before users reach the final page.
Recommended Fix
Link directly to final 200-status URLs.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Indexable pages missing an H1

Potential risk Warning Priority: P2
Severity
Warning
Evidence
2 affected · (2.9% of HTML sample)
What We Found
Indexable pages missing an H1 observed across 2 URL(s) in the audit issue list.
Why It Matters
Missing or duplicated H1s weaken the primary on-page relevance signal.
Recommended Fix
Add one clear descriptive H1 to each page.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Thin-content pages found

Potential risk Warning Priority: P2
Severity
Warning
Evidence
6 affected · (8.8% of HTML sample)
What We Found
Thin-content pages found observed across 6 URL(s) in the audit issue list.
Why It Matters
Thin pages struggle to satisfy intent and rarely earn sustainable organic visibility.
Recommended Fix
Expand thin service and location pages.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Important pages are too deep

Requires further investigation Notice Priority: P3
Severity
Notice
Evidence
7 affected · (10.3% of HTML sample)
What We Found
Important pages are too deep observed across 7 URL(s) in the audit issue list.
Why It Matters
Unresolved crawl/on-page defects dilute relevance signals and waste crawl budget.
Recommended Fix
Bring priority pages within three clicks.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P3
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Slow server responses found

Potential risk Warning Priority: P2
Severity
Warning
Evidence
43 affected · (63.2% of HTML sample)
What We Found
Slow server responses found observed across 43 URL(s) in the audit issue list.
Why It Matters
Unresolved crawl/on-page defects dilute relevance signals and waste crawl budget.
Recommended Fix
Improve hosting, caching, database work, and delivery.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Duplicate page titles found

Potential risk Warning Priority: P2
Severity
Warning
Evidence
2 affected · (2.9% of HTML sample)
What We Found
Duplicate page titles found observed across 2 URL(s) in the audit issue list.
Why It Matters
Weak or colliding titles reduce click clarity in SERPs and confuse topical targeting.
Recommended Fix
Create a unique title for each search intent.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Duplicate meta descriptions found

Requires further investigation Notice Priority: P3
Severity
Notice
Evidence
5 affected · (7.4% of HTML sample)
What We Found
Duplicate meta descriptions found observed across 5 URL(s) in the audit issue list.
Why It Matters
Unresolved crawl/on-page defects dilute relevance signals and waste crawl budget.
Recommended Fix
Create unique descriptions.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P3
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Duplicate H1 headings found

Requires further investigation Notice Priority: P3
Severity
Notice
Evidence
2 affected · (2.9% of HTML sample)
What We Found
Duplicate H1 headings found observed across 2 URL(s) in the audit issue list.
Why It Matters
Missing or duplicated H1s weaken the primary on-page relevance signal.
Recommended Fix
Use page-specific primary headings.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P3
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Images missing alt text

Requires further investigation Notice Priority: P3
Severity
Notice
Evidence
32 affected · (47.1% of HTML sample)
What We Found
Images missing alt text observed across 32 URL(s) in the audit issue list.
Why It Matters
Missing alt text harms accessibility and removes image-search relevance cues.
Recommended Fix
Add descriptive alt text to meaningful images.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P3
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

Indexable pages missing structured data

Potential risk Warning Priority: P2
Severity
Warning
Evidence
39 affected · (57.4% of HTML sample)
What We Found
Indexable pages missing structured data observed across 39 URL(s) in the audit issue list.
Why It Matters
Missing or invalid structured data reduces eligibility for rich results and local clarity.
Recommended Fix
Add valid LocalBusiness, Service, FAQ, Review and breadcrumb schema.
Implementation Complexity
Low–Medium
Responsible Team
SEO + Web/Dev
Priority
P2
Validation After Fix
Re-crawl affected URLs in Screaming Frog; confirm issue count drops and examples return expected 200/indexable state.

4. HTTP Status

StatusCount
200591
3017

Internal 3xx HTML: 7.

5. Indexability

IndexabilityHTML count
Indexable39
Non-Indexable29
Indexability status reasonCount
Canonicalised22
Redirected7

Frog summary: indexable=39, non-indexable=29.

6. Page Titles

Among 61 HTTP 200 HTML pages: missing titles=0 (0.0%); duplicate title groups=5; titles over 60 characters=9 (14.8%).

Examples — duplicate title (2 pages):

Examples — long titles:

Related Frog inventory: Page Titles: Same as H1 (2 URLs, Low); Page Titles: Over 60 Characters (4 URLs, Medium); Page Titles: Over 561 Pixels (3 URLs, Medium)

7. Meta Descriptions

HTTP 200 HTML: missing meta=0 (0.0%); duplicate meta groups=6; short (<70)=0; long (>160)=0.

Examples — duplicate meta:

8. Headings

HTTP 200 HTML: missing H1=5 (8.2%); multiple H1 signals (H1-2 present)=1; duplicate H1 groups=4.

Examples — missing H1:

Examples — multiple H1:

Related Frog inventory: Page Titles: Same as H1 (2); H1: Multiple (12); H1: Missing (2); H2: Duplicate (2); H2: Non-Sequential (2); H1: Over 70 Characters (1); H2: Missing (6); H2: Multiple (32)

9. Content Quality

HTTP 200 HTML word-count average ≈ 439. Thin pages (<150 words)=28 (45.9%).

Examples — thin content:

Word count is a crawl heuristic only — not a claim about rankings, conversions, or third-party content scores.

10. Internal Linking

HTTP 200 HTML with very low unique inlinks (≤1, depth>0)=0. Pages with zero unique outlinks=0.

Frog inventory: Links: Internal Outlinks With No Anchor Text (61, Opportunity); Links: Non-Descriptive Anchor Text In Internal Outlinks (1, Opportunity)

11. Crawl Depth

Crawl depthHTML pages
01
11
220
323
420
53

Pages deeper than 3 clicks (HTTP 200)=17 (27.9%).

Examples — deep URLs:

12. URL Structure

HTTP 200 HTML with query parameters=0; URLs longer than 120 characters=0.

URL Structure: No material issue identified in the available crawl evidence.

13. Redirects

Internal HTML redirects observed in crawl: 7.

Examples:

FromTo
https://www.1triplejroofing.com/https://1triplejroofing.com/
https://1triplejroofing.com/metal-shingle/page/1/https://1triplejroofing.com/metal-shingle/
https://1triplejroofing.com/roofing-gallery/page/1/https://1triplejroofing.com/roofing-gallery/
https://1triplejroofing.com/shingle-roof/page/1/https://1triplejroofing.com/shingle-roof/
https://1triplejroofing.com/tpo-roofing/page/1/https://1triplejroofing.com/tpo-roofing/

Frog inventory: Response Codes: Internal Redirection (3xx) (7)

14. Images

Missing-alt export rows=32. Audit metrics missing_image_alt_count=32.

Example pages/images with missing alt:

Frog inventory: Images: Alt Text Over 100 Characters (2, Low); Images: Missing Size Attributes (15, Low); Images: Over 100 KB (312, Medium); Images: Missing Alt Text (32, Low)

15. Canonicals

HTTP 200 HTML: self-referencing canonicals≈39; canonicalised to another URL=22; missing canonical element=0.

Examples — canonicalised:

Frog inventory: Canonicals: Canonicalised (22)

16. XML Sitemap

XML Sitemap: Requires validation. This crawl package does not include a dedicated export for this check. No claim is made beyond available Screaming Frog / audit_report.json evidence.

17. Robots.txt

Robots.txt: Requires validation. This crawl package does not include a dedicated export for this check. No claim is made beyond available Screaming Frog / audit_report.json evidence.

18. Structured Data

structured_data_all.csv rows=61; pages with ≥1 type=0; pages with schema errors=0.

Export present but most sampled pages show Total Types = 0.

19. Security

Homepage audit metrics report HTTPS = Yes. HTML URL scheme mix: https=68, http=0. Frog security inventory: Security: Unsafe Cross-Origin Links (1, Low); Security: Missing Content-Security-Policy Header (591, Low).

20. JS / Rendering

JS / Rendering: Requires validation. This crawl package does not include a dedicated export for this check. No claim is made beyond available Screaming Frog / audit_report.json evidence.

21. CWV / Performance

Homepage load_time_ms (audit metrics)=2525. HTTP 200 HTML response time sample: n=61, avg=2.18s, max=3.53s (Screaming Frog Response Time). Related inventory: Images: Alt Text Over 100 Characters (2); Images: Over 100 KB (312).

Core Web Vitals: Performance Testing Recommended. Lab/field Core Web Vitals were not exported in this package. Validate with PageSpeed Insights / CrUX before making CWV claims.

22. Opportunities

OpportunityPriorityURLsLabel
Links: Internal Outlinks With No Anchor TextLow61Opportunity
Links: Non-Descriptive Anchor Text In Internal OutlinksLow1Opportunity
Images: Alt Text Over 100 CharactersLow2Opportunity
Images: Missing Size AttributesLow15Opportunity
Images: Over 100 KBMedium312Opportunity
Page Titles: Same as H1Low2Opportunity
Content: Readability DifficultLow11Opportunity
Meta Description: DuplicateLow3Opportunity
H2: DuplicateLow2Opportunity
H1: Over 70 CharactersLow1Opportunity
Content: Low Content PagesMedium6Opportunity
Page Titles: Over 60 CharactersMedium4Opportunity
Page Titles: Over 561 PixelsMedium3Opportunity

23. CRO Observations

Homepage word_count (audit metrics)=0. Homepage H1 missing in audit metrics. 28 thin HTML pages may offer weak persuasive/support content for visitors (heuristic only). CRO testing (heatmaps, form analytics, A/B) was not part of this crawl — observations are limited to on-page completeness signals.

24. Competitor Gap

Competitor Gap: Requires validation. No competitor crawl set was included with this package. Do not infer competitor content, backlink, or SERP gaps from this single-site audit.

25. Priority Action Plan (Phases 1–4)

Phase 1 — Stabilize (Week 1)

Fix crawl-blocking and high-severity confirmed issues first.

  • Canonicals: Canonicalised — These URLs should be reviewed carefully to ensure the indexing and link signals are being consolidated to the correct URL. In a perfect world, a website wouldn't need to canonicalise any URLs as only canonical versions would be linked to internally on a website, but often they ar (22 URLs)

Phase 2 — On-page clarity (Weeks 2–3)

Titles, metas, headings, redirects, and indexation hygiene.

  • Slow server responses found — Improve hosting, caching, database work, and delivery. (43 URLs)
  • Indexable pages missing structured data — Add valid LocalBusiness, Service, FAQ, Review and breadcrumb schema. (39 URLs)
  • Internal redirects found — Link directly to final 200-status URLs. (7 URLs)
  • Thin-content pages found — Expand thin service and location pages. (6 URLs)
  • Indexable pages missing an H1 — Add one clear descriptive H1 to each page. (2 URLs)

Phase 3 — Content & structure (Weeks 3–5)

Thin pages, internal links, schema, and media accessibility.

  • Images: Over 100 KB — Uncompressed images bloat pages with unnecessary bytes, so ensure images are optimised with compression, properly scaled, and using the best image format to reduce file size where possible. (312 URLs)
  • Content: Low Content Pages — Consider including additional descriptive content to help the user and search engines better understand the page. (6 URLs)
  • Page Titles: Over 60 Characters — Write concise page titles to ensure important words are not truncated in the search results, not visible to users and potentially weighted less in scoring. (4 URLs)
  • Page Titles: Over 561 Pixels — Write concise page titles to ensure important words are not truncated in the search results, not visible to users and potentially weighted less in scoring. (3 URLs)
  • Links: Internal Outlinks With No Anchor Text — Review the missing anchor text outlinks and where appropriate include useful and descriptive anchor text to help users and search engines. (61 URLs)

Phase 4 — Measure & iterate (Weeks 5–8)

Re-crawl validation, performance testing, and backlog opportunities.

  • Duplicate page titles found — Create a unique title for each search intent. (2 URLs)
  • H1: Multiple — Consider updating the HTML to include a single <h1> on each page, and utilising the full heading rank between (h2 - h6) for additional headings. (12 URLs)
  • H1: Missing — Ensure important pages have concise, descriptive and unique headings to help users, and enable search engines to score and rank the page for relevant search queries. (2 URLs)
  • Security: Missing Content-Security-Policy Header — Set a strict Content-Security-Policy response header across all page to help mitigate cross site scripting (XSS) and data injection attacks. (591 URLs)
  • H2: Multiple — Ensure <h2>s are used in a logical hierarchical heading structure, and update where appropriate utilising the full heading rank between (h3 - h6) for additional headings. (32 URLs)

26. Impact vs Effort

ActionImpactEffortSeverityURLs
Canonicals: CanonicalisedHMHigh22
Slow server responses foundMMWarning43
Indexable pages missing structured dataMMWarning39
Internal redirects foundMMWarning7
Thin-content pages foundMMWarning6
Indexable pages missing an H1MMWarning2
Duplicate page titles foundMMWarning2
Images: Over 100 KBMMMedium312
H1: MultipleMMMedium12
Content: Low Content PagesMMMedium6

Impact/Effort are consultant estimates from severity + affected URL counts — not traffic forecasts.

27. Top 10 Actions

#ActionLabelURLsExamplesFix
1Canonicals: CanonicalisedConfirmed issue22—These URLs should be reviewed carefully to ensure the indexing and link signals are being consolidated to the correct URL. In a perfect world, a website wouldn't need to canonicalise any URLs as only canonical versions would be linked to internally on a website, but often they ar
2Slow server responses foundPotential risk43Improve hosting, caching, database work, and delivery.
3Indexable pages missing structured dataPotential risk39Add valid LocalBusiness, Service, FAQ, Review and breadcrumb schema.
4Internal redirects foundPotential risk7Link directly to final 200-status URLs.
5Thin-content pages foundPotential risk6Expand thin service and location pages.
6Indexable pages missing an H1Potential risk2Add one clear descriptive H1 to each page.
7Duplicate page titles foundPotential risk2Create a unique title for each search intent.
8Images: Over 100 KBOpportunity312—Uncompressed images bloat pages with unnecessary bytes, so ensure images are optimised with compression, properly scaled, and using the best image format to reduce file size where possible.
9H1: MultiplePotential risk12—Consider updating the HTML to include a single <h1> on each page, and utilising the full heading rank between (h2 - h6) for additional headings.
10Content: Low Content PagesOpportunity6—Consider including additional descriptive content to help the user and search engines better understand the page.

28. Developer Fix Sheet

TicketOwnerChangeURLs / evidenceDone when
SEO-01DevThese URLs should be reviewed carefully to ensure the indexing and link signals are being consolidated to the correct URL. In a perfect world, a website wouldn't need to canonicalise any URLs as only canonical versions would be linked to internally on a website, but often they ar22 — —Re-crawl shows issue cleared on example URLs
SEO-02SEO/ContentImprove hosting, caching, database work, and delivery.43 — Re-crawl shows issue cleared on example URLs
SEO-03SEO/ContentAdd valid LocalBusiness, Service, FAQ, Review and breadcrumb schema.39 — Re-crawl shows issue cleared on example URLs
SEO-04DevLink directly to final 200-status URLs.7 — Re-crawl shows issue cleared on example URLs
SEO-05SEO/ContentExpand thin service and location pages.6 — Re-crawl shows issue cleared on example URLs
SEO-06SEO/ContentAdd one clear descriptive H1 to each page.2 — Re-crawl shows issue cleared on example URLs
SEO-07SEO/ContentCreate a unique title for each search intent.2 — Re-crawl shows issue cleared on example URLs
SEO-08SEO/ContentUncompressed images bloat pages with unnecessary bytes, so ensure images are optimised with compression, properly scaled, and using the best image format to reduce file size where possible.312 — —Re-crawl shows issue cleared on example URLs
SEO-09SEO/ContentConsider updating the HTML to include a single <h1> on each page, and utilising the full heading rank between (h2 - h6) for additional headings.12 — —Re-crawl shows issue cleared on example URLs
SEO-10SEO/ContentConsider including additional descriptive content to help the user and search engines better understand the page.6 — —Re-crawl shows issue cleared on example URLs

29. Client-Friendly Business Impact

From a business perspective, the crawl shows where search engines may struggle to understand or trust key pages (score 56/100; 10 structured issues). Clear titles, working URLs, coherent headings, and indexable money pages typically make it easier for customers to find the right service pages. This section does not estimate leads, revenue, or ranking positions.

30. Why Address These Issues

Addressing confirmed crawl defects protects crawl budget, prevents duplicate/competing signals, and improves the clarity of service pages for both users and search engines. Deferring high-severity items (4xx, redirect chains, missing titles/H1s on core pages) usually prolongs avoidable discoverability friction.

31. Recommended Engagement

Recommended engagement: one-time technical + on-page remediation for the Top 10 actions, with optional ongoing monitoring if content velocity is high.

32. Deliverables

33. Before vs After

AreaBefore (current crawl)After (target)
SEO health score56Improved after P1/P2 fixes (re-scored on re-crawl)
Structured issues10Material P1 items cleared
Missing titles (200 HTML)00 on money pages
Missing H1 (200 HTML)50 on money pages
Internal 4xx HTML00
Thin pages (<150 words)28Reduced on service/location URLs

After targets are remediation goals tied to crawl filters — not promised ranking or traffic outcomes.

34. Final Recommendation

Final recommendation: execute Phase 1–2 on — Canonicals: Canonicalised; Slow server responses found; Indexable pages missing structured data. Validate with a fresh Screaming Frog crawl, then proceed to content/internal-link opportunities. Commercial next steps are discussed separately by email.

35. Proposal-Ready Scope

Proposal-ready scope for #1 Triple J Roofing, LLC (1triplejroofing.com), based solely on this crawl package:

  1. Canonicals: Canonicalised — up to 22 URLs; fix: These URLs should be reviewed carefully to ensure the indexing and link signals are being consolidated to the correct URL. In a perfect world, a website wouldn't need to canonicalise any URLs as only canonical versions would be linked to internally on a website, but often they ar
  2. Slow server responses found — up to 43 URLs; fix: Improve hosting, caching, database work, and delivery.
  3. Indexable pages missing structured data — up to 39 URLs; fix: Add valid LocalBusiness, Service, FAQ, Review and breadcrumb schema.
  4. Internal redirects found — up to 7 URLs; fix: Link directly to final 200-status URLs.
  5. Thin-content pages found — up to 6 URLs; fix: Expand thin service and location pages.
  6. Indexable pages missing an H1 — up to 2 URLs; fix: Add one clear descriptive H1 to each page.
  7. Duplicate page titles found — up to 2 URLs; fix: Create a unique title for each search intent.
  8. Images: Over 100 KB — up to 312 URLs; fix: Uncompressed images bloat pages with unnecessary bytes, so ensure images are optimised with compression, properly scaled, and using the best image format to reduce file size where possible.

Out of scope unless added later: competitor analysis, link acquisition, paid media, CWV field monitoring, and CMS rebuilds beyond template-level SEO fixes. Pricing and payment are handled in a separate email conversation.