Skip to content

lovable-ssr

SSR and route data engine for Lovable projects.

  • Route registry — register routes once; the framework matches paths and runs getData on the server and on SPA navigation.
  • Single React tree — same providers and components for SSR and client; data is keyed by route + params and reused.
  • Express + Vite server — dev with Vite middleware, production with static dist/ and the SSR bundle.
  • SEOSEO component for meta tags and JSON-LD; helmet content is injected into the HTML head during SSR.
  • Getting started — install and first steps
  • Routes — define routes and registerRoutes
  • App shellBrowserRouteDataProvider and AppRoutes
  • SSR — entry-server and server setup
  • getData — loading data per route
  • SEO — meta tags, Open Graph, JSON-LD
  • API — types, router, context, server config

Minimal setup

bash
npm i lovable-ssr
ts
// routes
import { registerRoutes, type RouteConfig } from 'lovable-ssr';
export const routes: RouteConfig[] = [/* ... */];
registerRoutes(routes);
tsx
// App
import './routes';
import { BrowserRouteDataProvider, AppRoutes } from 'lovable-ssr';
import { BrowserRouter } from 'react-router-dom';

export default function App() {
  return (
    <BrowserRouter>
      <BrowserRouteDataProvider>
        <AppRoutes />
      </BrowserRouteDataProvider>
    </BrowserRouter>
  );
}

For SSR you add an entry module and a small server that uses createServer from lovable-ssr/server. See the guide for the full flow.