Files
shopwisdom-site/seo-dashboard.html
T
2026-06-25 18:12:38 -07:00

109 lines
6.9 KiB
HTML

<!DOCTYPE html>
<html lang="en-CA">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>SEO &amp; Performance — ShopWisdom + Open Communications</title>
<meta name="robots" content="noindex,nofollow">
<meta name="theme-color" content="#0f1729">
<style>
:root{
--bg:#f7f4ef; --surface:#ffffff; --surface2:#efebe3; --ink:#0f1729; --muted:#5f6675;
--line:rgba(15,23,41,.12); --ok-bg:#e1f5ee; --ok:#0f6e56; --warn-bg:#faeeda; --warn:#854f0b; --accent:#1660c4;
}
@media (prefers-color-scheme:dark){
:root{ --bg:#0f1422; --surface:#171d2e; --surface2:#1e2740; --ink:#eef1f6; --muted:#9aa3b4;
--line:rgba(247,244,239,.14); --ok-bg:#0e3a30; --ok:#7fe0c2; --warn-bg:#3d2f12; --warn:#f0c97a; --accent:#7fb0ef; }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.6;-webkit-text-size-adjust:100%}
.wrap{max-width:760px;margin:0 auto;padding:28px 18px 56px}
h1{font-size:1.5rem;font-weight:600;margin:0 0 4px}
.sub{color:var(--muted);font-size:.85rem;margin:0 0 22px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:0 0 14px}
.ch{font-weight:600;font-size:1rem;margin:0 0 2px}
.csub{color:var(--muted);font-size:.8rem;margin:0 0 14px}
.head{display:flex;align-items:center;gap:9px;margin-bottom:14px;flex-wrap:wrap}
.dot{width:9px;height:9px;border-radius:50%;background:#1d9e75;flex:none}
.nm{font-weight:600}.nm a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}
.tag{color:var(--muted);font-size:.78rem}
.metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mc{background:var(--surface2);border-radius:10px;padding:12px 14px}
.mc .l{font-size:.78rem;color:var(--muted)}
.mc .v{font-size:1.5rem;font-weight:600;margin-top:2px}
.mc .u{font-size:.8rem;color:var(--muted);font-weight:400}
.meta{font-size:.78rem;color:var(--muted);margin-top:12px;display:flex;flex-wrap:wrap;gap:6px 14px}
.meta .pass{color:var(--ok);font-weight:600}
.pills{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:6px}
.pill{font-size:.78rem;padding:5px 10px;border-radius:8px;background:var(--ok-bg);color:var(--ok);font-weight:500}
.wrow{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--line);font-size:.86rem}
.wrow .ic{color:var(--warn);font-weight:700;flex:none}
.wrow b{font-weight:600}
ul.fixes{margin:6px 0 0;padding-left:18px}
ul.fixes li{margin:7px 0;font-size:.9rem}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.btn{display:inline-block;font-size:.82rem;padding:9px 14px;border-radius:9px;border:1px solid var(--line);color:var(--accent);text-decoration:none;background:var(--surface2)}
.foot{color:var(--muted);font-size:.76rem;margin-top:20px;text-align:center;line-height:1.7}
</style>
</head>
<body>
<div class="wrap">
<h1>SEO &amp; performance</h1>
<p class="sub">shopwisdom.ca · opencommunications.consulting — live snapshot, 25 Jun 2026</p>
<div class="card">
<div class="head"><span class="dot"></span><span class="nm"><a href="https://shopwisdom.ca/">Shop Wisdom</a></span><span class="tag">shopwisdom.ca · live</span></div>
<div class="metrics">
<div class="mc"><div class="l">Response</div><div class="v">514 <span class="u">ms</span></div></div>
<div class="mc"><div class="l">Page weight</div><div class="v">37 <span class="u">KB</span></div></div>
</div>
<div class="meta"><span>1 H1</span><span>11 images</span><span>6 JS · 2 CSS</span><span class="pass">11 pass · 4 to improve</span></div>
</div>
<div class="card">
<div class="head"><span class="dot"></span><span class="nm"><a href="https://www.opencommunications.consulting/">Open Communications</a></span><span class="tag">opencommunications.consulting · live</span></div>
<div class="metrics">
<div class="mc"><div class="l">Response</div><div class="v">675 <span class="u">ms</span></div></div>
<div class="mc"><div class="l">Page weight</div><div class="v">31 <span class="u">KB</span></div></div>
</div>
<div class="meta"><span>1 H1</span><span>4 images</span><span>7 JS · 2 CSS</span><span class="pass">11 pass · 4 to improve</span></div>
</div>
<div class="card">
<div class="ch">SEO &amp; GEO signals</div>
<div class="csub">Read live from each site's HTML — same template, so these hold for both.</div>
<div class="pills">
<span class="pill">✓ HTTPS</span><span class="pill">✓ canonical</span><span class="pill">✓ index,follow</span>
<span class="pill">✓ lang en-CA</span><span class="pill">✓ single H1</span><span class="pill">✓ Open Graph</span>
<span class="pill">✓ Twitter card</span><span class="pill">✓ JSON-LD @graph</span><span class="pill">✓ sitemap.xml</span>
<span class="pill">✓ robots.txt</span><span class="pill">✓ llms.txt</span>
</div>
<div class="wrow"><span class="ic">!</span><div><b>Title runs long</b> — SW 76 / OC 77 chars. Google trims ~60, so the tail is cut in results.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>Meta description runs long</b> — SW 237 chars (OC similar). Trims ~155 in search snippets.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>No FAQ / FAQPage schema</b> — the top remaining win for rich results + AI answer citations.</div></div>
<div class="wrow"><span class="ic">!</span><div><b>Fonts render-blocking</b> — loaded from Google's CDN; self-hosting helps speed and sovereignty.</div></div>
</div>
<div class="card">
<div class="ch">Performance</div>
<div class="csub" style="margin-bottom:10px">Both are static HTML on the OVH box — fast first byte (SW 514 ms · OC 675 ms) and light pages (≤37 KB). The one real lever is the render-blocking Google-Fonts request. Full Core Web Vitals weren't captured here (PageSpeed rate-limited) — run them live:</div>
<div class="btns">
<a class="btn" href="https://pagespeed.web.dev/report?url=https%3A%2F%2Fshopwisdom.ca%2F">PageSpeed: Shop Wisdom →</a>
<a class="btn" href="https://pagespeed.web.dev/report?url=https%3A%2F%2Fwww.opencommunications.consulting%2F">PageSpeed: OC →</a>
</div>
</div>
<div class="card">
<div class="ch">Top fixes (both sites)</div>
<ul class="fixes">
<li><b>Add FAQ + FAQPage schema</b> — biggest remaining lever for rich results and AI citations.</li>
<li><b>Self-host the fonts</b> — removes the render-blocking Google request (speed + sovereignty).</li>
<li><b>Trim titles &amp; meta descriptions</b> — title under 60 chars, description under 155.</li>
</ul>
</div>
<p class="foot">Live data read from each site's served HTML + server response time.<br>Ask Claude to "refresh the SEO dashboard" to regenerate. Private page — not indexed.</p>
</div>
</body>
</html>