Catalog / sanjshine.com
65

SEO audit for sanjshine.com

Sanjshine | Curated Vintage & Sustainable Fashion

ecommerce

Health 65/100 (fair) · 6 pages crawled · generated 2026-08-26

Download Markdown report (feed to ChatGPT / Claude / Cursor)

Hand-picked vintage treasures for the conscious soul. Shop the collection now.

6
pages crawled
6
indexable pages
0
errors
42
warnings
36
notices
5
orphan pages
0
broken links
Category breakdown
CategoryScoreErrorsWarningsNotices
Duplicate 65 0 7 6
Canonical 70 0 6 0
Content 70 0 6 6
Headings 70 0 6 0
Rendering 70 0 6 0
Security 70 0 6 6
Links 75 0 5 0
Performance 100 0 0 6
Social 100 0 0 6
Structured Data 100 0 0 6
Findings

Warnings (8 rules)

warning Thin content (low word count)

Rule content.thin · Content · 6 occurrence(s)

warning Homepage duplicated across protocol/host variants (no redirect)

Rule duplicate.protocol_host · Duplicate · 1 occurrence(s)

  • https://sanjshine.com/ — https://www.sanjshine.com/ serves the same homepage content with a 200 and no redirect — Google sees a duplicate. Pick one canonical host/scheme and 301-redirect the others.

warning Duplicate <title> across pages

Rule duplicate.title · Duplicate · 6 occurrence(s)

warning Content-Type header doesn't match the actual content

Rule headers.content_type_mismatch · Security · 6 occurrence(s)

  • https://sanjshine.com/ — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://sanjshine.com/apply-vendor — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://sanjshine.com/events — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://sanjshine.com/events/past/eatalica-popup — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://sanjshine.com/our-story — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".
  • https://sanjshine.com/vendors — the Content-Type is "text/html" with no charset — the HTTP charset is authoritative and browsers otherwise guess the encoding, which can garble non-ASCII text (mojibake). Declare it explicitly: "text/html; charset=utf-8".

warning Orphan page (no internal inlinks)

Rule links.orphan · Links · 5 occurrence(s)

warning Content only rendered by JavaScript (invisible to non-JS crawlers & AI)

Rule rendering.js_shell · Rendering · 6 occurrence(s)

  • https://sanjshine.com/ — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://sanjshine.com/apply-vendor — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://sanjshine.com/events — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://sanjshine.com/events/past/eatalica-popup — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://sanjshine.com/our-story — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.
  • https://sanjshine.com/vendors — Raw HTML has 0 words and 0 links — this page is built by JavaScript in the browser. Googlebot renders JS but delays it, and most crawlers and AI assistants (ChatGPT, Perplexity, Claude) don't run JavaScript at all, so to them the page looks empty. Server-render or pre-render your main content and navigation.

Notices (6 rules)

notice Duplicate meta description across pages

Rule duplicate.meta_desc · Duplicate · 6 occurrence(s)

notice Legacy <meta name=keywords> tag present (Google ignores it)

Rule meta.keywords_present · Content · 6 occurrence(s)

notice No ETag header (no conditional GET for unchanged pages)

Rule perf.no_etag · Performance · 6 occurrence(s)

  • https://sanjshine.com/ — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://sanjshine.com/apply-vendor — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://sanjshine.com/events — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://sanjshine.com/events/past/eatalica-popup — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://sanjshine.com/our-story — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.
  • https://sanjshine.com/vendors — the response carries no ETag header — without an ETag (or Last-Modified) there is no cache-revalidation mechanism, so crawlers re-download the full body every visit. Emit an ETag (a content hash) to enable conditional If-None-Match requests.

notice Missing recommended security headers

Rule security.missing_headers · Security · 6 occurrence(s)

Pages (showing 6 of 6)
URLStatusIndexableWordsIn-links
https://sanjshine.com/
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0
https://sanjshine.com/apply-vendor
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0
https://sanjshine.com/events
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0
https://sanjshine.com/events/past/eatalica-popup
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0
https://sanjshine.com/our-story
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0
https://sanjshine.com/vendors
Sanjshine | Curated Vintage & Sustainable Fashion
200 yes 0 0

Audit your own site — free

157 checks, internal PageRank, render-diff. No signup, results in ~30s.

Scan your site →