Audit Result

UUID: 01a09a1e-4a19-721d-93ea-446b9d33c2d4

farshestan.co

https://farshestan.co/

Scanned 1 month ago

73
Fair Score
39 total checks
Passed
22
Warnings
13
Errors
4

Meta Information

  • Title Tag Pass

    Found 46 characters. Length is optimal.

  • Found 140 characters. Good snippet length.

  • Canonical found: https://farshestan.co

  • Favicon Pass

    Favicon found and reachable: https://farshestan.co/storage/thumbs/logo/c5cf4e1ff5dc81cd63193e9c0f589b48c154f70c.webp (HTTP 200).

    Favicon
  • Viewport configured: width=device-width, initial-scale=1.0

  • HTML Lang Pass

    Language declared as "fa".

Content Structure

  • H1 Tag Error

    No H1 heading found.

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

  • Detected 1 heading level jumps.

    • • Skipped from h2 to h4: "انتخاب درست فرش، با مشاوره رایگان" -> "محصولات".

    Fix: Follow semantic order (h1 -> h2 -> h3) and avoid skipping heading levels.

  • 12 of 117 images are missing alt text.

    Fix: Add meaningful alt attributes to all informative images for accessibility and image SEO.

Technical Optimization

  • HTTPS Pass

    Page is served over HTTPS.

  • 1 HTTPS hardening issues detected.

    • • Could not probe the HTTP version of this page.
    • • Strict-Transport-Security: max-age=31536000; includeSubDomains

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

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

    Full HTTP headers (7)
    • • cache-control: max-age=60, public, s-maxage=300
    • • content-encoding: gzip
    • • content-type: text/html; charset=utf-8
    • • date: Sun, 13 Sep 2026 09:34:12 GMT
    • • server: nginx/1.24.0 (Ubuntu)
    • • strict-transport-security: max-age=31536000; includeSubDomains
    • • x-home-cache: HIT

    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.

  • Versioned headers detected: server.

    • • server: nginx/1.24.0 (Ubuntu)

    Fix: Hide or remove version tokens in Server and X-Powered-By headers.

  • Domain does not appear to be behind Cloudflare.

  • Loaded in 1.56s (perceived).

    Fix: Reduce payload size, cache static assets, and remove non-critical JS from initial load.

  • 0 scripts and 4 styles may block rendering.

    • • style: https://farshestan.co/themes/farshestan/assets/main.css
    • • style: https://farshestan.co/site-assets/farshestan/css/chrome.min.css?v=da0885108b38
    • • style: https://farshestan.co/site-assets/farshestan/css/home.min.css?v=da0885108b38
    • • style: https://farshestan.co/css/cms-embed.css

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

  • Compression Warning

    9 text resources look uncompressed.

    • • https://farshestan.co/themes/farshestan/assets/main.css (text/css)
    • • https://farshestan.co/site-assets/farshestan/css/chrome.min.css?v=da0885108b38 (text/css)
    • • https://farshestan.co/site-assets/farshestan/css/home.min.css?v=da0885108b38 (text/css)
    • • https://farshestan.co/css/cms-embed.css (text/css)
    • • https://farshestan.co/themes/farshestan/assets/main.js (application/javascript; charset=utf-8)
    • • https://farshestan.co/themes/farshestan/assets/index.js (application/javascript; charset=utf-8)
    • • https://farshestan.co/site-assets/farshestan/js/chrome.min.js?v=da0885108b38 (application/javascript; charset=utf-8)
    • • https://farshestan.co/site-assets/farshestan/js/home.min.js?v=da0885108b38 (application/javascript; charset=utf-8)
    • • https://farshestan.co/js/cms-embed.js (application/javascript; charset=utf-8)

    Fix: Enable Brotli or Gzip compression for HTML, CSS, JS, and JSON responses.

  • Robots.txt Pass

    Found robots.txt (200).

  • Found sitemap (200) at https://farshestan.co/sitemap.xml.

  • Robots meta found: index,follow

Accessibility Basics

  • Form Labels Error

    2 of 2 controls are missing labels.

    • • input[type="text"]#searchInput (q)
    • • input[type="search"]#searchInput2 (q)

    Fix: Associate each form control with a visible label, aria-label, or aria-labelledby.

  • Landmarks Pass

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

  • Tap Target Size Warning

    25 interactive elements appear smaller than 48px.

    • • button#sitePromoClose.site-promo-bar__close (بستن) - 24x24px
    • • a (09135836090) - 74x20px
    • • a.site-header__brand.shrink-0 - 82x35px
    • • a (محصولات) - 65x24px
    • • button#searchToggle.site-header__icon-btn (جستجو) - 40x40px
    • • button#siteMiniCartToggle.site-header__icon-btn.relative (سبد خرید) - 40x40px
    • • a.site-header__icon-btn (پنل کاربری) - 40x40px
    • • button#contactDropdownToggle.flex.items-center (راه‌های ارتباطی) - 20x20px
    • • button.compare-tray__clear.js-compare-clear (پاک کردن) - 56x40px
    • • a#compareTrayCta.compare-tray__cta.is-disabled (مقایسه 0) - 95x40px
    • • button.home-section__tab.category-btn2 (پرفروش‌ترین‌ها) - 112x46px
    • • button.home-section__tab.category-btn2 (جدیدترین‌ها) - 101x46px
    • • button.home-section__tab.category-btn2 (اقتصادی‌ترین‌ها) - 112x46px
    • • button.home-section__tab.category-btn2 (انتخاب فرشستان) - 117x46px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش نقش جهان ۱۲۰۰ شانه تراکم ۳۶۰۰ کف ساده به مقایسه) - 32x32px
    • • button.product-card-action-btn.product-card-favorite-btn (افزودن به علاقه‌مندی‌ها) - 32x32px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش کد ۳۰۸۵ ۱۲۰۰شانه تراکم ۳۶۰۰ گل برجسته به مقایسه) - 32x32px
    • • button.product-card-action-btn.product-card-favorite-btn (افزودن به علاقه‌مندی‌ها) - 32x32px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش کد ۶۰۰۸ ۱۲۰۰ شانه تراکم ۳۶۰۰ کف ساده به مقایسه) - 32x32px
    • • button.product-card-action-btn.product-card-favorite-btn (افزودن به علاقه‌مندی‌ها) - 32x32px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش ژیوا ۷۰۰ شانه تراکم ۲۵۵۰ کف ساده به مقایسه) - 32x32px
    • • button.product-card-action-btn.product-card-favorite-btn (افزودن به علاقه‌مندی‌ها) - 32x32px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش سلطان آباد ۱۲۰۰ شانه تراکم ۳۶۰۰ گل برجسته به مقایسه) - 32x32px
    • • button.product-card-action-btn.product-card-favorite-btn (افزودن به علاقه‌مندی‌ها) - 32x32px
    • • button.product-card-action-btn.product-card-compare-btn (افزودن فرش بهشت ۱۲۰۰ شانه تراکم ۳۶۰۰ گل برجسته به مقایسه) - 32x32px

    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.

  • PWA Metadata Warning

    Manifest or Apple touch icon is missing.

    Fix: Link your web app manifest and apple-touch-icon for improved install/share experiences.

  • 2 social preview quality issues detected.

    • • ISSUE: Preview image is below recommended size (1200x630).
    • • ISSUE: Preview image aspect ratio (2.37) 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.02 MB
    • • MEASURED: Image dimensions: 531x224

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

Links Analysis

  • 25 internal links returned errors.

    • • https://farshestan.co/product?color=%23C0C0C0 (HTTP 429)
    • • https://farshestan.co/product?color=%23DC7D57 (HTTP 429)
    • • https://farshestan.co/product?color=%23B3473A (HTTP 429)
    • • https://farshestan.co/product?color=f5e6d3 (HTTP 429)
    • • https://farshestan.co/product?color=d97a3e (HTTP 429)
    • • https://farshestan.co/product?color=5f7a5b (HTTP 429)
    • • https://farshestan.co/product?color=4a6b7a (HTTP 429)
    • • https://farshestan.co/product?color=ddc7b1 (HTTP 429)
    • • https://farshestan.co/product?color=8b3a3a (HTTP 429)
    • • https://farshestan.co/product?color=6b4b3e (HTTP 429)
    • • https://farshestan.co/product?color=e3b5b5 (HTTP 429)
    • • https://farshestan.co/product?color=9d9b93 (HTTP 429)
    • • https://farshestan.co/product?color=7c7c7a (HTTP 429)
    • • https://farshestan.co/product?color=2d4f6e (HTTP 429)
    • • https://farshestan.co/product?color=deb06f (HTTP 429)
    • • https://farshestan.co/product?color=d3cbb8 (HTTP 429)
    • • https://farshestan.co/product?color=b58c6d (HTTP 429)
    • • https://farshestan.co/product?color=3d3d3b (HTTP 429)
    • • https://farshestan.co/product?color=8dadb5 (HTTP 429)
    • • https://farshestan.co/product?color=a9a9a9 (HTTP 429)
    • • https://farshestan.co/product?color=fdf5e6 (HTTP 429)
    • • https://farshestan.co/product?color=deb531 (HTTP 429)
    • • https://farshestan.co/product?color=3fe0d0 (HTTP 429)
    • • https://farshestan.co/product?color=eee8aa (HTTP 429)
    • • https://farshestan.co/product?color=a47864 (HTTP 429)

    Fix: Fix or remove the listed internal URLs, and ensure routes/pages return 200 responses.

  • No broken external links found in checked URLs.

  • All 238 links use non-empty href values.

Performance & Runtime

  • Largest Contentful Paint: 1.62s.

  • Cumulative Layout Shift: 0.012.

  • Total Blocking Time estimate: 42ms.

  • No failed CSS/JS/image/font/media requests detected.

  • 1 JavaScript runtime issues detected.

    • • Failed to load module script: Expected a JavaScript-or-Wasm module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec. [https://farshestan.co/site-assets/farshestan/js/home-sliders.min.mjs?v=da0885108b38:1]

    Fix: Fix JS files returning 404/failed requests and resolve the listed runtime exceptions.