SEO audit for 99ymm.org
99ymm - বাংলাদেশি স্লটস ও মোবাইল গাইড
Health 68/100 (fair) · 13 pages crawled · generated 2026-08-26
Download Markdown report (feed to ChatGPT / Claude / Cursor)99ymm বাংলাদেশের সেরা অনলাইন ক্যাসিনো ও ক্রিকেট বেটিং প্ল্যাটফর্ম। bKash, Nagad দিয়ে জমা করুন এবং দ্রুত উত্তোলন উপভোগ করুন।
| Category | Score | Errors | Warnings | Notices |
|---|---|---|---|---|
| Performance | 72 | 0 | 12 | 31 |
| Security | 72 | 0 | 12 | 12 |
| Agent Readiness | 91 | 0 | 4 | 25 |
| Titles | 93 | 0 | 3 | 2 |
| Cache | 100 | 0 | 0 | 12 |
| Images | 100 | 0 | 0 | 12 |
| Meta Description | 100 | 0 | 0 | 1 |
| Social | 100 | 0 | 0 | 9 |
| Structured Data | 100 | 0 | 0 | 2 |
Warnings (4 rules)
warning Control has no accessible name
Rule agent.control_no_name · Agent Readiness · 4 occurrence(s)
- https://99ymm.org/99ymm-casino — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://99ymm.org/99ymm-login — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://99ymm.org/cricket — 1 button/link(s) with no text or aria-label — an agent can't target them
- https://99ymm.org/slots — 1 button/link(s) with no text or aria-label — an agent can't target them
warning Content-Type header doesn't match the actual content
Rule headers.content_type_mismatch · Security · 12 occurrence(s)
- https://99ymm.org/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/99ymm-casino — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/99ymm-login — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/about-us — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/crash — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/cricket — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/european-roulette-pro — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/faq — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/privacy-policy — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/responsible-gaming — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/slots — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
- https://99ymm.org/terms-conditions — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
warning Render-blocking script in <head> (no defer/async)
Rule perf.render_blocking · Performance · 12 occurrence(s)
- https://99ymm.org/ — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/99ymm-casino — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/99ymm-login — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/about-us — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/crash — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/cricket — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/european-roulette-pro — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/faq — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/privacy-policy — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/responsible-gaming — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/slots — 1 render-blocking <script> in <head> (add defer/async or use type=module)
- https://99ymm.org/terms-conditions — 1 render-blocking <script> in <head> (add defer/async or use type=module)
warning Title likely truncated in SERP (too wide)
Rule title.too_long · Titles · 3 occurrence(s)
- https://99ymm.org/crash — 68 chars, ~586px (limit ~580px)
- https://99ymm.org/cricket — 70 chars, ~604px (limit ~580px)
- https://99ymm.org/european-roulette-pro — 73 chars, ~627px (limit ~580px)
Notices (14 rules)
notice Heading levels skip a level
Rule agent.heading_skip · Agent Readiness · 12 occurrence(s)
- https://99ymm.org/ — h5 follows h2 — skips h3
- https://99ymm.org/99ymm-casino — h6 follows h2 — skips h3
- https://99ymm.org/99ymm-login — h5 follows h2 — skips h3
- https://99ymm.org/about-us — h6 follows h2 — skips h3
- https://99ymm.org/crash — h6 follows h2 — skips h3
- https://99ymm.org/cricket — h6 follows h2 — skips h3
- https://99ymm.org/european-roulette-pro — h6 follows h2 — skips h3
- https://99ymm.org/faq — h5 follows h2 — skips h3
- https://99ymm.org/privacy-policy — h6 follows h1 — skips h2
- https://99ymm.org/responsible-gaming — h6 follows h1 — skips h2
- https://99ymm.org/slots — h6 follows h2 — skips h3
- https://99ymm.org/terms-conditions — h6 follows h1 — skips h2
notice No llms.txt for AI agents
Rule agent.llms_txt_missing · Agent Readiness · 1 occurrence(s)
- https://99ymm.org/ — no llms.txt found at the site root — add one so AI agents get a curated site summary
notice No main landmark for AI agents
Rule agent.no_main_landmark · Agent Readiness · 12 occurrence(s)
- https://99ymm.org/ — add a <main> element (or role=main) around the primary content
- https://99ymm.org/99ymm-casino — add a <main> element (or role=main) around the primary content
- https://99ymm.org/99ymm-login — add a <main> element (or role=main) around the primary content
- https://99ymm.org/about-us — add a <main> element (or role=main) around the primary content
- https://99ymm.org/crash — add a <main> element (or role=main) around the primary content
- https://99ymm.org/cricket — add a <main> element (or role=main) around the primary content
- https://99ymm.org/european-roulette-pro — add a <main> element (or role=main) around the primary content
- https://99ymm.org/faq — add a <main> element (or role=main) around the primary content
- https://99ymm.org/privacy-policy — add a <main> element (or role=main) around the primary content
- https://99ymm.org/responsible-gaming — add a <main> element (or role=main) around the primary content
- https://99ymm.org/slots — add a <main> element (or role=main) around the primary content
- https://99ymm.org/terms-conditions — add a <main> element (or role=main) around the primary content
notice Page served uncached (no-store/private or CDN bypass)
Rule cache.not_cacheable · Cache · 12 occurrence(s)
- https://99ymm.org/ — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/99ymm-casino — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/99ymm-login — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/about-us — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/crash — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/cricket — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/european-roulette-pro — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/faq — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/privacy-policy — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/responsible-gaming — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/slots — Cache-Control: (none) · cloudflare: DYNAMIC
- https://99ymm.org/terms-conditions — Cache-Control: (none) · cloudflare: DYNAMIC
notice Likely hero image lacks fetchpriority=high
Rule images.hero_no_fetchpriority · Performance · 7 occurrence(s)
- https://99ymm.org/ — the likely hero/LCP image (bsoy302and.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/99ymm-casino — the likely hero/LCP image (x5g1ti64kiv.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/99ymm-login — the likely hero/LCP image (ueglpc4h2g.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/crash — the likely hero/LCP image (zeq02cqwgb2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/cricket — the likely hero/LCP image (non002sjwcj.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/european-roulette-pro — the likely hero/LCP image (4oo41tbxhla2.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
- https://99ymm.org/slots — the likely hero/LCP image (cx4lbnnvnqn.jpg) has no fetchpriority="high" — adding it tells the browser to fetch the hero earlier in the waterfall, reducing Largest Contentful Paint. This is a low-severity nudge; verify the flagged image is actually your LCP element.
notice Images without width/height (layout shift / CLS)
Rule images.missing_dimensions · Images · 12 occurrence(s)
- https://99ymm.org/ — 14 of 14 images without width/height
- https://99ymm.org/99ymm-casino — 6 of 6 images without width/height
- https://99ymm.org/99ymm-login — 6 of 6 images without width/height
- https://99ymm.org/about-us — 2 of 2 images without width/height
- https://99ymm.org/crash — 6 of 6 images without width/height
- https://99ymm.org/cricket — 6 of 6 images without width/height
- https://99ymm.org/european-roulette-pro — 6 of 6 images without width/height
- https://99ymm.org/faq — 2 of 2 images without width/height
- https://99ymm.org/privacy-policy — 2 of 2 images without width/height
- https://99ymm.org/responsible-gaming — 2 of 2 images without width/height
- https://99ymm.org/slots — 6 of 6 images without width/height
- https://99ymm.org/terms-conditions — 2 of 2 images without width/height
notice Meta description too long
Rule meta_desc.too_long · Meta Description · 1 occurrence(s)
- https://99ymm.org/european-roulette-pro — 163 chars
notice Missing Open Graph tags
Rule og.missing · Social · 9 occurrence(s)
- https://99ymm.org/99ymm-casino — og:image
- https://99ymm.org/99ymm-login — og:image
- https://99ymm.org/about-us — og:image
- https://99ymm.org/cricket — og:image
- https://99ymm.org/faq — og:image
- https://99ymm.org/privacy-policy — og:image
- https://99ymm.org/responsible-gaming — og:image
- https://99ymm.org/slots — og:image
- https://99ymm.org/terms-conditions — og:image
notice Legacy image format (jpg/png/gif) with no next-gen fallback
Rule perf.images_legacy_format · Performance · 12 occurrence(s)
- https://99ymm.org/ — 14 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://99ymm.org/99ymm-casino — 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.
- https://99ymm.org/99ymm-login — 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.
- https://99ymm.org/about-us — 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.
- https://99ymm.org/crash — 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.
- https://99ymm.org/cricket — 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.
- https://99ymm.org/european-roulette-pro — 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.
- https://99ymm.org/faq — 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.
- https://99ymm.org/privacy-policy — 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.
- https://99ymm.org/responsible-gaming — 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.
- https://99ymm.org/slots — 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.
- https://99ymm.org/terms-conditions — 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.
notice No ETag header (no conditional GET for unchanged pages)
Rule perf.no_etag · Performance · 12 occurrence(s)
- https://99ymm.org/ — 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://99ymm.org/99ymm-casino — 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://99ymm.org/99ymm-login — 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://99ymm.org/about-us — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
- https://99ymm.org/crash — 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://99ymm.org/cricket — 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://99ymm.org/european-roulette-pro — 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://99ymm.org/faq — 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://99ymm.org/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://99ymm.org/responsible-gaming — 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://99ymm.org/slots — 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://99ymm.org/terms-conditions — 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 FAQPage structured data (rich result removed May 2026)
Rule schema.faq_deprecated · Structured Data · 1 occurrence(s)
- https://99ymm.org/faq — FAQPage structured data is present — Google removed FAQ rich results on 7 May 2026 (except for authoritative government/health sites). The markup is harmless but earns no SERP enhancement; remove it during template maintenance.
notice No structured data detected
Rule schema.none · Structured Data · 1 occurrence(s)
notice Missing recommended security headers
Rule security.missing_headers · Security · 12 occurrence(s)
- https://99ymm.org/ — CSP, X-Content-Type-Options
- https://99ymm.org/99ymm-casino — CSP, X-Content-Type-Options
- https://99ymm.org/99ymm-login — CSP, X-Content-Type-Options
- https://99ymm.org/about-us — CSP, X-Content-Type-Options
- https://99ymm.org/crash — CSP, X-Content-Type-Options
- https://99ymm.org/cricket — CSP, X-Content-Type-Options
- https://99ymm.org/european-roulette-pro — CSP, X-Content-Type-Options
- https://99ymm.org/faq — CSP, X-Content-Type-Options
- https://99ymm.org/privacy-policy — CSP, X-Content-Type-Options
- https://99ymm.org/responsible-gaming — CSP, X-Content-Type-Options
- https://99ymm.org/slots — CSP, X-Content-Type-Options
- https://99ymm.org/terms-conditions — CSP, X-Content-Type-Options
notice Title tag is identical to the H1 (missed keyword variation)
Rule title.same_as_h1 · Titles · 2 occurrence(s)
- https://99ymm.org/cricket — the <title> and the H1 are identical — differentiate them to cover more query variation
- https://99ymm.org/slots — the <title> and the H1 are identical — differentiate them to cover more query variation
| URL | Status | Indexable | Words | In-links |
|---|---|---|---|---|
| https://99ymm.org/ 99ymm - বাংলাদেশি স্লটস ও মোবাইল গাইড |
200 | yes | 1478 | 12 |
| https://99ymm.org/99ymm-casino 99ymm Casino — বাংলাদেশের সেরা অনলাইন ক্যাসিনো প্ল্যাটফর্ম |
200 | yes | 1293 | 12 |
| https://99ymm.org/99ymm-login 99ymm Login — সহজে লগইন করুন এবং খেলা শুরু করুন |
200 | yes | 964 | 12 |
| https://99ymm.org/about-us আমাদের সম্পর্কে — 99ymm বাংলাদেশের সেরা গেমিং প্ল্যাটফর্ম |
200 | yes | 1149 | 12 |
| https://99ymm.org/crash 99ymm ক্র্যাশ গেম — বাংলাদেশের সেরা অনলাইন ক্র্যাশ গেমিং প্ল্যাটফর্ম |
200 | yes | 1144 | 12 |
| https://99ymm.org/cricket 99ymm ক্রিকেট বেটিং — বাংলাদেশের সেরা অনলাইন ক্রিকেট গেমিং প্ল্যাটফর্ম |
200 | yes | 1147 | 12 |
| https://99ymm.org/european-roulette-pro 99ymm ইউরোপিয়ান রুলেট প্রো — বাংলাদেশের সেরা অনলাইন রুলেট গেমিং অভিজ্ঞতা |
200 | yes | 1467 | 12 |
| https://99ymm.org/faq FAQ — 99ymm সম্পর্কে সাধারণ জিজ্ঞাসা ও উত্তর |
200 | yes | 1178 | 12 |
| https://99ymm.org/privacy-policy গোপনীয়তা নীতি — 99ymm আপনার তথ্য সুরক্ষার প্রতিশ্রুতি |
200 | yes | 1683 | 12 |
| https://99ymm.org/responsible-gaming দায়িত্বশীল খেলা — 99ymm নিরাপদ গেমিং নির্দেশিকা |
200 | yes | 1334 | 12 |
| https://99ymm.org/slots 99ymm স্লটস — বাংলাদেশের সেরা অনলাইন স্লট গেম প্ল্যাটফর্ম |
200 | yes | 1166 | 12 |
| https://99ymm.org/terms-conditions নিয়ম ও শর্তাবলী — 99ymm অফিসিয়াল ব্যবহারের শর্ত |
200 | yes | 1742 | 12 |
| https://99ymm.org/sitemap.xml | 200 | no | 0 | 12 |
Audit your own site — free
157 checks, internal PageRank, render-diff. No signup, results in ~30s.