The diagrams below illustrate the reverse-proxy approach. They cover the two scenarios where the proxy adds value: routing across multiple Webflow projects, and resolving legacy URLs against flat CMS slugs.
A single reverse proxy in front of the public domain routes each request to the right Webflow project based on the URL path. The user's browser sees only the canonical public URL — the routing is transparent. Useful for phased migrations, separated content domains, or running staging alongside production for QA.
flowchart LR
USER["User browser"]
PROXY["Reverse Proxy
lsuno.edu"]
ROUTE{"Path prefix?"}
PROJ_A["Webflow Project A
news, media"]
PROJ_B["Webflow Project B
academics, admissions,
research, ..."]
USER -->|"GET /news/2024-spring-jazz"| PROXY
USER -->|"GET /academics/cos/chemistry"| PROXY
PROXY --> ROUTE
ROUTE -->|"/news, /media"| PROJ_A
ROUTE -->|"/academics, /admissions, ..."| PROJ_B
PROJ_A -->|"HTML response"| PROXY
PROJ_B -->|"HTML response"| PROXY
PROXY -->|"Original URL preserved
in browser address bar"| USER
style USER fill:#e1f5ff,stroke:#1976d2
style PROXY fill:#fff4d6,stroke:#f57c00
style PROJ_A fill:#d4edda,stroke:#388e3c
style PROJ_B fill:#d4edda,stroke:#388e3c
Pages migrated as Collection items live at flat Webflow URLs (/collection/slug) because CMS slugs cannot contain /. The reverse proxy intercepts the legacy hierarchical URL, translates it into the flat CMS path, fetches the rendered page, and returns it to the user with the original URL preserved in the browser. Internal links, canonical, and og:url can be rewritten on the way out so the legacy URL surface stays consistent.
sequenceDiagram
autonumber
participant U as User Browser
participant P as Reverse Proxy
(lsuno.edu)
participant W as Webflow CMS
U->>P: GET lsuno.edu/academics/cos/chemistry
Note over P: Path transformation
/academics/cos/chemistry
↓
/academics/cos-chemistry
P->>W: GET /academics/cos-chemistry
Note over W: CMS lookup
collection = academics
slug = cos-chemistry
W->>P: HTML response
(template + rich-text field rendered)
Note over P: Optional rewrites:
canonical, og:url,
internal <a href> tags
P->>U: HTML response
Note over U: Address bar shows
lsuno.edu/academics/cos/chemistry
(legacy URL preserved)
Two paths to preserve SEO parity once static pages move to Collection CMS items. Both unblock the static-pages cap; they differ in URL appearance and operational footprint.
How each section behaves under the chosen URL strategy. News, Media, and Profiles are unaffected by the Option A vs B decision — their Webflow-native URLs already match what should be served publicly. Only Academics (and other sections moving into the CMS-with-HTML-dump approach) depend on the choice between Option A and B.
| Section | Legacy URL (uno.edu) | New URL in Webflow | Legacy SEO treatment | New content (post-launch) |
|---|---|---|---|---|
| News | /news/2024-03-15/spring-jazz |
/news/spring-jazz |
301 redirects (date-prefix removal) | Flat directly — no transformation |
| Media | /media/12345/download |
/media/12345 |
Single wildcard 301 rule | Flat directly — no transformation |
| Profiles | /profile/jdoe |
/profile/jdoe |
None — URL already flat | Flat directly — no transformation |
| Academics + other CMS-HTML | /academics/cos/chemistry |
/academics/cos-chemistry |
Depends on Option A or B | Depends on Option A or B |
url_path field in the CMS — the editor picks hierarchical or flat per item. No rule-based ambiguity.