The brief
CUS Insubria — the sports center of Università degli Studi dell'Insubria (Varese + Como campuses) — needed a public site that could carry every sport it runs as a first-class entity: atletica leggera, pallavolo, calcio, basket, and the rest, each with its own coaches, schedule, tesseramento flow, and contacts. On top of that, membership had to be purchasable online without the front desk having to type each row into a spreadsheet at the start of every season.
The starting point was a legacy setup: PDFs for schedules, in-person tesseramento at the office, one page per sport hand-maintained.
What we built
- A dynamic "Le sezioni" backbone. Each sport is a JetEngine custom-post entity with its own schedule, coaches, tesseramento page, and contact block. Adding a sport is a form fill, not a copy-paste-and-hope-the-menu-updates.
- Online tesseramento via WooCommerce. Card + insurance purchasable directly from the site, receipts sent automatically, with per-season pricing baked into the product catalog. No more per-student front-desk data entry.
- Elementor Pro layouts staff can actually edit. Season changes, new coaches, campus swaps — done by CUS staff from the WordPress admin, without dev support.
- Multi-campus navigation. Varese and Como campuses share a common shell but each sport can flag its own campus so students filter to what's near them.
Stack
- WordPress · Astra theme (custom child)
- Elementor Pro (page builder + templates)
- JetEngine + JetMenu + JetElements + JetTabs (Crocoblock) — dynamic content types for the per-sport sections
- WooCommerce — online tesseramento sales
- Our Team Widget for Elementor — coaches / staff blocks
- Download Manager — PDF/document distribution
- Google Site Kit — analytics
- PHP · MySQL
Outcome
- Live at cusinsubria.it · still in production
- Tesseramento moved from office-only to self-serve, with payment at purchase
- Staff owns the seasonal updates — new sports, new schedules, new coaches — without dev involvement
- Every sport gets its own SEO-friendly landing without a duplicated page for each

