SEO Audit
81
Overall score

https://www.anayshaaesthetics.com/blog/

Audit #49 · started 6 months ago · 35.37 s · triggered by site_audit
✓ 39 pass ! 20 warn ✗ 6 fail · 73 total checks
meta
73
headings
74
schema
100
technical
94
sitemap
100
ssl security
80
page speed
93
links
75
images
45
content
67
mobile
100
hreflang
100
geo
28
spam security
—
domain security
—
⚠️
26 issues need attention
Open the for prioritised, copy-paste-ready fixes with location and AI-personalised suggestions.

Fix progress

0 of 26 issues fixed · Est. time left: 14h 0m
0%
Severity: | Showing / 26 | PDF CSV
High meta Fail priority 78/100 −100 pts Trivial · ~5m

Meta description present

No meta description found.

Location in HTML
Line 5 · html > head
     4  
>    5  <head>
     6  
Generic best practice

Add a meta description (120-160 characters) summarising the page. It appears under the title in search results and directly affects click-through rate.

Code fix
Before:
<head>
  <!-- no meta description -->
</head>
After:
<head>
  <meta name="description" content="Compelling 120-160 character summary describing what's on this page and why a user should click.">
</head>
AI suggestion (context-aware)
Generating personalised suggestion…
High images Fail priority 73/100 −70 pts Easy · ~15m

Images have dimensions

Only 1/63 images have explicit dimensions.

Location in HTML
Line 94 · html > head > noscript > img
    93  <noscript><img height="1" width="1" style="display:none"
>   94  		src="https://www.facebook.com/tr?id=1233610651352618&ev=PageView&noscript=1" /></noscript>
    95  <!-- End Meta Pixel Code-->
Generic best practice

Set explicit width/height on every <img> to prevent Cumulative Layout Shift. Browser reserves the box before the image loads.

Code fix
Before:
<img src="photo.jpg" alt="...">
After:
<img src="photo.jpg" width="800" height="600" alt="...">
AI suggestion (context-aware)
Generating personalised suggestion…
High images Fail priority 64/100 −70 pts Easy · ~15m

Images have alt text

2 of 63 images missing alt attribute.

Location in HTML
Line 94 · html > head > noscript > img
    93  <noscript><img height="1" width="1" style="display:none"
>   94  		src="https://www.facebook.com/tr?id=1233610651352618&ev=PageView&noscript=1" /></noscript>
    95  <!-- End Meta Pixel Code-->
Generic best practice

Every <img> needs an alt attribute. Alt text helps screen readers, image search ranking, and shows when the image fails to load. Use alt="" only for purely decorative images.

Code fix
Before:
<img src="photo.jpg">
After:
<img src="photo.jpg" alt="Descriptive text describing the image content">
AI suggestion (context-aware)
Generating personalised suggestion…
High geo Fail priority 58/100 −70 pts Medium · ~45m

Content provides clear answers

Weak (3/10).

Generic best practice

Lead each section with a direct, citable answer to the question users would ask. AI engines (ChatGPT, Perplexity) cite the clearest, most specific sentences.

AI suggestion (context-aware)
Generating personalised suggestion…
High geo Fail priority 58/100 −80 pts Medium · ~45m

High factual density

Weak (2/10).

Generic best practice

Add concrete facts — numbers, dates, percentages, named sources. Vague prose doesn't get cited; specific data does.

AI suggestion (context-aware)
Generating personalised suggestion…
High geo Fail priority 58/100 −80 pts Medium · ~45m

Cites authoritative sources

Weak (2/10).

Generic best practice

Cite authoritative external sources (links, references). Pages that cite reputable sources are themselves cited more often.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium meta Warning priority 68/100 −50 pts Trivial · ~5m

Title length

Title is only 24 characters — too short to communicate value.

Location in HTML
Line 9 · html > head > title
     8  
>    9  	<title>ANAYSHA Aesthetics| Blog</title>
    10  
Generic best practice

Title is outside the 30-60 character sweet spot. Google truncates titles longer than ~60 chars in search results, hiding your keywords. Keep the primary keyword near the start.

Code fix
Before:
<title>24 chars</title>
After:
<title>Shortened title — primary keyword first (≤60 chars)</title>
AI suggestion (context-aware)
Generating personalised suggestion…
Medium content Warning priority 62/100 −40 pts Medium · ~45m

E-E-A-T: Trustworthiness

Moderate: Trust signals include complete contact information, business hours, physical address, and proper schema implementation. However, issues like future-dated blog posts (April 2026), generic category tags ('back pain' for cosmetic procedures), and promotional language reduce trustworthiness and suggest potential content quality concerns.

Generic best practice

Add trust signals: clear contact info, privacy policy, terms of service, customer reviews, security badges, real photos of team/location.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium meta Warning priority 59/100 −60 pts Trivial · ~5m

OpenGraph description present

Missing <meta property="og:description">.

Location in HTML
Line 5 · html > head
     4  
>    5  <head>
     6  
Generic best practice

Add og:description so links shared on Facebook/LinkedIn show a preview blurb. Falls back to meta description if missing, but a tailored one converts better.

Code fix
Before:
<head>
  <!-- no og:description -->
</head>
After:
<head>
  <meta property="og:description" content="Punchy social-share blurb, 90-150 chars.">
</head>
AI suggestion (context-aware)
Generating personalised suggestion…
Medium page speed Warning priority 59/100 −50 pts Easy · ~15m

Compression enabled

No gzip/brotli content-encoding header.

Generic best practice

Enable gzip or Brotli compression on your server. Typically cuts text payload by 70-80% — easy LCP win.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium content Warning priority 58/100 −40 pts Hard · ~120m

E-E-A-T: Experience

Moderate: The blog demonstrates practical experience through multiple detailed articles on cosmetic procedures authored by Dr. Shivani Atri Singh. However, the content lacks patient case studies, before/after documentation, or personal clinical insights that would demonstrate deeper first-hand experience.

Generic best practice

Demonstrate first-hand experience: original photos, personal anecdotes, before/after results, screenshots from the actual product/service.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium content Warning priority 58/100 −50 pts Hard · ~120m

E-E-A-T: Authoritativeness

Moderate: The site has basic authority signals including schema markup, social media presence, and proper business information. However, there's limited evidence of external recognition, medical board certifications displayed, patient testimonials, or citations from authoritative medical sources that would elevate authority significantly.

Generic best practice

Build authoritativeness: links from respected sites in your niche, mentions in industry publications, About page detailing your expertise.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium ssl security Warning priority 54/100 −40 pts Easy · ~15m

HSTS header present

Missing strict-transport-security header.

Generic best practice

Add Strict-Transport-Security header so browsers refuse HTTP for your domain after the first visit. Bumps SSL Labs grade to A+.

Code fix
Strict-Transport-Security: max-age=31536000; includeSubDomains
AI suggestion (context-aware)
Generating personalised suggestion…
Medium links Warning priority 53/100 −50 pts Easy · ~15m

External links safe

5 external _blank links missing rel=noopener.

Generic best practice

Add rel="noopener noreferrer" to target="_blank" links. Without noopener, the linked page can manipulate your window object — security + perf risk.

Code fix
Before:
<a href="https://other.com" target="_blank">External</a>
After:
<a href="https://other.com" target="_blank" rel="noopener noreferrer">External</a>
AI suggestion (context-aware)
Generating personalised suggestion…
Medium geo Warning priority 48/100 −60 pts Medium · ~45m

Structured for AI extraction

Moderate (4/10).

Generic best practice

Add bulleted lists, sub-headings, definitions, and TL;DR sections. AI engines prefer clearly structured content for extraction.

AI suggestion (context-aware)
Generating personalised suggestion…
Medium headings Warning priority 45/100 −50 pts Easy · ~15m

Heading hierarchy

Heading levels skipped 2 times.

Generic best practice

Headings should descend logically: H1 → H2 → H3, no jumps. Skipping levels (H1 → H3) breaks accessibility tools and confuses crawlers.

Code fix
Before:
<h1>Page Title</h1>
<h3>Section</h3>  <!-- skipped H2 -->
After:
<h1>Page Title</h1>
<h2>Section</h2>
<h3>Subsection</h3>
AI suggestion (context-aware)
Generating personalised suggestion…
Low technical Warning priority 52/100 −40 pts Medium · ~45m

Response time acceptable

Fetched in 1312 ms — acceptable but slow.

Generic best practice

Server is slow. Investigate: enable a CDN, add page caching, optimise database queries, upgrade hosting. TTFB > 800ms hurts every Core Web Vital.

AI suggestion (context-aware)
Generating personalised suggestion…
Low images Warning priority 49/100 −40 pts Medium · ~45m

Modern image formats

53/63 images use modern formats.

Generic best practice

Convert images to WebP or AVIF — typically 25-50% smaller than JPEG/PNG with no visible quality loss. Use <picture> for fallback.

Code fix
Before:
<img src="photo.jpg">
After:
<picture>
  <source type="image/avif" srcset="photo.avif">
  <source type="image/webp" srcset="photo.webp">
  <img src="photo.jpg" alt="...">
</picture>
AI suggestion (context-aware)
Generating personalised suggestion…
Low images Warning priority 44/100 −40 pts Easy · ~15m

Below-fold images lazy

Only 0 of 63 images use loading="lazy".

Generic best practice

Add loading="lazy" to images below the fold. Saves bandwidth, speeds up initial page load.

Code fix
Before:
<img src="below-fold.jpg">
After:
<img src="below-fold.jpg" loading="lazy" width="..." height="..." alt="...">
AI suggestion (context-aware)
Generating personalised suggestion…
Low links Warning priority 43/100 −50 pts Easy · ~15m

Descriptive anchor text

33% of anchor texts are generic ("click here", etc.).

Generic best practice

Replace generic anchor text ("click here", "read more") with descriptive phrases containing the target page's keywords. Anchors are a strong relevance signal.

Code fix
Before:
<a href="/laptops">click here</a>
After:
<a href="/laptops">programming laptops review</a>
AI suggestion (context-aware)
Generating personalised suggestion…
Low content Warning priority 43/100 −40 pts Medium · ~45m

Readable prose

Flesch reading ease 47.9 — fairly difficult.

Generic best practice

Simplify your prose. Shorter sentences (15-20 words), smaller words (1-2 syllables), more paragraph breaks. Target 8th-grade reading level for a general audience.

AI suggestion (context-aware)
Generating personalised suggestion…
Low meta Warning priority 40/100 −60 pts Trivial · ~5m

Twitter card present

Missing <meta name="twitter:card">.

Location in HTML
Line 5 · html > head
     4  
>    5  <head>
     6  
Generic best practice

Add a twitter:card meta tag to control how Twitter renders shared links. Use "summary_large_image" with an og:image for the best preview.

Code fix
Before:
<!-- no twitter:card -->
After:
<meta name="twitter:card" content="summary_large_image">
AI suggestion (context-aware)
Generating personalised suggestion…
Low headings Warning priority 40/100 −40 pts Medium · ~45m

Sufficient H2 tags

Only 0 H2 tags.

Generic best practice

Use H2s to break content into scannable sections. Pages with no H2 read as a wall of text — worse for users and for search relevance.

Code fix
Before:
<!-- no H2 sections -->
After:
<h2>First Major Section</h2>
<p>...</p>
<h2>Second Major Section</h2>
<p>...</p>
AI suggestion (context-aware)
Generating personalised suggestion…
Low headings Warning priority 39/100 −40 pts Trivial · ~5m

H1 has reasonable length

H1 is only 4 chars.

Location in HTML
Line 717 · #content > div.page_header > h1.topper
   716  
>  717  			<h1 class="topper">Blog</h1>
   718  
Generic best practice

H1 should be 20-70 characters — long enough to be descriptive, short enough to be scannable.

Code fix
Before:
<h1>4 chars</h1>
After:
<h1>Descriptive 20-70 character heading</h1>
AI suggestion (context-aware)
Generating personalised suggestion…
Low ssl security Warning priority 39/100 −40 pts Trivial · ~5m

X-Content-Type-Options

Missing x-content-type-options header.

Generic best practice

Add X-Content-Type-Options: nosniff so browsers honour the Content-Type and don't MIME-sniff for malicious files.

Code fix
X-Content-Type-Options: nosniff
AI suggestion (context-aware)
Generating personalised suggestion…
Low ssl security Warning priority 32/100 −40 pts Medium · ~45m

CSP header present

Missing content-security-policy header.

Generic best practice

Add a Content-Security-Policy header to block XSS by whitelisting allowed script/style sources.

Code fix
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'
AI suggestion (context-aware)
Generating personalised suggestion…
Pass Title tag present
title_present
Title tag found.
Actual: ANAYSHA Aesthetics| Blog
Warning Title length
title_length
Title is only 24 characters — too short to communicate value.
Fix: Aim for 30–60 characters.
Actual: 24 chars
Expected: 30–60 chars
Pass Title is descriptive
title_unique_words
3 words — descriptive enough.
Fail Meta description present
meta_description_present
No meta description found.
Fix: Add a compelling 120–160 character meta description.
Actual: missing
Expected: present
Pass OpenGraph title present
og_title_present
Og title present present.
Actual: ANAYSHA Aesthetics| Blog
Warning OpenGraph description present
og_description_present
Missing <meta property="og:description">.
Fix: Add the og:description meta tag for rich social previews.
Actual: missing
Expected: present
Pass OpenGraph image present
og_image_present
Og image present present.
Actual: https://www.anayshaaesthetics.com/images/Anaysha Aesthetics _ New.png
Warning Twitter card present
twitter_card_present
Missing <meta name="twitter:card">.
Fix: Add the twitter:card meta tag for rich social previews.
Actual: missing
Expected: present
Pass Viewport meta tag present
meta_viewport_present
Viewport meta tag present.
Actual: width=device-width, initial-scale=1.0
Pass Charset meta tag present
meta_charset_present
Charset declared.
Pass H1 tag present
h1_present
Found 1 H1.
Actual: 1 H1
Pass Single H1 tag
h1_count
Exactly one H1.
Actual: 1
Warning H1 has reasonable length
h1_length
H1 is only 4 chars.
Fix: Use 20–70 character descriptive H1.
Actual: 4 chars
Warning Sufficient H2 tags
h2_count
Only 0 H2 tags.
Fix: Use H2s to break content into scannable sections.
Actual: 0
Expected: ≥ 2
Warning Heading hierarchy
heading_hierarchy
Heading levels skipped 2 times.
Fix: Maintain logical heading order (h1 → h2 → h3, no jumps).
Actual: 2 skips
Pass JSON-LD structured data present
schema_json_ld_present
2 JSON-LD blocks present.
Actual: 2 scripts
Pass JSON-LD is valid JSON
schema_valid_json
All JSON-LD blocks parse cleanly.
Pass Recommended schema types used
schema_recommended_types
Recommended schema types found.
Actual: WebSite
Pass No deprecated schema types
schema_no_deprecated
No deprecated schema types.
Pass No restricted schema types
schema_no_restricted
No restricted schema types.
Info Microdata or RDFa present
schema_microdata_present
No microdata. JSON-LD is preferred — this is informational only.
Actual: 0
Pass Canonical URL present
canonical_present
Canonical link found.
Actual: https://www.anayshaaesthetics.com//blog/
Info Canonical self-references
canonical_self_referencing
Canonical points elsewhere (https://www.anayshaaesthetics.com//blog/).
Actual: https://www.anayshaaesthetics.com//blog/
Pass Page is indexable
robots_meta_indexable
No noindex directive.
Actual: index, follow
Pass HTML lang attribute
lang_attribute_present
<html lang="en"> declared.
Actual: en
Pass HTML5 doctype
doctype_html5
HTML5 doctype declared.
Pass Favicon present
favicon_present
Favicon declared.
Pass HTTP status 2xx
http_status_ok
Server returned 200.
Actual: 200
Warning Response time acceptable
response_time_ok
Fetched in 1312 ms — acceptable but slow.
Fix: Aim for under 800 ms TTFB.
Actual: 1312 ms
Expected: < 800 ms
Pass robots.txt accessible
robots_txt_found
robots.txt found.
Pass robots.txt does not block
robots_txt_no_block
robots.txt does not block this page.
Pass sitemap.xml accessible
sitemap_xml_found
Sitemap found at https://www.anayshaaesthetics.com/sitemap.xml.
Actual: https://www.anayshaaesthetics.com/sitemap.xml
Pass Sitemap referenced
sitemap_referenced
Sitemap referenced from robots.txt.
Pass Page served over HTTPS
ssl_https
Served over HTTPS.
Actual: https
Pass TLS handshake succeeds
ssl_valid
TLS handshake succeeded.
Actual: anayshaaesthetics.com
Pass HTTP redirects to HTTPS
http_redirects_to_https
HTTP requests redirect to HTTPS.
Warning HSTS header present
hsts_header_present
Missing strict-transport-security header.
Fix: Add strict-transport-security for hardened security posture.
Actual: missing
Warning CSP header present
csp_header_present
Missing content-security-policy header.
Fix: Add content-security-policy for hardened security posture.
Actual: missing
Warning X-Content-Type-Options
x_content_type_options
Missing x-content-type-options header.
Fix: Add x-content-type-options for hardened security posture.
Actual: missing
Pass PageSpeed performance score
pagespeed_score
Score 100/100.
Actual: 100/100
Pass Largest Contentful Paint
lcp_within_threshold
Within good threshold (1.51s).
Actual: 1.51s
Pass Cumulative Layout Shift
cls_within_threshold
Within good threshold (0).
Actual: 0
Pass First Contentful Paint
fcp_within_threshold
Within good threshold (0.77s).
Actual: 0.77s
Pass Time To First Byte
ttfb_within_threshold
Within good threshold (0s).
Actual: 0s
Info Interaction to Next Paint
inp_within_threshold
INP is a field-only metric — not measured here.
Actual: field-only
Pass Few render-blocking resources
render_blocking_resources
No render-blocking resources detected.
Warning Compression enabled
gzip_or_brotli
No gzip/brotli content-encoding header.
Fix: Enable gzip or Brotli on your server.
Pass Healthy internal link count
internal_link_count
96 unique internal links.
Actual: 96
Pass No broken internal links
no_broken_internal_links
All 10 sampled internal links return success.
Actual: 0/10
Warning External links safe
external_links_safe
5 external _blank links missing rel=noopener.
Fix: Add rel="noopener noreferrer" to target="_blank" links for security.
Actual: 5 unsafe
Warning Descriptive anchor text
descriptive_anchor_text
33% of anchor texts are generic ("click here", etc.).
Fix: Use descriptive anchor text containing target keywords.
Actual: 60/184 generic
Fail Images have alt text
images_alt_present
2 of 63 images missing alt attribute.
Fix: Add alt text describing each image (alt="" for purely decorative).
Actual: 2/63 missing
Expected: 0
Warning Below-fold images lazy
images_lazy_loaded
Only 0 of 63 images use loading="lazy".
Fix: Add loading="lazy" to images below the fold.
Actual: 0 lazy
Warning Modern image formats
images_modern_formats
53/63 images use modern formats.
Fix: Convert remaining images to WebP or AVIF for smaller payload.
Fail Images have dimensions
images_have_dimensions
Only 1/63 images have explicit dimensions.
Fix: Add width/height attributes — required to avoid layout shift.
Pass Sufficient word count
word_count
3866 words — substantive content.
Actual: 3866 words
Warning Readable prose
readability
Flesch reading ease 47.9 — fairly difficult.
Fix: Shorten sentences and use simpler words.
Actual: 47.9
Expected: ≥ 60
Warning E-E-A-T: Experience
eeat_experience
Moderate: The blog demonstrates practical experience through multiple detailed articles on cosmetic procedures authored by Dr. Shivani Atri Singh. However, the content lacks patient case studies, before/after documentation, or personal clinical insights that would demonstrate deeper first-hand experience.
Fix: Strengthen Experience signals on this page.
Actual: 6/10
Expected: ≥ 7
Pass E-E-A-T: Expertise
eeat_expertise
Strong: Content shows medical expertise with comprehensive coverage of plastic surgery procedures including rhinoplasty, breast augmentation, and gynecomastia with specific technical details. The authorship by a named plastic surgeon adds credibility, though the truncated content doesn't fully showcase depth of medical knowledge or credentials.
Actual: 7/10
Warning E-E-A-T: Authoritativeness
eeat_authority
Moderate: The site has basic authority signals including schema markup, social media presence, and proper business information. However, there's limited evidence of external recognition, medical board certifications displayed, patient testimonials, or citations from authoritative medical sources that would elevate authority significantly.
Fix: Strengthen Authoritativeness signals on this page.
Actual: 5/10
Expected: ≥ 7
Warning E-E-A-T: Trustworthiness
eeat_trust
Moderate: Trust signals include complete contact information, business hours, physical address, and proper schema implementation. However, issues like future-dated blog posts (April 2026), generic category tags ('back pain' for cosmetic procedures), and promotional language reduce trustworthiness and suggest potential content quality concerns.
Fix: Strengthen Trustworthiness signals on this page.
Actual: 6/10
Expected: ≥ 7
Pass Viewport set for mobile
mobile_viewport
Responsive viewport configured.
Actual: width=device-width, initial-scale=1.0
Pass Tap targets reasonable
mobile_tap_targets
No obvious tap-target sizing problems.
Info Legible font sizes
mobile_font_size
No inline body font-size — relying on stylesheet defaults.
Actual: unknown
Pass No Flash/legacy plugins
mobile_no_flash
No legacy plugin elements.
Info hreflang tags present (if i18n)
hreflang_present
No hreflang tags. OK for monolingual sites.
Actual: 0
Skipped hreflang codes valid
hreflang_valid_codes
No hreflang to evaluate.
Skipped hreflang self-reference
hreflang_self_ref
No hreflang to evaluate.
Skipped hreflang x-default present
hreflang_x_default
No hreflang to evaluate.
Fail Content provides clear answers
geo_clear_answers
Weak (3/10).
Fix: Add clear, concise answers to common questions about each procedure (rhinoplasty, breast augmentation, PRP) with specific facts, statistics, and medical terminology that AI can extract and cite
Actual: 3/10
Expected: ≥ 7
Fail High factual density
geo_factual_density
Weak (2/10).
Fix: Include author credentials, medical qualifications, certifications, and affiliations prominently on service pages to establish authority for AI citations
Actual: 2/10
Expected: ≥ 7
Warning Structured for AI extraction
geo_structured_for_ai
Moderate (4/10).
Fix: Structure content with proper semantic HTML headers (H1, H2, H3) and FAQ schema markup to make information more parseable for AI search engines
Actual: 4/10
Expected: ≥ 7
Fail Cites authoritative sources
geo_authoritative_sources
Weak (2/10).
Fix: Remove excessive CSS and JavaScript code from the content area - separate technical code from informational content that AI models need to process
Actual: 2/10
Expected: ≥ 7