Catalog / ahlgrimffs.com
81

SEO audit for ahlgrimffs.com

Ahlgrim Family Funeral Services

other

Health 81/100 (good) · 50 pages crawled · generated 2026-08-26

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

Ahlgrim Family Funeral Services provides complete funeral services in Lake Zurich, IL. Call us today for pre-planning or custom planning options

Screenshot of ahlgrimffs.com
50
pages crawled
50
indexable pages
0
errors
46
warnings
527
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Duplicate 83 0 28 12
Crawlability 97 0 5 0
Links 97 0 5 3
Agent Readiness 98 0 4 50
Headings 99 0 2 4
Content 99 0 1 84
Performance 99 0 1 174
Cache 100 0 0 50
Images 100 0 0 50
Meta Description 100 0 0 1
Security 100 0 0 51
Structured Data 100 0 0 48
Findings

Warnings (9 rules)

warning Control has no accessible name

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

warning Lorem-ipsum placeholder text in a live page

Rule content.lorem_ipsum · Content · 1 occurrence(s)

warning Duplicate page content

Rule duplicate.content · Duplicate · 10 occurrence(s)

warning Near-duplicate page content

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

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 10 occurrence(s)

warning Missing <h1>

Rule h1.missing · Headings · 2 occurrence(s)

warning Internal link points to a redirect

Rule links.redirect_target · Links · 5 occurrence(s)

warning Render-blocking script in <head> (no defer/async)

Rule perf.render_blocking · Performance · 1 occurrence(s)

warning Redirect chain (multiple hops)

Rule redirect.chain · Crawlability · 5 occurrence(s)

Notices (18 rules)

notice Heading levels skip a level

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

notice No main landmark for AI agents

Rule agent.no_main_landmark · Agent Readiness · 1 occurrence(s)

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

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

notice Low text-to-HTML ratio

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

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

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

  • https://ahlgrimffs.com/evergreen-cemetery/ — this page reads as very difficult (Flesch Reading Ease -7, 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.ahlgrimffs.com/ — 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.ahlgrimffs.com/about-us/golf-course — this page reads as difficult (Flesch Reading Ease 38, 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.ahlgrimffs.com/about-us/history — 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.ahlgrimffs.com/about-us/our-staff — 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.ahlgrimffs.com/email-subscribe — this page reads as very difficult (Flesch Reading Ease 7, 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.ahlgrimffs.com/grief-support/children-and-grief — this page reads as difficult (Flesch Reading Ease 41, 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.ahlgrimffs.com/locations/lake-zurich-il-location — this page reads as very difficult (Flesch Reading Ease -2, 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.ahlgrimffs.com/locations/palatine-il-location — this page reads as very difficult (Flesch Reading Ease -3, 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.ahlgrimffs.com/obituaries — this page reads as very difficult (Flesch Reading Ease 3, 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.ahlgrimffs.com/obituaries/jane-whaley — this page reads as difficult (Flesch Reading Ease 50, 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.ahlgrimffs.com/plan-ahead/online-preplanning-form — 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.ahlgrimffs.com/plan-ahead/planning-ahead — this page reads as difficult (Flesch Reading Ease 39, 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.ahlgrimffs.com/plan-ahead/preplanning-checklist — 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.ahlgrimffs.com/plan-ahead/talk-of-a-lifetime — this page reads as difficult (Flesch Reading Ease 42, 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.ahlgrimffs.com/price-list/pricing-lake-zurich — this page reads as difficult (Flesch Reading Ease 38, 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.ahlgrimffs.com/resources/funeral-etiquette — 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.ahlgrimffs.com/resources/social-security-benefits — this page reads as very difficult (Flesch Reading Ease 26, 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.ahlgrimffs.com/resources/when-death-occurs — 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.ahlgrimffs.com/send-flowers — this page reads as very difficult (Flesch Reading Ease 9, 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.ahlgrimffs.com/services/additional-services — this page reads as difficult (Flesch Reading Ease 43, 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.ahlgrimffs.com/services/caskets — this page reads as difficult (Flesch Reading Ease 35, 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.ahlgrimffs.com/services/cemeteries — this page reads as very difficult (Flesch Reading Ease -7, 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.ahlgrimffs.com/services/grave-sites — 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.ahlgrimffs.com/services/immediate-need — 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.

notice Duplicate meta description across pages

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

notice Multiple <h1> elements

Rule h1.multiple · Headings · 4 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • https://ahlgrimffs.com/evergreen-cemetery/ — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/ — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/about-us/golf-course — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/about-us/history — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/about-us/our-staff — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/email-subscribe — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/grief-support/children-and-grief — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/locations/palatine-il-location — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/obituaries — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/obituaries/jane-whaley — the likely hero/LCP image (md) 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.ahlgrimffs.com/plan-ahead/online-preplanning-form — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/plan-ahead/planning-ahead — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/plan-ahead/preplanning-checklist — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/plan-ahead/talk-of-a-lifetime — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/price-list/pricing-lake-zurich — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/privacy-policy — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/resources/funeral-etiquette — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/resources/social-security-benefits — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/send-flowers — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/services/additional-services — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/services/caskets — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/services/cemeteries — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/services/grave-sites — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/services/immediate-need — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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.ahlgrimffs.com/terms-of-use — the likely hero/LCP image (ahlgrim-family-funeral-services-il-logo-1920w.png) 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 · 50 occurrence(s)

notice Internal link has no anchor text / accessible name

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

  • https://ahlgrimffs.com/to-be-joyful-again/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.ahlgrimffs.com/ — 1 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.
  • https://www.ahlgrimffs.com/services/grave-sites — 6 internal link(s) have no anchor text, aria-label, or image alt — they pass no keyword signal and are unusable to screen readers. Add descriptive text or an aria-label.

notice Meta description too long

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

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

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

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

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

  • https://ahlgrimffs.com/evergreen-cemetery/ — 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.ahlgrimffs.com/about-us/our-facilities — 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.ahlgrimffs.com/about-us/our-staff — 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.ahlgrimffs.com/about-us/tidbits — 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.ahlgrimffs.com/about-us/why-choose-us — 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.ahlgrimffs.com/grief-support/children-and-grief — 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.ahlgrimffs.com/grief-support/the-grieving-process — 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.ahlgrimffs.com/obituaries/jane-whaley — 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.ahlgrimffs.com/plan-ahead/online-preplanning-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.ahlgrimffs.com/plan-ahead/planning-ahead — 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.ahlgrimffs.com/plan-ahead/preplanning-checklist — 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.ahlgrimffs.com/plan-ahead/talk-of-a-lifetime — 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.ahlgrimffs.com/privacy-policy — 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.ahlgrimffs.com/resources/download-forms — 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.ahlgrimffs.com/resources/social-security-benefits — 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.ahlgrimffs.com/resources/when-death-occurs — 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.ahlgrimffs.com/services/additional-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.ahlgrimffs.com/services/caskets — 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.ahlgrimffs.com/services/cremation-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.ahlgrimffs.com/services/grave-sites — 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.ahlgrimffs.com/services/immediate-need — 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.ahlgrimffs.com/services/personalization — 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.ahlgrimffs.com/services/services-overview — 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.ahlgrimffs.com/services/veteran-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.ahlgrimffs.com/terms-of-use — 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 · 50 occurrence(s)

  • https://ahlgrimffs.com/evergreen-cemetery/ — 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.ahlgrimffs.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.ahlgrimffs.com/about-us/golf-course — 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.ahlgrimffs.com/about-us/history — 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.ahlgrimffs.com/about-us/our-staff — 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.ahlgrimffs.com/email-subscribe — 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.ahlgrimffs.com/grief-support/children-and-grief — 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.ahlgrimffs.com/locations/palatine-il-location — 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.ahlgrimffs.com/obituaries — 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.ahlgrimffs.com/obituaries/jane-whaley — 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.ahlgrimffs.com/plan-ahead/online-preplanning-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.ahlgrimffs.com/plan-ahead/planning-ahead — 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.ahlgrimffs.com/plan-ahead/preplanning-checklist — 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.ahlgrimffs.com/plan-ahead/talk-of-a-lifetime — 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.ahlgrimffs.com/price-list/pricing-lake-zurich — 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.ahlgrimffs.com/privacy-policy — 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.ahlgrimffs.com/resources/funeral-etiquette — 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.ahlgrimffs.com/resources/social-security-benefits — 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.ahlgrimffs.com/send-flowers — 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.ahlgrimffs.com/services/additional-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.ahlgrimffs.com/services/caskets — 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.ahlgrimffs.com/services/cemeteries — 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.ahlgrimffs.com/services/grave-sites — 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.ahlgrimffs.com/services/immediate-need — 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.ahlgrimffs.com/terms-of-use — 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 Deep page has no BreadcrumbList structured data

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

notice Missing recommended security headers

Rule security.missing_headers · Security · 1 occurrence(s)

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

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.ahlgrimffs.com/
Ahlgrim Family Funeral Services
200 yes 590 50
https://www.ahlgrimffs.com/obituaries
Most Recent Obituaries | Ahlgrim Family Funeral Services
200 yes 434 50
https://www.ahlgrimffs.com/about-us/contact-us
Contact Us Ahlgrim Family Funeral Services | Lake Zurich, IL
200 yes 401 49
https://www.ahlgrimffs.com/about-us/golf-course
Golf Course | Lake Zurich, IL
200 yes 680 49
https://www.ahlgrimffs.com/about-us/history
Our History | Lake Zurich, IL
200 yes 696 49
https://www.ahlgrimffs.com/about-us/tidbits
History and Photos | Lake Zurich, IL
200 yes 982 49
https://www.ahlgrimffs.com/about-us/vintage-hearse
Vintage Hearse | Lake Zurich, IL
200 yes 767 49
https://www.ahlgrimffs.com/about-us/who-we-are
About Us | Ahlgrim Family Funeral Services
200 yes 1047 49
https://www.ahlgrimffs.com/about-us/why-choose-us
Why Choose Us | Ahlgrim Family Funeral Services
200 yes 748 49
https://www.ahlgrimffs.com/email-subscribe
Obituary Notifications | Ahlgrim Family Funeral Services
200 yes 385 49
https://www.ahlgrimffs.com/grief-support/children-and-grief
Children And Grief | Ahlgrim Family Funeral Services
200 yes 988 49
https://www.ahlgrimffs.com/grief-support/grief-resources
Grief Resources | Ahlgrim Family Funeral Services
200 yes 376 49
https://www.ahlgrimffs.com/grief-support/the-grieving-process
The Grieving Process | Ahlgrim Family Funeral Services
200 yes 1106 49
https://www.ahlgrimffs.com/locations/lake-zurich-il-location
Lake Zurich, Il Location | Ahlgrim Family Funeral Services
200 yes 390 49
https://www.ahlgrimffs.com/locations/palatine-il-location
Palatine, Il Location | Ahlgrim Family Funeral Services
200 yes 387 49
https://www.ahlgrimffs.com/plan-ahead/online-preplanning-form
Online Preplanning Form | Ahlgrim Family Funeral Services
200 yes 733 49
https://www.ahlgrimffs.com/plan-ahead/planning-ahead
Planning Ahead | Ahlgrim Family Funeral Services
200 yes 1091 49
https://www.ahlgrimffs.com/plan-ahead/preplanning-checklist
Preplanning Checklist | Ahlgrim Family Funeral Services
200 yes 760 49
https://www.ahlgrimffs.com/plan-ahead/talk-of-a-lifetime
Talk Of A Lifetime | Ahlgrim Family Funeral Services
200 yes 867 49
https://www.ahlgrimffs.com/price-list/pricing-lake-zurich
Lake Zurich Pricing | Ahlgrim Family Funeral Services
200 yes 622 49
https://www.ahlgrimffs.com/price-list/pricing-palatine
Palatine Pricing | Ahlgrim Family Funeral Services
200 yes 620 49
https://www.ahlgrimffs.com/privacy-policy
Privacy Policy | Ahlgrim Family Funeral Services
200 yes 1596 49
https://www.ahlgrimffs.com/resources/frequently-asked-questions
Frequently Asked Questions | Ahlgrim Family Funeral Services
200 yes 953 49
https://www.ahlgrimffs.com/resources/funeral-etiquette
Funeral Etiquette | Ahlgrim Family Funeral Services
200 yes 827 49
https://www.ahlgrimffs.com/resources/social-security-benefits
Social Security Benefits | Ahlgrim Family Funeral Services
200 yes 729 49
https://www.ahlgrimffs.com/resources/when-death-occurs
When Death Occurs | Ahlgrim Family Funeral Services
200 yes 995 49
https://www.ahlgrimffs.com/send-flowers
Send Flowers | Ahlgrim Family Funeral Services
200 yes 402 49
https://www.ahlgrimffs.com/services/additional-resources
Additional Resources | Ahlgrim Family Funeral Services
200 yes 652 49
https://www.ahlgrimffs.com/services/additional-services
Additional Services | Ahlgrim Family Funeral Services
200 yes 1660 49
https://www.ahlgrimffs.com/services/caskets
Caskets | Ahlgrim Family Funeral Services
200 yes 602 49
https://www.ahlgrimffs.com/services/cemeteries
Cemeteries | Ahlgrim Family Funeral Services
200 yes 550 49
https://www.ahlgrimffs.com/services/cremation-services
Cremation Services | Ahlgrim Family Funeral Services
200 yes 1058 49
https://www.ahlgrimffs.com/services/funeral-merchandise
Merchandise | Ahlgrim Family Funeral Services
200 yes 1007 49
https://www.ahlgrimffs.com/services/grave-sites
Grave Sites | Ahlgrim Family Funeral Services
200 yes 592 49
https://www.ahlgrimffs.com/services/immediate-need
Immediate Need | Ahlgrim Family Funeral Services
200 yes 604 49
https://www.ahlgrimffs.com/services/personalization
Personalization | Ahlgrim Family Funeral Services
200 yes 669 49
https://www.ahlgrimffs.com/services/services-overview
Services Overview | Ahlgrim Family Funeral Services
200 yes 595 49
https://www.ahlgrimffs.com/services/traditional-services
Traditional Services | Ahlgrim Family Funeral Services
200 yes 543 49
https://www.ahlgrimffs.com/services/veteran-services
Veteran Services | Ahlgrim Family Funeral Services
200 yes 956 49
https://www.ahlgrimffs.com/terms-of-use
Terms Of Use | Ahlgrim Family Funeral Services
200 yes 3960 49
https://www.ahlgrimffs.com/obituaries/jane-whaley
Jane Pioli Whaley Obituary Apr 28, 2026 - Ahlgrim Family Funeral Services
200 yes 605 2
https://ahlgrimffs.com/evergreen-cemetery/
Cemeteries | Ahlgrim Family Funeral Services
200 yes 550 1
https://ahlgrimffs.com/grief-support-group/
The Grieving Process | Ahlgrim Family Funeral Services
200 yes 1106 1
https://ahlgrimffs.com/new-beginnings-grief-support-group/
Grief Resources | Ahlgrim Family Funeral Services
200 yes 376 1
https://ahlgrimffs.com/the-village-of-lake-zurich-memorial-program/
Lake Zurich, Il Location | Ahlgrim Family Funeral Services
200 yes 390 1
https://ahlgrimffs.com/to-be-joyful-again/
Ahlgrim Family Funeral Services
200 yes 590 1
https://www.ahlgrimffs.com/about-us/our-facilities
Our Facilities | Ahlgrim Family Funeral Services
200 yes 456 0
https://www.ahlgrimffs.com/about-us/our-staff
Our Staff | Ahlgrim Family Funeral Services
200 yes 436 0
https://www.ahlgrimffs.com/resources/download-forms
Download Forms | Ahlgrim Family Funeral Services
200 yes 353 0
https://www.ahlgrimffs.com/resources/make-a-payment
Make A Payment | Ahlgrim Family Funeral Services
200 yes 410 0

Audit your own site — free

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

Scan your site →