A school website has more authors than most. The office posts the term dates, a teacher updates their class page, the head writes the newsletter, and the admissions team answers the same enrollment questions every week. When all of that goes through one person with the login, the site falls behind the school.
Total CMS gives each of them a form for their own part of the site, on a server you control, and keeps the pages built from what they enter. It suits a private school, a language academy, a dance or martial-arts studio, or a driving school just as well.
Courses, classes and the people who teach them
With Pro, courses and staff are collections with their own fields: a course has its level, age range, schedule, price and photos; a teacher has a photo, a bio and the subjects they teach. A relational field links each course to its teachers, so a teacher's page lists their classes and a class page shows who teaches it, without anyone keeping two lists in step.
Each course gets a page of its own with its own search title and description, and the course list can be filtered by age, level or day. Change the schedule in one form and every page that shows it changes with it.
A bilingual school can keep both languages in the same record: localized text fields (Pro) hold one value per language, set up in Settings → Internationalization, and the template shows the language of the page the visitor is on, so /courses/junior-strings and /fr/cours/junior-strings read the same record.
News, events and photos
The built-in blog schema covers school news: dated posts with a summary, an image and categories, so "Admissions", "Performances" and "Parents" can each have a list of their own and an RSS feed. Galleries hold the photos from the recital or the sports day, resized for every screen from one upload.
Enquiries and enrollment
Enquiry forms (Pro) save each submission as a structured record and email it to the right person in the office, so a trial-lesson request or an admissions enquiry never sits in someone's personal inbox. The records export to CSV for whatever system the office already uses.
For classes with limited places or a fee, bookings with Relay Queue adds capacity, a waitlist and the confirmation emails.
A private area for parents or students
Parents and students sign in through their own auth collection, separate from the staff who edit the site, so their accounts can never reach the admin. Access groups lock whole pages or parts of a page: the handbook, timetables, permission forms and recital videos for families, the class notes for one year group. The files carry the same groups, so a forwarded download link doesn't open for anyone outside them. Accounts can expire at the end of a term, and password resets are built in. Members areas covers the details.
Where it stops
- It isn't a school management system. Student records, attendance, grades, report cards and fee billing belong in the system the office already runs. The website sits beside it.
- It isn't a learning platform. There are no quizzes, assignment hand-ins or progress tracking. Course materials can sit behind a login, but teaching online needs an LMS.
- It doesn't send messages to parents' phones. The bulk mailer (Pro) can email every family account, but texts and app notifications go out the way they do today; the site holds the record of them.
- Someone builds it once. The collections, forms and locked pages are configuration, not a wizard. Plan on a person comfortable in the admin, or a freelancer.
What you need
- Standard for the blog, gallery and file depot schemas, access groups, custom auth collections for parents or students, and locked pages and files.
- Pro for course and staff collections with your own fields, the relational links between them, localized text for a bilingual site, an enquiry form that saves its records, and bulk email to families.
- Any host with PHP 8.2 or later, with no database to set up.