CoroAllegro
Case StudyCoroAllegro is Delaware's chamber choir, singing in Wilmington since 1987, and its 40th Anniversary Gala was coming in November 2026. The website was on Wix, and keeping it current took more time than a volunteer board has. The real need was not a new look. It was a site the board could update on its own, with one clear way to buy a gala ticket. I rebuilt it as eight pages on the choir's own Cloudflare account, with event details, the calendar and rehearsal materials kept in a Google Sheet the board already knows how to use.
Visit CoroAllegro.com
Project Overview
The board came to me with a date. The gala was in November, and they wanted a website that could carry it. The old site was on Wix and had become hard to maintain.
When I looked closer, a few things mattered more than the design. Links to the gala pointed to two different ticket pages. The newsletter signup did not add anyone to the newsletter. It sent an email to a volunteer, who then had to add each person to the list by hand.
One problem turned up during setup that nobody had asked about. The choir's domain did not have DKIM signing set up properly. DKIM is the signature that lets an email provider confirm a message really came from the domain it claims, and without it, the choir's mail was not reaching AOL addresses. I set it up as part of the move.
My main recommendation was about who keeps the site current. The things that change every season, event dates and times, the rehearsal calendar, and the scores and practice tracks for the singers, live in a Google Sheet the board edits. A custom admin screen would have been one more login and one more tool to learn. A spreadsheet matches how a season actually gets entered: a whole season of dates in one sitting.
A Website the Board Edits in a Spreadsheet
One Google Sheet holds everything that changes during a season. The site reads it when it builds, so an edit in the Sheet becomes a change on the website without anyone opening code.
One Way to Buy a Gala Ticket
Every gala link on the site, including the gold Gala Tickets button in the header, goes to one gala page. That page has one Buy Tickets button, and it goes to one ticketing page at the venue. A visitor never has to decide which of two links is the right one.
The ticket link itself is a cell in the Events tab. If the venue changes the ticketing page, the board changes one cell and every button on the site follows.
Signups and Messages That Reach the Right Place
Leaving Wix Without Losing a Link
Years of Wix pages leave a trail of old addresses in search results, emails and other sites. Every page in the old site's Wix page sitemap now lands somewhere sensible, through 23 permanent redirects. The old singers and board pages go to About, old performance and ticket pages go to Concerts, and old audition pages go to Auditions.
The site and its domain now sit on the choir's own Cloudflare account. The board owns the hosting, the code and the content, and the domain's email records were checked before and after the switch so the choir's existing mail kept flowing. Two months of updates after launch are included, through December 2, 2026.
Results at a Glance
Google PageSpeed Insights
I read these scores on October 5, 2026. PageSpeed moves a few points from run to run, so a fresh test may land slightly higher or lower. Run it yourself on PageSpeed Insights, or see the site's structured data in Google's Rich Results Test.
About that mobile 94
The homepage opens with a wide band of choir photos that crossfade, and on a phone the first photo is the largest thing on the screen. That is a deliberate trade: a choir site should open on the choir. The first photo reaches a phone as a 17 to 21 KB AVIF, the other photos wait until the page has finished loading, and visitors who prefer reduced motion never download them at all. Mobile Performance ran between 87 and 94 across three reads on the same morning, which is normal variation for PageSpeed's simulated phone. Desktop was 100 every time.
The Bottom Line
What this means for the choir, in plain terms:
- The board keeps concerts, the calendar and rehearsal materials current from a spreadsheet, without waiting on a developer.
- Everyone who wants a gala ticket is sent to the same place.
- Everyone who signs up for the newsletter is on the newsletter.
- Old Wix links from search results and past emails still lead somewhere useful.
- The choir owns its hosting, its code and its content.
The site went live on October 2, 2026, so it is too early for search or ticket numbers. I will add them here once there is a season's worth to report.
SEO Strategy
Someone searching for a choir to hear, or one to join, should find CoroAllegro and get the right facts. The event data is generated from the same Sheet rows that build the event pages, so the two never disagree.
PerformingGroup Schema on Every Page
JSON-LD identifies CoroAllegro as a performing group with its Wilmington address, on all eight pages.
Event Schema With Tickets
The gala page and the spring 2027 event page carry Event markup with the date and description. The gala adds its venue and a ticket Offer.
Descriptive Titles
Each page title names the choir and what the page is for, starting with “Delaware’s Chamber Choir in Wilmington” on the homepage.
Redirects Keep Old Rankings
23 permanent redirects carry the old Wix addresses to their new equivalents, so search engines transfer what those pages had earned.
Search Console From Day One
The domain was verified in Google Search Console with its sitemap on launch day, so indexing can be watched from the start.
Share Images
Pages carry Open Graph images, so links shared on Facebook or in a text message show the choir, not a blank box.
Mobile and Accessibility
Accessibility scores 100 on mobile and desktop. A choir's audience spans every age, so these details were checked page by page, not left to the score:
AI Discoverability
People now ask AI assistants things like “what concerts are on in Wilmington this fall.” The site gives them a clean answer:
Technology Stack
| Component | Technology |
|---|---|
| Framework | Next.js static export with Tailwind CSS |
| Hosting | Cloudflare Pages, on the choir’s own account |
| Domain / DNS | Cloudflare (client-owned) |
| Content | Google Sheet and Google Drive folders, read at build time |
| Publishing | Sheet-triggered rebuild after five quiet minutes, plus a nightly rebuild |
| Forms | Cloudflare Pages Function, sending through Resend |
| Newsletter | Signup form posting directly to Mailchimp |
| Members’ Area | Password-protected, with rate-limited sign-in |
| Images | Resized at build with sharp; AVIF / WebP with JPEG fallback |
| SEO | JSON-LD (PerformingGroup, Event, Offer) + Open Graph |
| Monitoring | Google Search Console |
Kevin did an amazing job refreshing and streamlining our CoroAllegro web site. He is not only an expert in the mechanics of web site builds, but also has a great designers eye, capturing the essence and feel of our organization. Additionally, he saved us real money on website hosting fees! Kevin was fun to work with and actd as an adjunct arm of our “marketing department”.