Audit Result

UUID: 01a0aa3e-ef20-7365-ae9f-b48c71391d93

signalsummary.ir

https://signalsummary.ir/

Scanned 1 month ago

76
Fair Score
39 total checks
Passed
23
Warnings
13
Errors
3

Meta Information

  • Title Tag Pass

    Found 52 characters. Length is optimal.

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

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

  • Canonical found: https://signalsummary.ir/

  • Favicon Pass

    Favicon found and reachable: data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%234f6df5'/%3E%3Cstop offset='1' stop-color='%23a855f7'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='64' height='64' rx='14' fill='white'/%3E%3Crect x='9' y='34' width='7' height='18' rx='2' fill='url(%23g)'/%3E%3Crect x='20' y='24' width='7' height='28' rx='2' fill='url(%23g)'/%3E%3Crect x='31' y='14' width='7' height='38' rx='2' fill='url(%23g)'/%3E%3Crect x='42' y='28' width='7' height='24' rx='2' fill='url(%23g)'/%3E%3Crect x='53' y='20' width='2' height='0' fill='none'/%3E%3C/svg%3E (HTTP 200).

  • 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.

  • 2 of 3 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.

  • 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.

    Full HTTP headers (16)
    • • access-control-allow-origin: *
    • • alt-svc: h3=":443"; ma=86400
    • • cache-control: public, max-age=0, must-revalidate
    • • cf-cache-status: DYNAMIC
    • • cf-ray: a3bff5dedafcb76a-IAD
    • • content-encoding: br
    • • content-type: text/html; charset=utf-8
    • • date: Wed, 16 Sep 2026 12:44:04 GMT
    • • link: <https://fonts.googleapis.com>; rel="preconnect"
    • • nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
    • • referrer-policy: strict-origin-when-cross-origin
    • • report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ToFdXFi9T2BL%2B4hanIsvrybkalXja4DZbc3WWg6q407T7XH1oIO1A8OXpfg4fj%2BSD8ja8DvnzST%2BBZSTaeb8fo6rOHowGyTcJnhzHmPIUDBRpq5GSelG6AdXVfPwmu%2F5mpIZ8ri5yi2uBdkd6y%2BM"}]}
    • • server: cloudflare
    • • server-timing: cfCacheStatus;desc="DYNAMIC" cfEdge;dur=16,cfOrigin;dur=72
    • • vary: accept-encoding
    • • x-content-type-options: nosniff

    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: a3bff5dedafcb76a-IAD
  • Loaded in 0.39s (perceived).

  • 0 scripts and 1 styles may block rendering.

    • • style: https://fonts.googleapis.com/css2?family=Fraunces:opsz,[email protected],500;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&family=Vazirmatn:wght@400;500;600;700&display=swap

    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://signalsummary.ir/sitemap.xml.

  • No robots meta tag defined.

    Fix: Add <meta name="robots" content="index,follow"> (or the intended directive) in <head>.

Accessibility Basics

  • Form Labels Error

    10 of 10 controls are missing labels.

    • • input[type="tel"]#authPhone (authPhone)
    • • input[type="text"].otp-box
    • • input[type="text"].otp-box
    • • input[type="text"].otp-box
    • • input[type="text"].otp-box
    • • input[type="text"].otp-box
    • • select#audioLangSelect.lang-select (audioLangSelect)
    • • select#translateLangSelect.lang-select.lang-select-compact (translateLangSelect)
    • • select#summaryLangSelect.lang-select.lang-select-compact (summaryLangSelect)
    • • input[type="file"]#uploadFileInput.hidden (uploadFileInput)

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

  • Landmarks Warning

    Missing landmarks: header, main.

    Fix: Use semantic regions (<header>, <nav>, <main>, <footer>) for navigation and assistive tech.

  • Tap Target Size Warning

    24 interactive elements appear smaller than 48px.

    • • button#authClose.auth-modal-close (✕) - 27x24px
    • • button#authSendCodeBtn.auth-submit (ارسال کد) - 312x40px
    • • button#menuClose.menu-close (✕) - 32x32px
    • • button#menuSigninBtn.btn-signin (ورود) - 117x33px
    • • button#menuSignupBtn.btn-signup (ثبت‌نام) - 135x33px
    • • a.news-btn (AI news) - 38x38px
    • • button#navSigninBtn.btn-signin (ورود) - 31x28px
    • • button#navSignupBtn.btn-signup (ثبت‌نام) - 57x28px
    • • button#menuOpen.hamburger (Open menu) - 38x38px
    • • button#siteLangToggle.lang-toggle (Change site language) - 44x31px
    • • button#themeToggle.theme-toggle (Toggle dark mode) - 38x38px
    • • a#langHistoryBtn.lang-history-btn (History) - 30x30px
    • • button#recordBtn.upload-btn (● شروع ضبط) - 136x42px
    • • button#resetBtn.results-copy (پاک کردن) - 70x25px
    • • button#copyBtn.results-copy (کپی) - 40x25px
    • • button.price-cta.current (پلن فعلی شما) - 474x39px
    • • button.price-cta (هنگامی که آماده شد به من اطلاع دهید) - 474x39px
    • • a.nav-tab-link (ضبط صدا) - 59x20px
    • • a.nav-tab-link (آپلود فایل) - 59x20px
    • • a (قیمت‌گذاری) - 59x20px
    • • a (درباره‌ی ما) - 74x20px
    • • a (تماس با ما) - 74x20px
    • • a (حریم خصوصی) - 74x20px
    • • a (شرایط استفاده) - 69x18px

    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 missing.

    Fix: Add <meta property="og:image" content="https://..."> with a high-quality share image.

  • twitter:card set to summary.

  • 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: Use an absolute URL for og:image or twitter:image.
    • • ISSUE: twitter:card should be summary_large_image for richer previews.
    • • 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.

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

Links Analysis

  • Checked 1 links. No broken internal links found.

  • No broken external links found in checked URLs.

  • Link Format Warning

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

    • • href="(empty)" text="ایجاد حساب کاربری"
    • • href="(empty)" text="ورود"
    • • href="(empty)" text="تغییر شماره"
    • • href="(empty)" text="ارسال دوباره‌ی کد"
    • • href="#" text="خانه"

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

Performance & Runtime