seo: fix H1, meta descriptions, schema author, and alternateName#2537
seo: fix H1, meta descriptions, schema author, and alternateName#2537
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Greptile SummaryThis PR addresses a set of SEO correctness issues across the homepage and Key changes:
Confidence Score: 5/5Safe to merge — all remaining findings are P2 style suggestions with no functional impact. All changes are static HTML/metadata fixes with no JavaScript logic, no API calls, and no risk of runtime breakage. The two P2 notes (deprecated No files require special attention. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Browser or Googlebot requests homepage] --> B{JavaScript executed?}
B -- No or slow --> C[sr-only H1 visible in raw HTML\nWorld Monitor - Real-Time Global Intelligence Dashboard]
B -- Yes --> D[app div renders full SPA]
D --> E[sr-only H1 still present in DOM\noutside app div]
A2[Request for pro page] --> F[seo-prerender div\npositioned off-screen]
F --> G[h1 World Monitor Pro\np Global intelligence platform\np Equity research macro briefings]
A3[Search engine crawler] --> H[JSON-LD structured data]
H --> I[index.html WebApplication schema\nalternateName array\nauthor Elie Habib]
H --> J[pro index.html SoftwareApplication schema\nauthor Elie Habib x.com/eliehabib\nFAQPage schema]
Reviews (1): Last reviewed commit: "seo: fix meta descriptions, H1, schema a..." | Re-trigger Greptile |
| <link href="https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,300;0,400;0,600;0,700;1,400&family=Tajawal:wght@200;300;400;500;700;800;900&display=swap" rel="stylesheet"> | ||
| </head> | ||
| <body> | ||
| <h1 style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap">World Monitor - Real-Time Global Intelligence Dashboard</h1> |
There was a problem hiding this comment.
The inline clip:rect(0,0,0,0) is deprecated in CSS in favour of clip-path. For modern browser support and forward compatibility, the standard sr-only pattern now pairs clip-path: inset(50%) with the legacy clip as a fallback (or drops clip entirely for evergreen targets).
| <h1 style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap">World Monitor - Real-Time Global Intelligence Dashboard</h1> | |
| <h1 style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0">World Monitor - Real-Time Global Intelligence Dashboard</h1> |
| "@type": "WebApplication", | ||
| "name": "World Monitor", | ||
| "alternateName": "World Monitor", | ||
| "alternateName": ["WorldMonitor", "worldmonitor.app", "World Monitor App"], |
There was a problem hiding this comment.
alternateName includes a domain, not a name
"worldmonitor.app" is a domain/URL rather than an alternate name for the product. Schema.org's alternateName expects a text label humans would call the thing (e.g. a short-form brand name or acronym). Including a bare domain here isn't invalid, but it can look odd in rich-results previews and may not contribute to the intended brand association. Consider replacing it with something like "WM" or removing it, leaving ["WorldMonitor", "World Monitor App"].
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Summary
undefined undefined
` and two `undefined
` replaced with real copyTest plan
` present in rendered DOM (Googlebot will see it)