Language School Hosting

Language school hosting where the timetable is right everywhere.

Your students are in other countries. That single fact decides how the schedule is stored, when the reminder emails go out, and why the same lesson page has to be cached more than once.

Schedules stored in UTCReminders on platform cronFree migration
Timezone-correct schedulingPer-language cachingRedis object cacheDaily backupsFree SSL24/7 support
Built for teaching across timezones

Everything a language school asks of a host.

A booking system, a course area and a marketing site in several languages, all of which disagree about what time it is.

Class times that survive the border

Sessions are stored in UTC and rendered in the reader's timezone, so a class at nine in Madrid is not a class at nine in Bogota just because the page says so.

Stored UTCRendered locally

Each language cached on its own

Translated pages are separate documents with separate cache entries, so a visitor never lands on a cached page in the wrong language because they happened to arrive second.

Per-language keysNo cross-language bleed

Course areas that stay dynamic

Lesson pages, progress and homework submissions are per-student, so they bypass the page cache entirely while the course catalogue and the marketing pages keep serving from the edge.

Reminders that leave on schedule

A reminder an hour before class is only useful if it goes out an hour before class. Platform cron runs it at that moment rather than when the next visitor happens to load a page.

Recordings served without a worker

Recorded lessons are delivered with range requests from the edge, so a student scrubbing through an hour of video never occupies a PHP process.

Staging for a new term

Rebuild the timetable, the levels and the pricing on a clone, check the times still read correctly, then push it.

Operations

One dashboard for term-time.

The failures on a school site cluster around dates: a cron that did not fire before a class, a translated page that went stale, a plugin update mid-term.

  • One-click admin login, no shared passwords
  • Per-site resource and storage view
  • Plugin and core updates with per-item status
  • Restore any daily backup from the dashboard
Class reminders
Platform cron
on time
Languages
Cached separately
5/5
Course area
Bypasses page cache
dynamic
Nightly backup
Replicated offsite
01:48
Performance

The timetable, from anywhere.

Marketing pages cache and course pages cannot, which is a familiar split. The unfamiliar part is that both have to be correct in five languages and every timezone your students live in.

UTC
stored, rendered locally
Redis
object cache, on by default
14
edge regions
MagicWP140 ms
One cache entry for all languages700 ms
Untuned shared host950 ms

Illustrative comparison of a timetable page. Your numbers depend on language count and how many sessions render at once.

Configuration

What we change for a language school

These differ from a standard WordPress site on the same plan, and each follows from teaching people who are not in your timezone.

SettingWhat we doWhy
Schedule storageUTC in the database, converted at renderStoring a local time and a label means every daylight saving change silently moves classes for half the students and nobody notices until somebody misses one.
Cache keysLanguage included, so translations never share an entryA shared entry means the first visitor decides which language everybody after them sees, which is the failure that looks like a broken translation plugin.
Reminder schedulingPlatform cron rather than visitor-triggeredA pre-class reminder that waits for the next page view arrives after the class it was reminding about, particularly overnight in your timezone.
Course area cachingBypassed on lesson, progress and submission URLsHomework and progress are per-student, and a cached lesson page would show one student another student's work.
Recording deliveryRange requests served from the edgeA student scrubbing through a recorded lesson issues many partial requests, and answering those from PHP occupies a worker for the length of the video.
Plans

Simple, transparent pricing.

Every plan includes free migration, daily backups, SSL and 24/7 support.

MonthlyYearly
Starter
For personal sites, blogs, and portfolios.
$20/mo
Billed $240 yearly · save $60
  • 1 WordPress site
  • 10 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Support tickets
Start free trial
Pro★ Most popular
For growing businesses and busy stores.
$80/mo
Billed $960 yearly · save $240
  • 5 WordPress sites
  • 50 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Priority support tickets
Start free trial
Enterprise
For agencies and high-traffic platforms.
$250/mo
Billed $3000 yearly · save $600
  • 20 WordPress sites
  • 200 GB NVMe disk
  • Free SSL
  • Daily backups
  • One-click deployment
  • Dedicated support
Start free trial
FAQ

Questions, answered.

Why do class times show incorrectly for some students?
Because the time was stored as a local string rather than as UTC. Storing UTC and converting at render is the fix, and it is also what keeps daylight saving from moving half your timetable twice a year.
Do translated pages need separate caching?
Yes. If translations share a cache entry the first visitor decides the language for everyone after them, which reads as a translation plugin bug and is actually a cache key problem.
Will reminder emails go out overnight?
They will, because the scheduler runs on the platform rather than waiting for a visitor. A school site is quiet at three in the morning and that is exactly when a reminder for an early class has to be sent.
Can students watch recorded lessons without slowing the site?
Yes. Recordings are served from the edge with range requests, so seeking through a video is bandwidth rather than a PHP worker held open for its duration.
Can I set up next term without disturbing this one?
Build it on a clone. A new term changes the timetable, the levels and often the pricing together, so checking it as a whole is safer than editing the live schedule mid-course.

Teach in five timezones from one site.

Start in minutes, or let our team move your school site across - no card, no commitment.