Repository navigation
feat(landing): make the homepage read as the upup npm file uploader in SERPs - #572
Merged
Merged
Conversation
…n SERPs Title now leads with the brand and names the npm scope, the description gives the value plus @useupup, and the SoftwareApplication JSON-LD node carries the same alternateName list as the Organization node (pinned in seo-surfaces). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Review or Edit in CodeSandboxOpen the branch in Web Editor • VS Code • Insiders |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes the homepage SERP result read as "upup, the open-source file uploader on npm (@useupup)" (GetItDone T-2411). Small metadata + JSON-LD change.
Why (GSC deep-analysis, sc-domain:useupup.com, 2026-09-15..10-12)
Query "upup" -> https://useupup.com/: 1085 impressions, 8 clicks, CTR 0.74%, avg position 5.8. Other brand-ish variants are tiny: "cloud upup" 10 impr (pos 5.7), "upup link" 10 (6.4), "upup.com" 7 (3.9), "upup.be" 3, "u pup"/"up up"/"up loader" 2 each; "upup" also earns 2 impr at pos 8 on /docs/comparisons/upup-vs-uppy/. No "useupup", "upup npm" or "upup react" impressions were reported in the window. (Bing basic MCP rejected the call, so no Bing numbers.)
Web search for "upup" returns: the UpUp offline-first JS library (TalAter), a Lviv software company on LinkedIn, an UpUp fitness app, and the UPUPUP Steam game. The snippet competes against those, so it has to say plainly: file uploader, open source, npm @useupup.
What changed
app/page.tsx,lib/siteConfig.ts, and the OG/Twitter titles inapp/layout.tsx):upup – Open-Source File Uploader for Every Framework(52) ->upup – Open-Source File Uploader | npm @useupup(47).app/page.tsx):upup is a free, open-source drag and drop file uploader with native UI for React, Vue, Svelte, Angular, Vanilla JS and Preact. MIT-licensed.(140) ->upup is a free, MIT-licensed file uploader on npm as @useupup. Drag and drop UI for React, Vue, Svelte, Angular, Vanilla JS and Preact, with S3 uploads.(152)SoftwareApplicationnode now carriesalternateName: ['useupup', '@useupup', 'upup file uploader'], matching the Organization node. (Organization and WebSite already carried alternateName, sameAs to GitHub/npm/Discord, and a SoftwareSourceCode node, so nothing else was needed there.)__tests__/seo-surfaces.test.ts: pins the newSoftwareApplication.alternateName.seo-copy-budgets.test.ts(open in Promote dev to master: landing motion/Escape/Ask AI fixes, SEO pages, retryUpload (Sentry replay stays at 10%) #561). It already pins the homepage title <= 60 and brand-first, and description 120-160; the new copy satisfies it.Verification
vitest run seo-copy-budgets seo-surfaces framework-pages-> exit 0, 3 files / 114 tests passed (run from an installed worktree checked out at this commit). Prettier --check clean on the touched files.typecheckcould not be used as a signal: the installed worktree has no built siblingdist/, so it fails with TS2307@useupup/react|coreinpackages/interactive-example, none in the touched files. CI's Typecheck is the gate.--no-verify.