Catalog / janhavistories.com
61

SEO audit for janhavistories.com

Home

other

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

Download Markdown report (feed to ChatGPT / Claude / Cursor)
Screenshot of janhavistories.com
50
pages crawled
41
indexable pages
7
errors
377
warnings
627
notices
0
orphan pages
2
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Security 93 3 1 72
Links 28 2 113 40
Crawlability 96 2 0 28
Duplicate 66 0 57 0
Canonical 75 0 41 0
Meta Description 75 0 41 0
Agent Readiness 76 0 40 44
Performance 85 0 25 121
Mobile 90 0 16 16
Images 91 0 15 27
Headings 92 0 14 0
Content 92 0 13 68
Rendering 99 0 1 0
Cache 100 0 0 41
Sitemap 100 0 0 13
Social 100 0 0 82
Structured Data 100 0 0 41
Titles 100 0 0 22
URL 100 0 0 12
Findings

Errors (3 rules)

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

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

error Mixed content on HTTPS page

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

error Client error (4xx) response

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

Warnings (13 rules)

warning Control has no accessible name

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

warning Duplicate page content

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

warning Duplicate <title> across pages

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

warning Content-Type header doesn't match the actual content

Rule headers.content_type_mismatch · Security · 1 occurrence(s)

  • https://www.janhavistories.com/biblioWSreview.pdf — the response body is an HTML document but the Content-Type is "application/pdf", not text/html — browsers download or mis-handle it instead of rendering the page, and Google won't index it as HTML. Serve it as "text/html; charset=utf-8".

warning Images missing alt text

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

warning Internal link points to a redirect

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

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

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

warning Content only rendered by JavaScript (invisible to non-JS crawlers & AI)

Rule rendering.js_shell · Rendering · 1 occurrence(s)

  • http://janhavistories.com/swf/splat.html — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.

Notices (23 rules)

notice Heading levels skip a level

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

notice No llms.txt for AI agents

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

notice No main landmark for AI agents

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

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

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

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

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

  • http://janhavistories.com/ — this page reads as difficult (Flesch Reading Ease 36, 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.
  • http://janhavistories.com/about.html — this page reads as difficult (Flesch Reading Ease 36, 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.
  • http://janhavistories.com/anthologies.html — 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.
  • http://janhavistories.com/childrenbooks.html — 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.
  • http://janhavistories.com/consultancy.html — 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.
  • http://janhavistories.com/creativeservices.html — 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.
  • http://janhavistories.com/events.html — this page reads as difficult (Flesch Reading Ease 34, 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.
  • http://janhavistories.com/index_htm.html — this page reads as difficult (Flesch Reading Ease 47, 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.
  • http://janhavistories.com/nonfiction.html — 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.
  • http://janhavistories.com/reviews.html — this page reads as very difficult (Flesch Reading Ease 29, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • http://janhavistories.com/slums_millionaires_story.html — this page reads as difficult (Flesch Reading Ease 46, 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.
  • http://janhavistories.com/talks.html — 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.
  • http://janhavistories.com/thelargerpicture.html — this page reads as difficult (Flesch Reading Ease 44, 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.
  • http://janhavistories.com/travel.html — this page reads as difficult (Flesch Reading Ease 31, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • http://janhavistories.com/wanderersall.html — 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.
  • http://janhavistories.com/windowseat.html — 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.janhavistories.com/ — this page reads as difficult (Flesch Reading Ease 36, 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.janhavistories.com/about.html — this page reads as difficult (Flesch Reading Ease 36, 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.janhavistories.com/anthologies.html — 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.janhavistories.com/childrenbooks.html — 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.janhavistories.com/creativeservices.html — 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.janhavistories.com/index.html — this page reads as difficult (Flesch Reading Ease 36, 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.janhavistories.com/travel.html — this page reads as difficult (Flesch Reading Ease 31, below 50) — long sentences and multi-syllable words make it hard to scan. Shorten sentences and prefer plainer words to widen your audience. Density can be legitimate for expert, technical or legal content, so judge it against who the page is for.
  • https://www.janhavistories.com/wanderersall.html — 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.janhavistories.com/windowseat.html — 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.

notice Missing <!DOCTYPE html> (quirks-mode rendering risk)

Rule encoding.doctype_missing · Content · 15 occurrence(s)

notice Likely hero image lacks fetchpriority=high

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

  • http://janhavistories.com/about.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/anthologies.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/aprince.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/arts_stories.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/childrenbooks.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/consultancy.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/contact.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/creativeservices.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/curatorial.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/events.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/fiction.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/goodriot.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/home_for_christmas.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/index_htm.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/links.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/maharajas.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/media.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/nonfiction.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/reviews.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/slums_millionaires_story.html — the likely hero/LCP image (1.gif) 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.
  • http://janhavistories.com/talks.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/travel.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/wanderersall.html — the likely hero/LCP image (icon2.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.
  • http://janhavistories.com/windowseat.html — the likely hero/LCP image (icon2.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.janhavistories.com/ — the likely hero/LCP image (icon2.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 · 27 occurrence(s)

notice Internal link has no anchor text / accessible name

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

  • http://janhavistories.com/about.html — 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.
  • http://janhavistories.com/anthologies.html — 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.
  • http://janhavistories.com/aprince.html — 11 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.
  • http://janhavistories.com/arts_stories.html — 11 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.
  • http://janhavistories.com/childrenbooks.html — 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.
  • http://janhavistories.com/consultancy.html — 11 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.
  • http://janhavistories.com/contact.html — 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.
  • http://janhavistories.com/creativeservices.html — 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.
  • http://janhavistories.com/curatorial.html — 11 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.
  • http://janhavistories.com/events.html — 11 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.
  • http://janhavistories.com/fiction.html — 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.
  • http://janhavistories.com/goodriot.html — 11 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.
  • http://janhavistories.com/home_for_christmas.html — 11 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.
  • http://janhavistories.com/index_htm.html — 12 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.
  • http://janhavistories.com/links.html — 11 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.
  • http://janhavistories.com/maharajas.html — 11 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.
  • http://janhavistories.com/media.html — 11 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.
  • http://janhavistories.com/nonfiction.html — 11 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.
  • http://janhavistories.com/reviews.html — 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.
  • http://janhavistories.com/slums_millionaires_story.html — 11 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.
  • http://janhavistories.com/talks.html — 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.
  • http://janhavistories.com/travel.html — 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.
  • http://janhavistories.com/wanderersall.html — 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.
  • http://janhavistories.com/windowseat.html — 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.janhavistories.com/ — 2 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 Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 26 occurrence(s)

notice Missing Open Graph tags

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

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

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

  • http://janhavistories.com/about.html — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/anthologies.html — 9 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/aprince.html — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/arts_stories.html — 19 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/childrenbooks.html — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/consultancy.html — 20 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/contact.html — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/creativeservices.html — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/curatorial.html — 20 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/events.html — 21 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/fiction.html — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/goodriot.html — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/home_for_christmas.html — 19 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/index_htm.html — 29 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/links.html — 20 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/maharajas.html — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/media.html — 20 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/nonfiction.html — 21 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/reviews.html — 1 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/slums_millionaires_story.html — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/talks.html — 2 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/travel.html — 6 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/wanderersall.html — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • http://janhavistories.com/windowseat.html — 3 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.
  • https://www.janhavistories.com/ — 17 image(s) use a legacy format (jpg/png/gif) with no next-gen <picture> fallback. Serve WebP or AVIF (with a <picture> typed <source>) to cut image transfer weight and improve LCP.

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

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

  • http://janhavistories.com/about.html — 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.
  • http://janhavistories.com/anthologies.html — 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.
  • http://janhavistories.com/aprince.html — 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.
  • http://janhavistories.com/arts_stories.html — 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.
  • http://janhavistories.com/childrenbooks.html — 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.
  • http://janhavistories.com/consultancy.html — 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.
  • http://janhavistories.com/contact.html — 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.
  • http://janhavistories.com/creativeservices.html — 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.
  • http://janhavistories.com/curatorial.html — 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.
  • http://janhavistories.com/events.html — 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.
  • http://janhavistories.com/fiction.html — 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.
  • http://janhavistories.com/goodriot.html — 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.
  • http://janhavistories.com/home_for_christmas.html — 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.
  • http://janhavistories.com/index_htm.html — 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.
  • http://janhavistories.com/links.html — 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.
  • http://janhavistories.com/maharajas.html — 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.
  • http://janhavistories.com/media.html — 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.
  • http://janhavistories.com/nonfiction.html — 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.
  • http://janhavistories.com/reviews.html — 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.
  • http://janhavistories.com/swf/splat.html — 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.
  • http://janhavistories.com/talks.html — 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.
  • http://janhavistories.com/travel.html — 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.
  • http://janhavistories.com/wanderersall.html — 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.
  • http://janhavistories.com/windowseat.html — 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.janhavistories.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.

notice URL redirects to another URL

Rule redirect.single · Crawlability · 28 occurrence(s)

notice Missing recommended security headers

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

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

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

notice Indexable page not listed in sitemap

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

Pages (showing 50 of 50)
URLStatusIndexableWordsIn-links
https://www.janhavistories.com/about.html
About
200 yes 307 40
https://www.janhavistories.com/contact.html
Contacts
200 yes 82 40
https://www.janhavistories.com/
Home
200 yes 262 25
https://www.janhavistories.com/anthologies.html
Anthologies
200 yes 385 25
https://www.janhavistories.com/childrenbooks.html
Children's Books
200 yes 131 25
https://www.janhavistories.com/creativeservices.html
Creative Services
200 yes 250 25
https://www.janhavistories.com/reviews.html
Reviews
200 yes 255 25
https://www.janhavistories.com/talks.html
Talks
200 yes 850 25
https://www.janhavistories.com/travel.html
Travel
200 yes 240 25
https://www.janhavistories.com/wanderersall.html
Fiction
200 yes 216 25
https://www.janhavistories.com/windowseat.html
Window Seat
200 yes 187 25
https://www.janhavistories.com/fiction.html
Fiction
200 yes 88 32
http://janhavistories.com/creativeservices.html
Creative Services
200 yes 250 5
http://janhavistories.com/consultancy.html
Janhavi Stories
200 yes 113 15
http://janhavistories.com/curatorial.html
Janhavi Stories
200 yes 76 15
http://janhavistories.com/events.html
Janhavi Stories
200 yes 282 15
http://janhavistories.com/index_htm.html
Janhavi Stories
200 yes 401 15
http://janhavistories.com/links.html
Janhavi Stories
200 yes 33 15
http://janhavistories.com/media.html
Janhavi Stories
200 yes 16 15
http://janhavistories.com/nonfiction.html
Janhavi Stories
200 yes 227 15
https://www.janhavistories.com/index.html
Home
200 yes 262 15
http://janhavistories.com/arts_stories.html
Janhavi Stories
200 yes 214 1
http://janhavistories.com/slums_millionaires_story.html
Janhavi Stories
200 yes 920 1
http://janhavistories.com/thelargerpicture.html
Janhavi Stories
200 yes 1532 1
http://janhavistories.com/
Home
200 yes 262 0
http://janhavistories.com/about.html
About
200 yes 307 0
http://janhavistories.com/anthologies.html
Anthologies
200 yes 385 0
http://janhavistories.com/aprince.html
Janhavi Stories
200 yes 751 0
http://janhavistories.com/childrenbooks.html
Children's Books
200 yes 131 0
http://janhavistories.com/contact.html
Contacts
200 yes 82 0
http://janhavistories.com/fiction.html
Fiction
200 yes 88 0
http://janhavistories.com/goodriot.html
Janhavi Stories
200 yes 1671 0
http://janhavistories.com/home_for_christmas.html
Janhavi Stories
200 yes 3271 0
http://janhavistories.com/maharajas.html
Janhavi Stories
200 yes 1232 0
http://janhavistories.com/reviews.html
Reviews
200 yes 255 0
http://janhavistories.com/sneha.html
Janhavi Stories
200 yes 4211 0
http://janhavistories.com/swf/splat.html
Swiffy output
200 yes 0 0
http://janhavistories.com/talks.html
Talks
200 yes 850 0
http://janhavistories.com/travel.html
Travel
200 yes 240 0
http://janhavistories.com/wanderersall.html
Fiction
200 yes 216 0
http://janhavistories.com/windowseat.html
Window Seat
200 yes 187 0
https://www.janhavistories.com/Zahir%20Zakaria.pdf 200 no 0 2
https://www.janhavistories.com/author_photos.zip
404 Not Found
404 no 12 1
https://www.janhavistories.com/biblioWSreview.pdf 200 no 0 1
https://www.janhavistories.com/images/Mail-Today-Mar.jpg
404 Not Found
404 no 12 1
https://www.janhavistories.com/images/review/AsianAgeJun.jpg 200 no 0 2
https://www.janhavistories.com/images/review/MailTodayMar.jpg 200 no 0 2
https://www.janhavistories.com/images/review/TimeOutArticle.jpg 200 no 0 2
https://www.janhavistories.com/images/review/deccanherald.jpg 200 no 0 2
https://www.janhavistories.com/images/review/mumbai_age31_dec_09.pdf 200 no 0 2

Audit your own site — free

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

Scan your site →