vibecheck0.3.0
Search visibilityseotitle-defaulterror

Page title is a framework default

A title like “React App”, “Vite App”, or “Untitled” is the scaffold’s placeholder — shipping it signals to Google (and to any human) that the page is unfinished. Every search result and browser tab shows the generic string, and identical titles across your whole site collapse your pages into one indistinct blob. This is the most common title mistake in AI-built and starter-template projects.

Symptoms

  • Every tab and search result reads “React App” / “Vite App” / “My App”
  • All routes share one identical, generic title
  • The title clearly came from create-react-app, Vite, or a starter template

How VibeCheck catches it

In your widget · Problems

errorseoPage title is a framework default

To your coding agent · MCP

agent › get_detected_issues
{ detector: "seo", issue: "Page title is a framework default", threshold: "title matches a known placeholder (e.g. 'React App', 'Vite App', 'Untitled')" }

The same string in your widget and in your agent’s context — no screenshot, no copy-paste.

Root causes

  • The starter template’s default <title> in index.html was never changed
  • The app renders into <body> and no route ever overrides the placeholder
  • A copied boilerplate carried its original title through

The fix

Replace the placeholder with a real, descriptive title — set a sensible site-wide default in the base template AND a unique per-route title. Never ship the scaffold’s default string.

  1. Search the project for the placeholder string (e.g. “React App”)
  2. Replace the base template default with your real brand/home title
  3. Add unique per-route titles via your framework’s metadata mechanism
index.html — replace the scaffold defaulthtml
<!-- scaffold default -->
<title>Vite + React</title>

<!-- real default -->
<title>Acme — Invoicing for freelancers</title>

FAQ

Which titles does VibeCheck treat as placeholders?
Common scaffold defaults: “untitled”, “document”, “app”, “my site”, “home”, “react app”, “create react app”, “vite app”, “vite + react”, and “next app”.
Why is this an error and not just a warning?
A placeholder title actively misrepresents the page to search engines and users on every route at once, so it is scored more severely than a merely missing one.