# Edge proxy

Livrarea cu cel mai bun SEO: rutează `/blog/*` de pe domeniul tău către
API-ul de render al baas. Crawlerele văd HTML complet randat server-side,
servit chiar de pe *originea ta* — fără JavaScript implicat. Paginile ajung
cu titlu, meta descriere, URL canonical și JSON-LD deja puse la punct.

Înlocuiește `PK` cu cheia publică a site-ului tău și ajustează calea de bază
dacă blogul tău nu e montat la `/blog`.

## Cloudflare Worker

Fă deploy cu o rută `yourdomain.com/blog*`:

```js
const API = 'https://api.dailysmith.com';
const PUBLIC_KEY = 'PK'; // cheia ta pk_live_…
const BASE_PATH = '/blog';

export default {
  async fetch(request) {
    const url = new URL(request.url);
    if (!url.pathname.startsWith(BASE_PATH)) {
      return fetch(request);
    }
    const upstream = new URL(`${API}/v1/render/${PUBLIC_KEY}${url.pathname}`);
    upstream.search = url.search;
    const response = await fetch(upstream, {
      headers: { 'User-Agent': request.headers.get('User-Agent') ?? 'baas-edge' },
      cf: { cacheTtl: 300, cacheEverything: true }
    });
    return new Response(response.body, {
      status: response.status,
      headers: response.headers
    });
  }
};
```

## Vercel

`vercel.json`:

```json
{
  "rewrites": [
    { "source": "/blog", "destination": "https://api.dailysmith.com/v1/render/PK/blog" },
    { "source": "/blog/:path*", "destination": "https://api.dailysmith.com/v1/render/PK/blog/:path*" }
  ]
}
```

## Netlify

`_redirects`:

```
/blog        https://api.dailysmith.com/v1/render/PK/blog        200
/blog/*      https://api.dailysmith.com/v1/render/PK/blog/:splat 200
```

## nginx

```nginx
location /blog {
    proxy_pass https://api.dailysmith.com/v1/render/PK/blog;
    proxy_set_header Host api.dailysmith.com;
    proxy_ssl_server_name on;
}
```

## Caddy

```caddy
handle_path /blog* {
    rewrite * /v1/render/PK/blog{uri}
    reverse_proxy https://api.dailysmith.com
}
```

## Observații

- API-ul de render rezolvă blogul tău după calea așa cum apare pe site-ul
  tău, deci aceleași URL-uri funcționează în proxy, SDK și prerender —
  schimbi sau combini integrări fără să rupi linkuri.
- Răspunsurile poartă ETag-uri puternice și headere de cache prietenoase cu
  CDN-urile; edge-ul tău le poate cache-ui în siguranță. Publicarea unui
  articol sau schimbarea temei modifică ETag-ul.
- Stilizare: paginile vin cu un aspect implicit lizibil și cu
  [paleta ta de temă](/ro/docs/theming). Propria ta foaie de stil poate
  suprascrie orice — conținutul e HTML simplu, sub clase precum
  `.baas-post`.

:::callout{severity=info title="Proxy + SDK împreună"}
Servește pagini SSR prin proxy *și* include fragmentul SDK în shell-ul
paginii: crawlerele și primul paint primesc HTML static, cititorii primesc
navigare instantanee client-side după aceea.
:::
