Skip to content

static homepage, need to double check and understand changes - #232

Open
EMPN2350GirirajShankar wants to merge 1 commit into
mainfrom
jay-static-site
Open

static homepage, need to double check and understand changes#232
EMPN2350GirirajShankar wants to merge 1 commit into
mainfrom
jay-static-site

Conversation

@EMPN2350GirirajShankar

Copy link
Copy Markdown
Collaborator
  • Route Definition Duplication — Two Representations

Even though routeRegistry.ts exists, App.tsx still manually constructs with individual elements. The registry and the router tree are two separate representations of the same routes.

Possible fix: Use React Router's data-router API where a single route object tree feeds both the client router and the server renderer. The registry becomes the route tree.

  • Redirects & Sitemap Semantics

The registry has redirect routes like:

redirect("home-v3-alias", "/homev3", "/"),
redirect("about-careers-alias", "/about/careers", "/careers"),

On a static host (GitHub Pages), /homev3 needs an HTML file that redirects to /. If that file doesn't have <meta name="robots" content="noindex"> and <link rel="canonical" href="https://maqsoftware.com/">, search engines could index both / and /homev3 as separate pages → duplicate content penalty.

  • Based on my understanding this is the Architecture for this PR:

                    ┌─────────────────────────────────────┐
                    │          routeRegistry.ts           │
                    │  ┌───────────────────────────────┐  │
                    │  │ pageRoutes (80+ static pages) │  │
                    │  │ dynamicRoutes (pattern-based) │  │
                    │  │ redirectRoutes (aliases)      │  │
                    │  └───────────────────────────────┘  │
                    │ validateRouteRegistry() ← CI gate │
                    └──────────┬────────────────────────┘
                               │
              ┌────────────────┼────────────────┐
              │                │                │
              ▼                ▼                ▼
    ┌─────────────────┐  ┌──────────────┐  ┌──────────────────┐
    │   App.tsx (SPA) │  │ entry-server │  │ validate-routes  │
    │  Client Router  │  │  SSR Render  │  │   Build-time     │
    │  + Hydration    │  │ + Prerender  │  │   Validation     │
    └─────────────────┘  └──────────────┘  └──────────────────┘
              │                │
              │                ▼
              │         ┌──────────────┐
              │         │ prerender.mjs│
              │         │  Inject SEO  │
              │         │ head into    │
              │         │ dist/index   │
              │         └──────────────┘
              │                │
              ▼                ▼
    ┌───────────────────────────────────┐
    │      dist/index.html (deployed)   │
    │ <title>, <meta>, canonical,       │
    │ JSON-LD, SSR HTML, hydration      │
    └───────────────────────────────────┘

This is a well-architected foundation. The route registry alone eliminates a major maintenance burden. The SSR/prerender pipeline, while scoped to home page initially, is correctly structured for expansion. The blocking issues are all small, mechanical fixes — none require architectural rework.

@vercel

vercel Bot commented Aug 10, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
maq-software-site Ready Ready Preview Aug 10, 2026 11:45am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants