Audit Result

UUID: 01a096ae-9688-71c7-b0ff-38cabcbb997e

blog.mhkarami97.ir

https://blog.mhkarami97.ir/

Scanned 1 month ago

87
Excellent Score
39 total checks
Passed
29
Warnings
10
Errors
0

Meta Information

  • Title Tag Warning

    Found 5 characters. Keep title between 30 and 60 characters.

    Fix: Add a unique <title> tag describing the main page intent in 30-60 characters.

  • Found 9 characters. Keep description around 70-160 characters.

    Fix: Add <meta name="description" content="..."> in <head> with a clear page summary.

  • Canonical found: https://blog.mhkarami97.ir/

  • Favicon Pass

    Favicon found and reachable: /assets/img/favicons/favicon-96x96.png (HTTP 200).

    Favicon
  • Viewport configured: width=device-width, user-scalable=no initial-scale=1, shrink-to-fit=no, viewport-fit=cover

  • HTML Lang Pass

    Language declared as "fa-IR".

Content Structure

  • H1 Tag Warning

    Found 10 H1 tags.

    Fix: Use a single, descriptive <h1> that states the primary purpose of the page.

  • Valid heading flow across 13 headings.

  • All 1 images include alt text.

Technical Optimization

  • HTTPS Pass

    Page is served over HTTPS.

  • 2 HTTPS hardening issues detected.

    • • Missing Strict-Transport-Security header.
    • • Could not probe the HTTP version of this page.

    Fix: Set Strict-Transport-Security with a long max-age, add includeSubDomains, and redirect all HTTP requests to HTTPS.

  • Missing: strict-transport-security, content-security-policy, x-frame-options, x-content-type-options, referrer-policy.

    Full HTTP headers (26)
    • • access-control-allow-origin: *
    • • age: 0
    • • alt-svc: h3=":443"; ma=86400
    • • cache-control: max-age=600
    • • cf-cache-status: DYNAMIC
    • • cf-ray: a3a0a880ab29adb7-IAD
    • • content-encoding: zstd
    • • content-type: text/html; charset=utf-8
    • • date: Sat, 12 Sep 2026 17:33:36 GMT
    • • expires: Sat, 12 Sep 2026 17:43:36 GMT
    • • last-modified: Sat, 12 Sep 2026 11:40:11 GMT
    • • nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
    • • report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=l%2Fq9a3RJP0BKVt1SOVVMZ2I9LI%2F6nWw8EMa7UKq5ZBRyp9h85SzUE7aSiBb6OychhToKilrUKkWeJvjUdWSbSYNLZBrh2PgJaFktHs4DKpgk7WBp72wVLjEpZE6w%2B%2FkPwxjxF0g4K5oALvU6Bz2JMYg%3D"}]}
    • • server: cloudflare
    • • server-timing: cfCacheStatus;desc="DYNAMIC" cfEdge;dur=8,cfOrigin;dur=42
    • • speculation-rules: "/cdn-cgi/speculation"
    • • vary: Accept-Encoding
    • • via: 1.1 varnish
    • • x-cache: MISS
    • • x-cache-hits: 0
    • • x-fastly-request-id: 31192cdcf1cba1abb193806a8da08399c7f1e466
    • • x-github-edge-region: iad
    • • x-github-request-id: 91F2:2B2DE3:190A7B7:1BBF40B:6AA58CF0
    • • x-proxy-cache: MISS
    • • x-served-by: cache-iad-kiad7000129-IAD
    • • x-timer: S1789234417.757383,VS0,VE37

    Fix: Add the missing security headers at your reverse proxy or application layer.

  • CSP Quality Warning

    Content-Security-Policy header is missing.

    • • Missing Content-Security-Policy header.

    Fix: Define a restrictive Content-Security-Policy and avoid unsafe directives such as unsafe-inline and unsafe-eval.

  • No first-party cookies were set during the initial page load.

  • Server response headers do not expose version tokens.

  • Domain appears to be behind Cloudflare.

    • • server: cloudflare
    • • cf-cache-status: DYNAMIC
    • • cf-ray: a3a0a880ab29adb7-IAD
  • Loaded in 0.60s (perceived).

  • 1 scripts and 7 styles may block rendering.

    • • script: https://blog.mhkarami97.ir/assets/js/dist/theme.min.js
    • • style: https://blog.mhkarami97.ir/assets/css/bootstrap.rtl.min.css
    • • style: https://blog.mhkarami97.ir/assets/css/jekyll-theme-chirpy.css
    • • style: https://blog.mhkarami97.ir/assets/fonts/Vazirmatn-font-face.css
    • • style: https://blog.mhkarami97.ir/assets/css/custom.css
    • • style: https://blog.mhkarami97.ir/assets/lib/fonts/main.css
    • • style: https://blog.mhkarami97.ir/assets/lib/fontawesome-free/css/all.min.css
    • • style: https://blog.mhkarami97.ir/assets/lib/loading-attribute-polyfill/loading-attribute-polyfill.min.css

    Fix: Defer non-critical scripts and inline critical CSS to improve first paint speed.

  • Text-like assets appear compressed.

  • Robots.txt Pass

    Found robots.txt (200).

  • Found sitemap (200) at https://blog.mhkarami97.ir/sitemap.xml.

  • Robots meta found: max-image-preview:large, max-snippet:-1, max-video-preview:-1

Accessibility Basics

  • All 1 controls are labeled.

  • Landmarks Pass

    Header, nav, main, and footer landmarks are present.

  • Tap Target Size Warning

    25 interactive elements appear smaller than 48px.

    • • a.site-title.d-block (وبلاگ) - 64x34px
    • • a.nav-link (خانه) - 212x41px
    • • a.nav-link (دسته‌بندی‌ها) - 212x41px
    • • a.nav-link (برچسب‌ها) - 212x41px
    • • a.nav-link (آرشیو) - 212x41px
    • • a.nav-link (درباره) - 212x41px
    • • button#mode-toggle.btn.btn-link (Switch Mode) - 28x28px
    • • a (github) - 28x28px
    • • a (twitter) - 28x28px
    • • a (email) - 28x28px
    • • a (rss) - 28x28px
    • • a.page-link (previous-page) - 39x28px
    • • a.page-link (1) - 28x28px
    • • a.page-link (2) - 28x28px
    • • a.page-link (3) - 28x28px
    • • a.page-link (21) - 37x28px
    • • a.page-link (next-page) - 39x28px
    • • a.post-tag.btn (net) - 37x28px
    • • a.post-tag.btn (sql) - 36x28px
    • • a.post-tag.btn (sql_server) - 80x28px
    • • a.post-tag.btn (windows) - 72x28px
    • • a.post-tag.btn (git) - 33x28px
    • • a.post-tag.btn (linux) - 47x28px
    • • a.post-tag.btn (log) - 37x28px
    • • a.post-tag.btn (trick) - 44x28px

    Fix: Increase target size to at least 48x48 CSS pixels for touch interactions.

Social & Rich Results

  • Core Open Graph tags are present.

  • og:image is present and absolute.

    Open Graph Image
  • twitter:card set to summary_large_image.

  • JSON-LD schema detected.

  • Manifest and Apple touch icon are configured.

  • 4 social preview quality issues detected.

    • • ISSUE: og:title should typically be between 10 and 70 characters.
    • • ISSUE: og:description should typically be between 50 and 200 characters.
    • • ISSUE: Preview image is below recommended size (1200x630).
    • • ISSUE: Preview image aspect ratio (1.00) differs from the recommended ~1.91:1.
    • • GUIDELINE: Optimal og:title length: 40-60 characters (acceptable: 10-70).
    • • GUIDELINE: Optimal og:description length: 110-160 characters (acceptable: 50-200).
    • • GUIDELINE: Optimal preview image size: 1200x630 pixels.
    • • GUIDELINE: Optimal preview image aspect ratio: 1.91:1.
    • • GUIDELINE: Optimal preview image file size: under 5 MB.
    • • GUIDELINE: Recommended twitter:card: summary_large_image.
    • • MEASURED: Image size: 0.31 MB
    • • MEASURED: Image dimensions: 512x512

    Fix: Use absolute OG/Twitter URLs, keep metadata lengths in recommended ranges, and provide a preview image near 1200x630 under 5MB.

Links Analysis

  • Checked 33 links. No broken internal links found.

  • No broken external links found in checked URLs.

  • Link Format Warning

    2 links are empty, invalid, or placeholder-only.

    • • href="javascript:void(location.href = 'mailto:' + ['mhkarami97','gmail.com'].join('@'))"
    • • href="#"

    Fix: Replace empty/#/javascript href values with real destinations or use buttons for non-navigation actions.

Performance & Runtime