← Back to Upgrade by MockupShelf
Owner tools
For the owner of Upgrade by MockupShelf (upgrade.mockupshelf.com).
Ownership
This launch is unclaimed.
Claim this launch to get an owner link, re-scan after fixes, track your score improvements, or remove your site from StackScope entirely.
Start here
Three fast-win fixes from the list below, ordered by impact. Each is a drop-in change you can finish in under 30 minutes.
- Add a robots.txt file
- Add a sitemap.xml
-
Add a canonical link
No
<link rel="canonical">was detected on your page.
1 more score-affecting fix below, plus advisory items.
Fixes that improve your score
Discoverability
- MEDIUMAdd a robots.txt fileWhyTells search engines and bots which pages to crawl and which to skip. Without one, crawlers default to indexing everything they can reach, including admin paths and staging URLs.WhereCreate
/robots.txtat the site root. Most frameworks have a built-in path (Next.jsapp/robots.ts, Astropublic/robots.txt). - MEDIUMAdd a sitemap.xmlWhyHelps search engines discover all your pages, including deep-linked ones not in the navigation. Without one, only pages reachable via crawl-from-homepage get found.WhereGenerate
/sitemap.xmland reference it fromrobots.txtwith aSitemap:line. Frameworks usually generate it (Next.jsapp/sitemap.ts, Astro@astrojs/sitemap).
Page basics & SEO
- MEDIUMAdd a canonical linkNo
<link rel="canonical">was detected on your page.WhyTells search engines which URL is the canonical version when the same content is reachable via multiple paths (with/without trailing slash, query strings, www vs apex).WhereAdd<link rel="canonical" href="https://your-domain.com/this-page">to each page's<head>. - MEDIUMAdd Twitter card meta tagsNo Twitter card tags were detected on your page.WhyWithout them, links shared on X render as bare text instead of a rich preview card with image, title, and description. Rich cards have meaningfully higher CTR.WhereAdd
<meta name="twitter:card" content="summary_large_image">, plustwitter:title,twitter:description, andtwitter:imageto your<head>.
Optional improvements
These don't change your StackScope score but cover SEO, agent-readiness, security-researcher discoverability, and compliance items worth addressing.
Security
- LOWAdd /.well-known/security.txtWhyLets security researchers report vulnerabilities responsibly through a published contact channel.WhereCreate
/.well-known/security.txtwith aContact:email andExpires:date.
Legal & compliance
- HIGHAdd a cookie-consent bannerAnalytics detected on this site without a consent manager.WhyUK/EU GDPR requires opt-in before analytics scripts fire; about half of US state privacy laws now require honouring the Global Privacy Control browser signal as a universal opt-out.WhereDrop in Cookiebot, Usercentrics, Osano, or Iubenda Consent, or hand-roll a banner plus Google's
Consent Mode v2.
Email security
- MEDIUMMove DMARC from p=none to quarantine or rejectDMARC policy is
p=none(monitoring only).Whyp=none lets receivers log failures but still deliver spoofed mail. Real protection only kicks in at quarantine or reject.WhereAfter reviewing a few weeks ofrua=reports and confirming your real senders pass, change top=quarantine(sends spoofs to spam) and thenp=reject(blocks them outright). - MEDIUMConfigure DKIM with your email providerNo DKIM record found at the common selectors we check.WhyDKIM signs your outbound mail with a cryptographic key receivers can verify. Without it, receivers can't tell your real mail from a spoof.WhereAsk your email provider for their DKIM setup. It's usually one TXT record at
{selector}._domainkey.{your-domain}. - LOWAdd MTA-STSNo MTA-STS DNS record published.WhyPrevents mail to your domain being downgraded to plaintext mid-flight by a network attacker. Most launches don't have this, so deploying it puts you a tier above generic email-security checks.WherePublish a TXT record at
_mta-sts.{your-domain}plus a policy file athttps://mta-sts.{your-domain}/.well-known/mta-sts.txt. - LOWAdd a TLS-RPT recordNo TLS-RPT record at
_smtp._tls.{domain}.WhyReceivers can tell you when STARTTLS handshakes to your mail server fail. Without it, silent TLS failures are invisible.WherePublish one TXT record at_smtp._tls.{your-domain}likev=TLSRPTv1; rua=mailto:[email protected].
Page basics & SEO
- LOWTrim your <title> tag to under 60 charactersCurrently 64 characters: "Upgrade: Stop Juggling 5 Apps. Run Your Business From One Place."WhyGoogle truncates titles around 60 characters in search results, so anything past that gets cut off mid-sentence and costs click-through rate.WhereAim for 50-60 characters that include your main keyword and brand.
- LOWTrim your meta description to under 160 charactersCurrently 207 characters: "12 modules. Track income, clients, habits, tasks, pipeline, retainers. Sign in once with your purchase email, then works without internet. Your data never leaves your browser. No subscription. $199 one-time."WhyGoogle truncates around 155-160 characters on desktop SERPs (less on mobile), so anything past that won't appear in the snippet.WhereEdit your
<meta name="description">tag. Put the most click-worthy phrase first.
Performance
- MEDIUMSet width and height on your images1 image render without explicit width/height.WhyWithout intrinsic dimensions the browser can't reserve space before the image loads, so content jumps as it arrives (cumulative layout shift).WhereAdd
widthandheightattributes (or anaspect-ratioCSS rule). Framework image components set these for you.
Agent / AI
- LOWAdd an llms.txt fileWhyHelps AI models understand your site's content and how to use it. Not yet a standard but gaining adoption.WhereCreate
/llms.txtat the site root with a brief overview and key URLs. - LOWDeclare a Content-Signal in robots.txtWhyStates how you'd like AI systems to use your content (training, search, agent input). Without it, AI crawlers fall back to whatever default policy each vendor applies.WhereAdd a
Content-Signal:line to yourrobots.txt. - LOWAdd Link response headersWhyLets agents discover your sitemap, privacy policy, and docs without parsing HTML, which most lightweight agents skip.WhereSet
Link:response headers in your server config or framework middleware.
If a tip looks wrong (for example it says "add a consent banner" and you already have one) the detection's the bug, not you. StackScope sees what's public from the outside: HTTP response, rendered HTML, cookies, and DNS. We can miss vendors that load behind consent, are self-hosted, or use an install shape we haven't fingerprinted yet. Email [email protected] and we'll look into it.
Copy into Cursor, Claude, or ChatGPT
This prompt includes the detected stack and only the fixes StackScope found. It asks the AI to make concrete file-level changes, not a vague website review.
Score-affecting basics only. Ask your AI to handle these first; come back for the optional hardening once they're done.
Everything: score-affecting fixes plus optional email security, agent metadata, and best-practice items. Longer prompt, more for an "all in one" agent run.
Using an autonomous agent?
Point the agent at this SKILL.md URL and ask it to follow the skill. The framing stops agents defaulting to an open-ended page review.
https://stackscope.dev/launch/ldbii2oh/skill.md
Share your score
Your score card renders automatically when you share the link.
Or embed a badge
Two badge options. Pick whichever fits your story.
Current score
Shows the latest score and updates within a few minutes of any recrawl. Best for ongoing display: if you fix something and recrawl, the badge reflects the new score automatically.
<a href="https://stackscope.dev/launch/ldbii2oh/upgrade-by-mockupshelf"><img src="https://stackscope.dev/badge/ldbii2oh/current.svg" alt="StackScope score for Upgrade by MockupShelf" height="24" /></a>
Launch score
Pinned to your launch-day snapshot and never changes. Marked with a small gold corner ribbon. Best for press kits, launch retrospectives, or anywhere you want a permanent record of how you shipped.
<a href="https://stackscope.dev/launch/ldbii2oh/upgrade-by-mockupshelf"><img src="https://stackscope.dev/badge/ldbii2oh.svg" alt="StackScope launch score for Upgrade by MockupShelf" height="24" /></a>
Using a Content-Security-Policy?
Both badges are <img> tags from our domain, so your CSP needs to allow them.
Add stackscope.dev to your img-src directive
(example: img-src 'self' stackscope.dev;). Without it, browsers silently
block the badge and visitors see a broken image.