Catalog / africanislandsafaris.com
60

SEO audit for africanislandsafaris.com

African Island Safaris - Bespoke Indian Ocean Island Journeys

otherWordPress

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

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

Bespoke Indian Ocean island safaris - Madagascar, Mauritius, Réunion, Seychelles and Zanzibar. Tailor-made journeys designed around you by island specialists.

Screenshot of africanislandsafaris.com
50
pages crawled
50
indexable pages
4
errors
120
warnings
543
notices
0
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Security 92 4 0 50
Duplicate 68 0 54 6
Performance 70 0 50 250
Canonical 95 0 9 0
Video 98 0 4 0
Meta Description 98 0 3 0
Agent Readiness 100 0 0 2
Content 100 0 0 48
Headings 100 0 0 3
Images 100 0 0 30
Sitemap 100 0 0 4
Social 100 0 0 100
Structured Data 100 0 0 50
Findings

Errors (1 rules)

error Mixed content on HTTPS page

Rule security.mixed_content · Security · 4 occurrence(s)

Warnings (7 rules)

warning Near-duplicate page content

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

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://africanislandsafaris.com/ — http://africanislandsafaris.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

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

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

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

warning Video element present but hidden/zero-size (prominence)

Rule video.hidden · Video · 4 occurrence(s)

Notices (16 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

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

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

  • https://africanislandsafaris.com/ — 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://africanislandsafaris.com/about/ — this page reads as very difficult (Flesch Reading Ease 0, 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://africanislandsafaris.com/accommodation/ — this page reads as very difficult (Flesch Reading Ease -132, 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://africanislandsafaris.com/accommodation/?destination=Madagascar — this page reads as very difficult (Flesch Reading Ease -71, 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://africanislandsafaris.com/accommodation/sakatia-lodge/ — 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://africanislandsafaris.com/activities/ — this page reads as very difficult (Flesch Reading Ease -92, 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://africanislandsafaris.com/activities/?destination=Madagascar — this page reads as very difficult (Flesch Reading Ease -84, 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://africanislandsafaris.com/activities/quad-biking/ — 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://africanislandsafaris.com/author/admin/ — this page reads as very difficult (Flesch Reading Ease -59, 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://africanislandsafaris.com/build-your-island-safari/ — this page reads as very difficult (Flesch Reading Ease -16, 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://africanislandsafaris.com/contact/ — 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://africanislandsafaris.com/destinations/ — this page reads as very difficult (Flesch Reading Ease -112, 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://africanislandsafaris.com/destinations/madagascar/ — 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://africanislandsafaris.com/destinations/mauritius/ — this page reads as very difficult (Flesch Reading Ease -1, 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://africanislandsafaris.com/destinations/nosy-be/ — this page reads as very difficult (Flesch Reading Ease -8, 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://africanislandsafaris.com/destinations/nosy-komba/ — 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://africanislandsafaris.com/destinations/nosy-sakatia/ — this page reads as very difficult (Flesch Reading Ease -11, 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://africanislandsafaris.com/faqs/ — 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://africanislandsafaris.com/new-home/ — 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://africanislandsafaris.com/packages/ — this page reads as very difficult (Flesch Reading Ease -48, 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://africanislandsafaris.com/packages/?destination=Madagascar — this page reads as very 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://africanislandsafaris.com/packages/madagascar-island-escape/ — 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://africanislandsafaris.com/test-lead-page/ — this page reads as very difficult (Flesch Reading Ease -60, 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://africanislandsafaris.com/transfers/airport-transfer/ — this page reads as very difficult (Flesch Reading Ease -67, 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://africanislandsafaris.com/travel-style/romantic-getaways/ — this page reads as very difficult (Flesch Reading Ease -17, 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 · 6 occurrence(s)

notice Multiple <h1> elements

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

notice Likely hero image lacks fetchpriority=high

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

  • https://africanislandsafaris.com/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/about/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/accommodation/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/accommodation/?destination=Madagascar — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/accommodation/sakatia-lodge/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/activities/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/activities/?destination=Madagascar — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/activities/quad-biking/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/author/admin/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/build-your-island-safari/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/contact/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/destinations/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/destinations/madagascar/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/destinations/mauritius/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/destinations/nosy-be/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/faqs/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/new-home/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/packages/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/packages/?destination=Madagascar — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/packages/madagascar-island-escape/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/privacy-policy/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/terms/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/test-lead-page/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/transfers/airport-transfer/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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://africanislandsafaris.com/travel-style/romantic-getaways/ — the likely hero/LCP image (ais-logo-wp-header-white-2x.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 · 30 occurrence(s)

notice Missing Open Graph tags

Rule og.missing · Social · 50 occurrence(s)

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

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

  • https://africanislandsafaris.com/ — the page has 3297 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://africanislandsafaris.com/about/ — the page has 3041 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://africanislandsafaris.com/accommodation/ — the page has 5141 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://africanislandsafaris.com/accommodation/?destination=Madagascar — the page has 3807 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://africanislandsafaris.com/accommodation/sakatia-lodge/ — the page has 3229 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://africanislandsafaris.com/activities/ — the page has 3587 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://africanislandsafaris.com/activities/?destination=Madagascar — the page has 3493 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://africanislandsafaris.com/activities/quad-biking/ — the page has 3015 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://africanislandsafaris.com/author/admin/ — the page has 2884 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://africanislandsafaris.com/build-your-island-safari/ — the page has 2979 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://africanislandsafaris.com/contact/ — the page has 3032 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://africanislandsafaris.com/destinations/ — the page has 3943 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://africanislandsafaris.com/destinations/madagascar/ — the page has 3429 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://africanislandsafaris.com/destinations/mauritius/ — the page has 3285 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://africanislandsafaris.com/destinations/nosy-be/ — the page has 3428 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://africanislandsafaris.com/faqs/ — the page has 2946 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://africanislandsafaris.com/new-home/ — the page has 3442 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://africanislandsafaris.com/packages/ — the page has 3613 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://africanislandsafaris.com/packages/?destination=Madagascar — the page has 3521 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://africanislandsafaris.com/packages/madagascar-island-escape/ — the page has 3189 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://africanislandsafaris.com/privacy-policy/ — the page has 2903 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://africanislandsafaris.com/terms/ — the page has 2900 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://africanislandsafaris.com/test-lead-page/ — the page has 2908 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://africanislandsafaris.com/transfers/airport-transfer/ — the page has 2885 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://africanislandsafaris.com/travel-style/romantic-getaways/ — the page has 2945 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 · 50 occurrence(s)

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

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

  • https://africanislandsafaris.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://africanislandsafaris.com/about/ — 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://africanislandsafaris.com/accommodation/ — 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://africanislandsafaris.com/accommodation/?destination=Madagascar — 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://africanislandsafaris.com/accommodation/sakatia-lodge/ — 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://africanislandsafaris.com/activities/ — 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://africanislandsafaris.com/activities/?destination=Madagascar — 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://africanislandsafaris.com/activities/quad-biking/ — 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://africanislandsafaris.com/author/admin/ — 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://africanislandsafaris.com/build-your-island-safari/ — 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://africanislandsafaris.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://africanislandsafaris.com/destinations/ — 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://africanislandsafaris.com/destinations/madagascar/ — 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://africanislandsafaris.com/destinations/mauritius/ — 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://africanislandsafaris.com/destinations/nosy-be/ — 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://africanislandsafaris.com/faqs/ — 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://africanislandsafaris.com/new-home/ — 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://africanislandsafaris.com/packages/ — 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://africanislandsafaris.com/packages/?destination=Madagascar — 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://africanislandsafaris.com/packages/madagascar-island-escape/ — 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://africanislandsafaris.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://africanislandsafaris.com/terms/ — 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://africanislandsafaris.com/test-lead-page/ — 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://africanislandsafaris.com/transfers/airport-transfer/ — 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://africanislandsafaris.com/travel-style/romantic-getaways/ — 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://africanislandsafaris.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://africanislandsafaris.com/about/ — 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://africanislandsafaris.com/accommodation/ — 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://africanislandsafaris.com/accommodation/?destination=Madagascar — 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://africanislandsafaris.com/accommodation/sakatia-lodge/ — 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://africanislandsafaris.com/activities/ — 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://africanislandsafaris.com/activities/?destination=Madagascar — 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://africanislandsafaris.com/activities/quad-biking/ — 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://africanislandsafaris.com/author/admin/ — 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://africanislandsafaris.com/build-your-island-safari/ — 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://africanislandsafaris.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://africanislandsafaris.com/destinations/ — 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://africanislandsafaris.com/destinations/madagascar/ — 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://africanislandsafaris.com/destinations/mauritius/ — 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://africanislandsafaris.com/destinations/nosy-be/ — 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://africanislandsafaris.com/faqs/ — 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://africanislandsafaris.com/new-home/ — 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://africanislandsafaris.com/packages/ — 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://africanislandsafaris.com/packages/?destination=Madagascar — 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://africanislandsafaris.com/packages/madagascar-island-escape/ — 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://africanislandsafaris.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://africanislandsafaris.com/terms/ — 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://africanislandsafaris.com/test-lead-page/ — 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://africanislandsafaris.com/transfers/airport-transfer/ — 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://africanislandsafaris.com/travel-style/romantic-getaways/ — 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 Missing recommended security headers

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

notice Indexable page not listed in sitemap

Rule sitemap.orphan_not_listed · Sitemap · 4 occurrence(s)

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://africanislandsafaris.com/
African Island Safaris - Bespoke Indian Ocean Island Journeys
200 yes 3504 50
https://africanislandsafaris.com/about/
About Us - African Island Safaris
200 yes 3027 50
https://africanislandsafaris.com/accommodation/
Accommodation - African Island Safaris
200 yes 5659 50
https://africanislandsafaris.com/accommodation/miavana-by-time-tide/
Miavana by Time + Tide - African Island Safaris
200 yes 3386 50
https://africanislandsafaris.com/accommodation/sakatia-lodge/
Sakatia Lodge - African Island Safaris
200 yes 3070 50
https://africanislandsafaris.com/activities/
Activities - African Island Safaris
200 yes 3696 50
https://africanislandsafaris.com/build-your-island-safari/
Build Your Island Safari - African Island Safaris
200 yes 2786 50
https://africanislandsafaris.com/contact/
Contact - African Island Safaris
200 yes 2859 50
https://africanislandsafaris.com/destinations/
Destinations - African Island Safaris
200 yes 4449 50
https://africanislandsafaris.com/destinations/madagascar/
Madagascar - African Island Safaris
200 yes 3646 50
https://africanislandsafaris.com/destinations/mauritius/
Mauritius - African Island Safaris
200 yes 3352 50
https://africanislandsafaris.com/destinations/reunion/
Réunion - African Island Safaris
200 yes 3494 50
https://africanislandsafaris.com/destinations/seychelles/
Seychelles - African Island Safaris
200 yes 3353 50
https://africanislandsafaris.com/destinations/zanzibar/
Zanzibar - African Island Safaris
200 yes 3329 50
https://africanislandsafaris.com/faqs/
FAQs - African Island Safaris
200 yes 3108 50
https://africanislandsafaris.com/packages/
Packages - African Island Safaris
200 yes 3696 50
https://africanislandsafaris.com/privacy-policy/
Privacy Policy - African Island Safaris
200 yes 2739 50
https://africanislandsafaris.com/terms/
Terms & Conditions - African Island Safaris
200 yes 2718 50
https://africanislandsafaris.com/activities/quad-biking/
Quad Biking - African Island Safaris
200 yes 3106 5
https://africanislandsafaris.com/destinations/east-highlands/
East & Highlands - African Island Safaris
200 yes 2830 6
https://africanislandsafaris.com/destinations/la-digue/
La Digue - African Island Safaris
200 yes 3214 6
https://africanislandsafaris.com/destinations/lokobe/
Lokobe - African Island Safaris
200 yes 2908 6
https://africanislandsafaris.com/destinations/mahe/
Mahe - African Island Safaris
200 yes 3249 5
https://africanislandsafaris.com/packages/madagascar-island-escape/
Madagascar Island Escape - African Island Safaris
200 yes 3245 4
https://africanislandsafaris.com/accommodation/royal-andilana/
Royal Andilana - African Island Safaris
200 yes 2837 3
https://africanislandsafaris.com/accommodation/?destination=Madagascar
Accommodation - African Island Safaris
200 yes 3868 6
https://africanislandsafaris.com/activities/?destination=Madagascar
Activities - African Island Safaris
200 yes 3510 6
https://africanislandsafaris.com/packages/?destination=Madagascar
Packages - African Island Safaris
200 yes 3516 5
https://africanislandsafaris.com/accommodation/lokobe-forest-lodge/
Lokobe Forest Lodge - African Island Safaris
200 yes 2830 2
https://africanislandsafaris.com/destinations/mauritius-east-coast/
Mauritius East Coast - African Island Safaris
200 yes 3236 1
https://africanislandsafaris.com/destinations/mauritius-north-coast/
Mauritius North Coast - African Island Safaris
200 yes 3266 1
https://africanislandsafaris.com/destinations/mauritius-south-coast/
Mauritius South Coast - African Island Safaris
200 yes 3224 1
https://africanislandsafaris.com/destinations/mauritius-west-coast/
Mauritius West Coast - African Island Safaris
200 yes 3235 1
https://africanislandsafaris.com/destinations/nosy-ankao/
Nosy Ankao - African Island Safaris
200 yes 3393 1
https://africanislandsafaris.com/destinations/nosy-be/
Nosy Be - African Island Safaris
200 yes 3473 1
https://africanislandsafaris.com/destinations/nosy-komba/
Nosy Komba - African Island Safaris
200 yes 3441 1
https://africanislandsafaris.com/destinations/nosy-sakatia/
Nosy Sakatia - African Island Safaris
200 yes 3450 1
https://africanislandsafaris.com/destinations/nungwi-and-kendwa/
Nungwi and Kendwa - African Island Safaris
200 yes 2934 1
https://africanislandsafaris.com/destinations/pemba-island/
Pemba Island - African Island Safaris
200 yes 3166 1
https://africanislandsafaris.com/destinations/praslin/
Praslin - African Island Safaris
200 yes 3239 1
https://africanislandsafaris.com/destinations/reunion-south-coast/
Réunion South Coast - African Island Safaris
200 yes 3305 1
https://africanislandsafaris.com/destinations/reunion-west-coast/
Réunion West Coast - African Island Safaris
200 yes 3314 1
https://africanislandsafaris.com/destinations/stone-town/
Stone Town - African Island Safaris
200 yes 3187 1
https://africanislandsafaris.com/destinations/the-cirques/
The Cirques - African Island Safaris
200 yes 3310 1
https://africanislandsafaris.com/destinations/zanzibar-east-coast/
Zanzibar East Coast - African Island Safaris
200 yes 3197 1
https://africanislandsafaris.com/travel-style/romantic-getaways/
Travel Style: Romantic Getaways - African Island Safaris
200 yes 2826 1
https://africanislandsafaris.com/author/admin/
Author: admin - African Island Safaris
200 yes 2569 0
https://africanislandsafaris.com/new-home/
New-Home - African Island Safaris
200 yes 3392 0
https://africanislandsafaris.com/test-lead-page/
Test Lead page - African Island Safaris
200 yes 2594 0
https://africanislandsafaris.com/transfers/airport-transfer/
Airport Transfer - African Island Safaris
200 yes 2567 0

Audit your own site — free

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

Scan your site →