Catalog / fortnershomeimprovements.com
52

SEO audit for fortnershomeimprovements.com

Northwest, FL | Fortner's Home Improvements Inc

other

Health 52/100 (fair) · 50 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Fortner's Home Improvements Inc offers help with gutters, roof installs, roof repairs, patios, porches, and land clearing. For a roofer in Northwest, FL, call today!

Screenshot of fortnershomeimprovements.com
50
pages crawled
44
indexable pages
12
errors
171
warnings
578
notices
0
orphan pages
10
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Links 80 10 0 48
Crawlability 96 2 0 0
Agent Readiness 71 0 48 48
AI Content 71 0 48 0
Structured Data 74 0 43 5
Headings 94 0 10 0
Images 95 0 9 61
Duplicate 97 0 5 5
Budget 98 0 4 0
Indexability 98 0 4 0
Cache 100 0 0 48
Content 100 0 0 88
Meta Description 100 0 0 2
Performance 100 0 0 225
Security 100 0 0 48
Findings

Errors (2 rules)

error Broken internal link (target 4xx/5xx)

Rule links.broken_internal · Links · 10 occurrence(s)

error Client error (4xx) response

Rule status.4xx · Crawlability · 2 occurrence(s)

Warnings (8 rules)

warning Control has no accessible name

Rule agent.control_no_name · Agent Readiness · 48 occurrence(s)

warning Unfilled template or prompt-leak text

Rule ai.prompt_leak · AI Content · 48 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/contact — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/gutter-installation — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/gutter-services — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/leak-detection-services — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/metal-roofers — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/new-porch-build — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/request-estimate-form — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/reviews — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/roof-deck-services — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/roof-repairs — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/roof-tear-off — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/screened-in-porch — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/serving-area — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.
  • https://www.fortnershomeimprovements.com/tpo-roofers — The page contains unfilled template or prompt-echo text — e.g. "[[placeholder_footer_reserve4]]". This usually means a generation template was published without being completed or cleaned up. Fill in or remove the placeholder so readers and crawlers don't see the scaffolding.

warning Noindex page receives internal links (crawl-budget waste)

Rule budget.noindex_linked · Budget · 4 occurrence(s)

  • https://www.fortnershomeimprovements.com/blog — this noindex page has 50 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.fortnershomeimprovements.com/, https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl, https://www.fortnershomeimprovements.com/roof-tear-off.
  • https://www.fortnershomeimprovements.com/call-or-text-pop — this noindex page has 50 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.fortnershomeimprovements.com/, https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl, https://www.fortnershomeimprovements.com/roof-tear-off.
  • https://www.fortnershomeimprovements.com/hibu-eng-menu — this noindex page has 50 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.fortnershomeimprovements.com/, https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl, https://www.fortnershomeimprovements.com/roof-tear-off.
  • https://www.fortnershomeimprovements.com/hibu-video-splash — this noindex page has 50 internal inlink(s) — Googlebot follows them, fetches the page, then drops it unindexed, spending crawl budget for no indexing benefit (and the links leak equity). Remove/redirect the links, or drop the noindex if the page should be indexed. Linked from: https://www.fortnershomeimprovements.com/, https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl, https://www.fortnershomeimprovements.com/roof-tear-off.

warning Near-duplicate page content

Rule duplicate.near · Duplicate · 5 occurrence(s)

warning Images missing alt text

Rule images.missing_alt · Images · 9 occurrence(s)

warning Page is noindex

Rule index.noindex · Indexability · 4 occurrence(s)

warning BreadcrumbList present but structurally incomplete

Rule schema.breadcrumb_incomplete · Structured Data · 43 occurrence(s)

Notices (19 rules)

notice Heading levels skip a level

Rule agent.heading_skip · Agent Readiness · 48 occurrence(s)

notice Page served uncached (no-store/private or CDN bypass)

Rule cache.not_cacheable · Cache · 48 occurrence(s)

notice Low text-to-HTML ratio

Rule content.low_ratio · Content · 43 occurrence(s)

notice Main text is hard to read (low Flesch Reading Ease)

Rule content.readability_poor · Content · 44 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — this page reads as difficult (Flesch Reading Ease 37, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/contact — this page reads as very difficult (Flesch Reading Ease 12, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl — this page reads as very difficult (Flesch Reading Ease 25, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/gutter-installation — this page reads as very difficult (Flesch Reading Ease 21, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/gutter-services — this page reads as difficult (Flesch Reading Ease 31, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — this page reads as very difficult (Flesch Reading Ease 29, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/leak-detection-services — this page reads as very difficult (Flesch Reading Ease 23, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — this page reads as very difficult (Flesch Reading Ease 25, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/metal-roofers — this page reads as very difficult (Flesch Reading Ease 20, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/new-porch-build — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — this page reads as very difficult (Flesch Reading Ease 27, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — this page reads as very difficult (Flesch Reading Ease 15, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/request-estimate-form — this page reads as very difficult (Flesch Reading Ease 13, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/reviews — this page reads as very difficult (Flesch Reading Ease -10, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/roof-deck-services — this page reads as very difficult (Flesch Reading Ease 30, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/roof-repairs — this page reads as difficult (Flesch Reading Ease 33, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/roof-tear-off — this page reads as very difficult (Flesch Reading Ease 24, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/screened-in-porch — this page reads as very difficult (Flesch Reading Ease 28, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/serving-area — this page reads as very difficult (Flesch Reading Ease -25, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — this page reads as very difficult (Flesch Reading Ease 19, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — this page reads as difficult (Flesch Reading Ease 33, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — this page reads as very difficult (Flesch Reading Ease 22, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — this page reads as very difficult (Flesch Reading Ease 23, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.fortnershomeimprovements.com/tpo-roofers — this page reads as very difficult (Flesch Reading Ease 18, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 5 occurrence(s)

notice Article page has no author attribution (E-E-A-T)

Rule eeat.no_author · Content · 1 occurrence(s)

notice Image alt text is very long (possible keyword stuffing)

Rule images.alt_too_long · Images · 4 occurrence(s)

notice Image filename is generic/auto-generated (missed image-search signal)

Rule images.generic_filename · Images · 9 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/gutter-services — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/patio-services — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/porch-services — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/roof-deck-services — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/roof-installation — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/roof-repairs — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — 3 image(s) use a generic/auto-generated filename (e.g. IMG_1234.jpg, photo1.png, a bare UUID). Google reads the filename as a signal of image content, so rename files descriptively (hyphen-separated words) before upload.

notice Likely hero image lacks fetchpriority=high

Rule images.hero_no_fetchpriority · Performance · 48 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/contact — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/gutter-installation — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/gutter-services — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/leak-detection-services — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/metal-roofers — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/new-porch-build — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/request-estimate-form — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/reviews — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/roof-deck-services — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/roof-repairs — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/roof-tear-off — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/screened-in-porch — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/serving-area — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
  • https://www.fortnershomeimprovements.com/tpo-roofers — the likely hero/LCP image (logo-fortners-home-improvements-inc-1920w.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.

notice Images without width/height (layout shift / CLS)

Rule images.missing_dimensions · Images · 48 occurrence(s)

notice Internal link has no anchor text / accessible name

Rule links.no_anchor_text · Links · 48 occurrence(s)

notice Meta description too long

Rule meta_desc.too_long · Meta Description · 2 occurrence(s)

notice Large DOM (over 1500 elements) slows rendering & interaction

Rule perf.dom_size_large · Performance · 33 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — the page has 1815 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — the page has 1621 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/emergency-roof-repair — the page has 1621 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/gutter-installation — the page has 1613 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/gutter-repair — the page has 1627 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/gutter-services — the page has 1658 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — the page has 1639 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/leak-detection-services — the page has 1630 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — the page has 1633 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/metal-roofers — the page has 1617 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/new-porch-build — the page has 1625 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — the page has 1632 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — the page has 1631 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/patio-services — the page has 1667 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/porch-services — the page has 1640 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/roof-deck-services — the page has 1663 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/roof-repairs — the page has 1770 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/roof-tear-off — the page has 1619 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/screened-in-porch — the page has 1617 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/serving-area — the page has 1841 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — the page has 1669 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — the page has 1784 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — the page has 1633 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — the page has 1625 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.
  • https://www.fortnershomeimprovements.com/tpo-roofers — the page has 1619 DOM elements (recommended maximum is around 1500) — a large DOM increases style-recalculation, layout and paint cost, hurting LCP and INP. Flatten deep nesting, paginate long lists/tables, and lazy-render off-screen elements.

notice Legacy image format (jpg/png/gif) with no next-gen fallback

Rule perf.images_legacy_format · Performance · 48 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 48 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/contact — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/gutter-installation — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/gutter-services — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/leak-detection-services — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/metal-roofers — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/new-porch-build — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/request-estimate-form — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/reviews — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/roof-deck-services — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/roof-repairs — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/roof-tear-off — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/screened-in-porch — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/serving-area — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://www.fortnershomeimprovements.com/tpo-roofers — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice No Last-Modified header (no conditional GET for unchanged pages)

Rule perf.no_last_modified · Performance · 48 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/asphalt-shingle-repair — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/contact — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/gutter-installation — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/gutter-services — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/land-lot-clearing — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/leak-detection-services — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/metal-roof-repair — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/metal-roofers — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/new-porch-build — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/patio-covers-shade-solutions — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/patio-replacement-repair — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/request-estimate-form — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/reviews — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/roof-deck-services — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/roof-repairs — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/roof-tear-off — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/screened-in-porch — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/serving-area — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/skylight-installation-repair-services — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/storm-damage-repair — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/tpo-roof-repair — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.
  • https://www.fortnershomeimprovements.com/tpo-roofers — the response carries no Last-Modified header — Googlebot can't send an If-Modified-Since request, so it re-downloads the full page body on every crawl even when nothing changed. Emit Last-Modified (or an ETag) on stable pages to enable 304 Not Modified responses.

notice Article schema missing recommended properties (Top Stories / image carousel)

Rule schema.article_incomplete · Structured Data · 1 occurrence(s)

notice FAQPage structured data (rich result removed May 2026)

Rule schema.faq_deprecated · Structured Data · 4 occurrence(s)

  • https://www.fortnershomeimprovements.com/ — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://www.fortnershomeimprovements.com/faqs — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://www.fortnershomeimprovements.com/roof-repairs — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
  • https://www.fortnershomeimprovements.com/specialty-roof-repairs — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.

notice target=_blank link without rel=noopener (tab-napping)

Rule security.unsafe_cross_origin_links · Security · 48 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.fortnershomeimprovements.com/
Northwest, FL | Fortner's Home Improvements Inc
200 yes 1872 50
https://www.fortnershomeimprovements.com/about
About | Fortner's Home Improvements
200 yes 627 50
https://www.fortnershomeimprovements.com/asphalt-shingle-installation
Asphalt Shingle Installation | Asphalt Roofing | Northwest, FL Area
200 yes 1170 50
https://www.fortnershomeimprovements.com/asphalt-shingle-repair
Asphalt Shingle Repair | Asphalt Roof Repair | Northwest, FL Area
200 yes 1055 50
https://www.fortnershomeimprovements.com/blog
Blog | Fortner's Home Improvements Inc
200 no 491 50
https://www.fortnershomeimprovements.com/brush-clearing
Brush Clearing | Vegetation Management | Northwest, FL Area
200 yes 1130 50
https://www.fortnershomeimprovements.com/call-or-text-pop
Call or Text Pop
200 no 466 50
https://www.fortnershomeimprovements.com/chimney-flashing-repair
Chimney Flashing Repair | Roof Flashing | Northwest, FL Area
200 yes 1104 50
https://www.fortnershomeimprovements.com/contact
Contact Fortner's Home Improvements | Northwest, FL Area
200 yes 665 50
https://www.fortnershomeimprovements.com/emergency-roof-repair
Emergency Roof Repair | Urgent Roofing Help | Northwest, FL Area
200 yes 1162 50
https://www.fortnershomeimprovements.com/faqs
FAQs | Fortner's Home Improvements Inc
200 yes 560 50
https://www.fortnershomeimprovements.com/gutter-installation
Gutter Installation | Seamless Gutters | Northwest, FL Area
200 yes 1036 50
https://www.fortnershomeimprovements.com/gutter-repair
Gutter Repair | Seamless Gutters | Drainage | Northwest, FL Area
200 yes 1101 50
https://www.fortnershomeimprovements.com/gutter-services
Gutter Services | Northwest, FL Area | Fortner's Home Improvements
200 yes 971 50
https://www.fortnershomeimprovements.com/hibu-eng-menu
Engagement Menu Pop
200 no 460 50
https://www.fortnershomeimprovements.com/hibu-video-splash
Hibu Video Splash
200 no 480 50
https://www.fortnershomeimprovements.com/land-lot-clearing
Land & Lot Clearing Northwest, FL Area Fortner's Home Improvements
200 yes 1018 50
https://www.fortnershomeimprovements.com/leak-detection-services
Leak Detection Services | Roof Leak Detection | Northwest, FL Area
200 yes 1121 50
https://www.fortnershomeimprovements.com/lot-clearing
Lot Clearing | Land Clearing | Property Prep | Northwest, FL Area
200 yes 1176 50
https://www.fortnershomeimprovements.com/metal-roof-repair
Metal Roof Repair | Roofing Restoration | Northwest, FL Area
200 yes 1224 50
https://www.fortnershomeimprovements.com/metal-roofers
Metal Roofing Installation | Metal Roofers | Northwest, FL Area
200 yes 1168 50
https://www.fortnershomeimprovements.com/new-porch-build
New Porch Build | Custom Porch Construction | Northwest, FL Area
200 yes 1205 50
https://www.fortnershomeimprovements.com/patio-covers-shade-solutions
Patio Covers Shade Solutions | Outdoor Living | Northwest, FL Area
200 yes 1158 50
https://www.fortnershomeimprovements.com/patio-replacement-repair
Patio Replacement & Repair | Patio Renovation | Northwest, FL Area
200 yes 1157 50
https://www.fortnershomeimprovements.com/patio-services
Patio Services | Northwest, FL Area | Fortner's Home Improvements
200 yes 1031 50
https://www.fortnershomeimprovements.com/porch-services
Porch Services | Northwest, FL Area | Fortner's Home Improvements
200 yes 988 50
https://www.fortnershomeimprovements.com/request-estimate-form
Request Estimate | Fortner's Home Improvements
200 yes 533 50
https://www.fortnershomeimprovements.com/reviews
Reviews | Fortner's Home Improvements
200 yes 459 50
https://www.fortnershomeimprovements.com/roof-deck-installation
Roof Deck Installation | Roof Decking Install | Northwest, FL Area
200 yes 1061 50
https://www.fortnershomeimprovements.com/roof-deck-repair
Roof Deck Repair | Roof Decking Fixes | Northwest, FL Area
200 yes 1166 50
https://www.fortnershomeimprovements.com/roof-deck-services
Roof Deck Services Northwest, FL Area | Fortner's Home Improvements
200 yes 964 50
https://www.fortnershomeimprovements.com/roof-installation
Roof Installation Northwest, FL Area | Fortner's Home Improvements
200 yes 1206 50
https://www.fortnershomeimprovements.com/roof-repairs
Roof Estimate Northwest, FL | Fortner's Home Improvements
200 yes 1853 50
https://www.fortnershomeimprovements.com/roof-replacement
Roof Replacement | New Roofing | Re-Roofing | Northwest, FL Area
200 yes 1146 50
https://www.fortnershomeimprovements.com/roof-tear-off
Roof Tear-Off | Roof Removal | Roofing Prep | Northwest, FL Area
200 yes 1196 50
https://www.fortnershomeimprovements.com/screened-in-porch
Screened-In Porch Screened Porches Enclosures | Northwest, FL Area
200 yes 1123 50
https://www.fortnershomeimprovements.com/serving-area
Roofing and Exterior Services Near You in the Northwest, FL Area
200 yes 626 50
https://www.fortnershomeimprovements.com/skylight-installation-repair-services
Skylight Installation | Skylight Repair | Northwest, FL Area
200 yes 1234 50
https://www.fortnershomeimprovements.com/specialty-roof-repairs
Roofing Contractors Northwest, FL | Fortner's Home Improvements
200 yes 1836 50
https://www.fortnershomeimprovements.com/storm-damage-repair
Storm Damage Repair | Property Restoration | Northwest, FL Area
200 yes 1207 50
https://www.fortnershomeimprovements.com/tpo-roof-repair
TPO Roof Repair | Commercial Flat Roof Repair | Northwest, FL Area
200 yes 1141 50
https://www.fortnershomeimprovements.com/tpo-roofers
TPO Roofing Installation Commercial Flat Roofs | Northwest, FL Area
200 yes 1129 50
https://www.fortnershomeimprovements.com/why-getting-a-detailed-roof-estimate-matters-before-any-roofing-work
Why Getting a Detailed Roof Estimate Matters Before Any Roofing Work
200 yes 1870 11
https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/avalon-fl
Roof Estimate | Avalon, FL | Fortner's Home Improvements Inc
200 yes 975 1
https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/bagdad-fl
Roof Estimate | Bagdad, FL | Fortner's Home Improvements Inc
200 yes 975 1
https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/bellview-fl
Roof Estimate | Bellview, FL | Fortner's Home Improvements Inc
200 yes 975 1
https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/brent-fl
Roof Estimate | Brent, FL | Fortner's Home Improvements Inc
200 yes 975 1
https://www.fortnershomeimprovements.com/contact/roof-estimate-service-area/cantonment-fl
Roof Estimate | Cantonment, FL | Fortner's Home Improvements Inc
200 yes 975 1
https://www.fortnershomeimprovements.com/first-last
Contact Us
404 no 466 1
https://www.fortnershomeimprovements.com/gallery
Contact Us
404 no 466 9

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →