HTTP 20039 ms response8.3 KB142 words3 images0 links
75/100
Needs Improvement
Executive Summary
This audit evaluated 29 signals across on-page SEO, technical SEO, performance, security, mobile rendering, structured data and E-E-A-T trust signals.
29
Total checks
14
Passed
1
Critical
14
Warnings
Category Scores
Technical SEO
72/100
NEEDS WORK
On-Page SEO
68/100
NEEDS WORK
Content
92/100
GOOD
Performance
92/100
GOOD
Security
60/100
NEEDS WORK
Mobile & UX
100/100
GOOD
E-E-A-T
90/100
GOOD
Structured Data
25/100
POOR
PageSpeed Insights (lab)
Mobile
28
Perf
90
A11y
0
BP
92
SEO
LCP
28.9 s
CLS
0
TBT
1,730 ms
FCP
22.0 s
Desktop
28
Perf
90
A11y
0
BP
92
SEO
LCP
5.6 s
CLS
0
TBT
1,320 ms
FCP
4.2 s
Issues & Findings
Every issue includes the problem, why it matters, and a concrete fix.
On-Page SEO (4 issues)
WARNINGTitle too short (18 chars)⏱ 10 min
ProblemThe <title> tag is shorter than 30 characters.
Why it mattersShort titles waste SERP real estate, give Google less context to match queries against, and look thin next to competitors.
How to fixExpand the title to 30–60 characters. Add a secondary keyword, a benefit, or the brand name — without keyword stuffing.
WARNING2 image(s) missing alt text ×2
Alt text improves accessibility and image SEO.
WARNINGMissing Open Graph tags⏱ 20 min
ProblemNo Open Graph meta tags (og:title, og:description, og:image) in the page <head>.
Why it mattersWithout OG tags, links shared to Facebook, LinkedIn, Slack, Discord, and most chat apps render as bare URLs with no preview card. That destroys social click-through.
How to fixAdd og:title, og:description, og:image (1200×630 PNG/JPG), og:url, og:type to every shareable page.
WARNINGMissing Twitter card tags⏱ 10 min
ProblemNo Twitter Card meta tags (twitter:card, twitter:title, twitter:image).
Why it mattersWithout these, links shared on X render as bare URLs. Twitter falls back to OG tags for some fields but not all.
How to fixAdd twitter:card="summary_large_image", twitter:title, twitter:description, twitter:image. You can reuse the OG image if it is 1200×630.
Content (1 issue)
WARNINGThin content (~142 words)⏱ 2 hrs
ProblemPage has fewer than 300 words of body copy.
Why it mattersPages thin on content rarely rank for competitive queries — Google interprets thinness as low value, especially for commercial intent.
How to fixExpand to 600+ words for informational pages, 300+ for transactional/product pages. Cover the primary question plus 2–3 closely related sub-questions.
Technical SEO (2 issues)
WARNINGMissing canonical tag⏱ 15 min
ProblemNo <link rel="canonical"> in the page <head>.
Why it mattersAny URL variant (UTM parameters, trailing slash, www vs apex, http vs https) can be treated by Google as a separate page, splitting link equity and risking duplicate-content demotion.
How to fixAdd <link rel="canonical" href="…"> pointing at the preferred absolute URL of this page. For paginated/filtered pages, point at the canonical (unfiltered) version.
CRITICALrobots.txt blocks entire site (Disallow: /)⏱ 5 min
Problemrobots.txt contains `User-agent: * / Disallow: /` — blocking every crawler from every URL.
Why it mattersCatastrophic for SEO. The entire site is invisible to Google, Bing, ChatGPT, Claude, and every other crawler. Often a leftover from staging.
How to fixChange `Disallow: /` to `Disallow:` (empty) to allow everything, or list specific paths to disallow. Then request re-indexing in Search Console.
Performance (1 issue)
WARNINGResponse compression not detected⏱ 20 min
ProblemNo Content-Encoding header (gzip, br, deflate) on the page response.
Why it mattersWithout compression, HTML/CSS/JS payloads are 3–5× larger than needed — slower TTFB, slower LCP, and wasted bandwidth.
How to fixEnable gzip and/or brotli at the web server level (nginx: `gzip on;` + `brotli on;`; Apache: mod_deflate / mod_brotli; Cloudflare: enabled by default).
Security (5 issues)
WARNINGMissing X-Frame-Options header⏱ 30 min
ProblemA security or SEO header is missing from the page response.
Why it mattersModern browsers and crawlers expect security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Missing them weakens defense-in-depth, sometimes blocks rich integrations, and signals to crawlers that the site isn't maintained.
How to fixAdd the named header in your web server config (nginx `add_header`, Apache `Header set`) or application middleware. Start with: `Strict-Transport-Security: max-age=31536000; includeSubDomains`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`.
WARNINGMissing Strict-Transport-Security header⏱ 30 min
ProblemA security or SEO header is missing from the page response.
Why it mattersModern browsers and crawlers expect security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Missing them weakens defense-in-depth, sometimes blocks rich integrations, and signals to crawlers that the site isn't maintained.
How to fixAdd the named header in your web server config (nginx `add_header`, Apache `Header set`) or application middleware. Start with: `Strict-Transport-Security: max-age=31536000; includeSubDomains`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`.
WARNINGMissing X-Content-Type-Options header⏱ 30 min
ProblemA security or SEO header is missing from the page response.
Why it mattersModern browsers and crawlers expect security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Missing them weakens defense-in-depth, sometimes blocks rich integrations, and signals to crawlers that the site isn't maintained.
How to fixAdd the named header in your web server config (nginx `add_header`, Apache `Header set`) or application middleware. Start with: `Strict-Transport-Security: max-age=31536000; includeSubDomains`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`.
WARNINGMissing Content-Security-Policy header⏱ 30 min
ProblemA security or SEO header is missing from the page response.
Why it mattersModern browsers and crawlers expect security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Missing them weakens defense-in-depth, sometimes blocks rich integrations, and signals to crawlers that the site isn't maintained.
How to fixAdd the named header in your web server config (nginx `add_header`, Apache `Header set`) or application middleware. Start with: `Strict-Transport-Security: max-age=31536000; includeSubDomains`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`.
WARNINGMissing Referrer-Policy header⏱ 30 min
ProblemA security or SEO header is missing from the page response.
Why it mattersModern browsers and crawlers expect security headers (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy). Missing them weakens defense-in-depth, sometimes blocks rich integrations, and signals to crawlers that the site isn't maintained.
How to fixAdd the named header in your web server config (nginx `add_header`, Apache `Header set`) or application middleware. Start with: `Strict-Transport-Security: max-age=31536000; includeSubDomains`, `X-Content-Type-Options: nosniff`, `Referrer-Policy: strict-origin-when-cross-origin`.
Structured Data (1 issue)
WARNINGNo structured data (JSON-LD) found
Add Schema.org JSON-LD markup to enable rich results in Google.
E-E-A-T (1 issue)
WARNINGNo social media links detected⏱ 20 min
ProblemNo links to social media profiles (LinkedIn, X, Facebook, Instagram, YouTube, GitHub, etc.) found on the page.
Why it mattersSocial profiles are entity signals — they let Google connect your site to a verifiable real-world organisation. Crucial for E-E-A-T and for AI answer engines that build entity graphs.
How to fixAdd the relevant social profile links (at minimum LinkedIn + one other) to the footer. Also add them as `sameAs` entries in your Organization JSON-LD.