This is a research guide based on cited documentation. It is not a report of firsthand testing. Our editorial method

The formula, one line at a time

A course site is billed on whatever the host meters. Managed WordPress hosts such as Kinsta and WP Engine meter visits; a cloud server such as a DigitalOcean Droplet meters outbound transfer; premium shared plans such as SiteGround's list unmetered traffic with an estimated visit capacity. The calculator below works for all three because each line is zero when the host does not charge for it.

Effective base price: (introductory months x introductory price + remaining months x renewal price) divided by the months you plan to stay. SiteGround's plan page, for example, lists StartUp at $2.99 a month that 'renews at $17.99/mo', prepaid for 12 months and excluding VAT, so a two-year horizon averages the two.

Visit overage: max(0, monthly visits - included visits) / 1,000 x the host's rate. Kinsta lists $0.50 per 1,000 visits; WP Engine lists $2 per 1,000 extra monthly visitors on the plans named in its billing article.

Bandwidth or transfer overage: max(0, GB served - included GB) x rate. Kinsta lists $0.50 per GB of server bandwidth and $0.05 per GB of CDN bandwidth; DigitalOcean bills additional Droplet outbound transfer at $0.01 per GiB, pooled across the team's Droplets.

Storage overage: Kinsta prorates disk overage at $2 per GB per month (it also sells a disk space add-on; check its price in MyKinsta). Add-ons: anything you pay monthly to make the plan fit, such as Kinsta's PHP performance add-on ($10 per additional 500MB of memory pool) or DigitalOcean's backups (20% of the Droplet price weekly, 30% daily).

  • Cost per active student = monthly total / students who logged in at least once that month.
  • Use active students, not total enrolments; dormant accounts cost nothing in visits.
  • Run the formula twice: a normal month and your launch or cohort-start month.

Estimating visits for a course site

Kinsta counts a visit as a unique IP address recorded within each 24-hour period in its server logs. WP Engine counts one unique IP address per day (UTC) and excludes static assets, known and suspected bots, and requests that return 403. Both definitions mean a student who logs in on 20 days of the month is roughly 20 visits, however many lessons they open on each of those days.

A workable estimate: active students x average login days per month + marketing visits from your analytics. Students on mobile networks may appear under more than one IP address in a day, so add a margin (we use 10 to 20 percent as an assumption, not a measured figure) until you have a month of the host's own visit report.

WP Engine states that visits cannot be bought as an add-on, only raised by upgrading the plan, and that overages are charged monthly even on annual plans. Kinsta says it keeps sites running and charges the overage fee.

Inputs and where to find each number

InputWhere to get itExample value used below
Active students per monthLMS reports or a count of distinct logins300, 1,500
Login days per student per monthLMS activity log; assume 15 to 20 for a weekly-cadence course18 to 20
Marketing visits per monthYour analytics, sessions on public pages15,000 to 20,000
Launch-month extra visitsLast launch, or email list size x expected click rate30,000
Disk usedHost dashboard or du on the server, including uploads and backups if billed14 GB
Bandwidth served from the serverHost analytics; mostly downloads and any self-hosted videoLow if video is off-server
Introductory vs renewal pricePlan page fine print on the day you buy$4.99 then $29.99 (SiteGround GrowBig)
Monthly add-onsAdd-on price pages$10 PHP memory, 30% backups

Worked example 1: a 300-student course on SiteGround GrowBig

Hypothetical site: 300 active students who log in on 20 days a month (6,000 visits) plus 15,000 marketing visits, about 21,000 visits in total. SiteGround's plan FAQ estimates GrowBig at approximately 100,000 monthly visits and lists traffic as unmetered, so there is no visit or bandwidth line. GrowBig includes 50 GB storage, staging and daily plus on-demand backups.

Base price: $4.99 a month prepaid for 12 months, then $29.99 a month. Year one is $59.88; year two is $359.88. Averaged over 24 months the effective base is $17.49 a month.

Cost per active student: $4.99 / 300 = about 1.7 cents in year one, $29.99 / 300 = 10 cents in year two, and about 5.8 cents on the two-year average. The renewal price, not the introductory one, is the number to plan around.

Worked example 2: a 1,500-student course on Kinsta Single 65k

Hypothetical site: 1,500 active students logging in on 18 days a month (27,000 visits) plus 20,000 marketing visits gives 47,000 visits, inside the 65,000-visit plan listed at $50 a month (or $42 a month billed annually). Disk is 14 GB against 10 GB included.

Normal month on monthly billing: $50 base + $10 PHP performance add-on (one extra 500MB of memory pool so quiz pages get more PHP threads) + 4 GB x $2 storage overage = $68, or about 4.5 cents per active student.

Launch month: an extra 30,000 visits takes the total to 77,000, which is 12,000 over the allowance: 12 x $0.50 = $6 in visit overage. The month costs $74, about 4.9 cents per active student. On annual billing the base drops to $42 and the normal month to $60.

If the same site served 100 GB of video from the server, the bandwidth-billed plan variant would add $0.50 per GB beyond its allowance; moving video to a streaming service usually removes that line.

Worked example 3: the same 1,500 students on a DigitalOcean Droplet

A Basic Droplet with 4 GiB memory and 2 vCPUs is listed at $24 a month with 4,000 GiB of transfer. Daily backups add 30% ($7.20), making $31.20, or about 2.1 cents per active student. There is no visit metering.

What the low number leaves out: DigitalOcean's shared responsibility model says you secure the operating system and the applications you deploy, so the server work (updates, PHP tuning, monitoring, restores) is yours or your contractor's. Add any server control panel subscription and a support plan if you want faster answers (DigitalOcean lists Developer support at $24 a month with a response target under 8 hours).

Transfer overage is $0.01 per GiB beyond the pooled allowance, so even 1,000 GiB over is $10. On this model the cost risk is your time, not the invoice.

Assumptions to change before you trust the result

  • Replace login days with your LMS data after one month; it is the largest driver on visit-metered plans.
  • Use the renewal price for every month after the introductory term.
  • Add VAT or sales tax if your plan page says prices exclude it (SiteGround's do).
  • Add the launch month separately; a single average hides the month that triggers overages.
  • If you self-host video, model bandwidth separately or move it off the web server first.
  • Count staging and extra environments if your host bills them as sites.
  • Re-check the price pages on the day you buy; every figure here is as published on 29 October 2026.

Questions before you decide

Should I divide by total enrolled students or active students?

Active students. On visit-metered hosts a student who never logs in generates no visits, so dividing by enrolments understates your real cost per learner who uses the site.

Why does a course site use more visits than a blog with the same traffic?

Kinsta and WP Engine count a unique IP once per day, so a student who returns on 20 days is 20 visits. A blog reader who visits once a month is one visit.

Is the cheapest per-student result always the best choice?

No. The Droplet example is cheapest on the invoice because you take on server administration. Price the hours you or a contractor will spend before comparing it with a managed plan.

Sources & verification

Product details and prices can change. Check the linked provider before buying.

  1. SiteGround: Web hosting plans Accessed 29 Oct 2026
  2. Kinsta: WordPress hosting plans and pricing Accessed 29 Oct 2026
  3. Kinsta: WordPress hosting overages Accessed 29 Oct 2026
  4. Kinsta: Billing for WordPress hosting plans Accessed 29 Oct 2026
  5. Kinsta: PHP performance (threads and memory pool) Accessed 29 Oct 2026
  6. WP Engine: Understand billable visits Accessed 29 Oct 2026
  7. DigitalOcean: Droplet pricing Accessed 29 Oct 2026
  8. DigitalOcean: Bandwidth billing Accessed 29 Oct 2026
  9. DigitalOcean: Support plans Accessed 29 Oct 2026
  10. DigitalOcean: Shared responsibility model Accessed 29 Oct 2026

Sources link directly to providers. Product buttons may use separately labeled affiliate links. Read our disclosure.

Your decision at a glance

Compare the options

Full comparison

Documentation-based guidance. No tested ranking or performance score.

Managed WordPress

Kinsta

Consider it for
Use Kinsta Single 20GB, listed at $35/month, when a WordPress course site needs published PHP-capacity controls and a staging rehearsal.
Starting cost
Single 20GB listed $35/month on 2026-09-15; first-month promotions and annual billing change the cash invoice
Before you choose
Do not treat visitor allowances as class concurrency. No plan here is verified for a specific learner count.

Checked 15 Sep 2026 · Pricing source

View Kinsta plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Managed WordPress

WP Engine

Consider it for
Use WP Engine Essential when the quoted plan covers your plugin stack, membership cache rules, and an isolated staging copy.
Starting cost
Essential 1-site card displayed $336/year on 2026-09-15 with promotional first-year pricing; confirm undiscounted checkout
Before you choose
Skip if you cannot rehearse membership access and payments at the destination. No measured speed advantage is claimed.

Checked 15 Sep 2026 · Pricing source

View WP Engine plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure

Shared hosting

SiteGround

Consider it for
Use SiteGround StartUp, advertised at $2.99/month for a prepaid first 12 months then $17.99/month, when one WordPress site needs shared hosting rather than a server you administer.
Starting cost
StartUp first-term $2.99/mo prepaid 12 months, renews $17.99/mo on 2026-09-15 (world page: ex. VAT); 1 website, 10GB, ~10,000 visits marketing estimate
Before you choose
Visit marketing estimates are not class concurrency. Renewal is $17.99/mo after the prepaid term. No course-capacity test is claimed.

Checked 15 Sep 2026 · Pricing source

View SiteGround plans

Affiliate link: we may earn a commission on an eligible purchase. Link disclosure

Cloud VMs

DigitalOcean

Consider it for
Use a DigitalOcean Droplet when you will administer a cloud VM, not when you need managed WordPress hosting.
Starting cost
Basic Droplet listed from $4.00/mo (512 MiB, 1 vCPU, 10 GiB SSD, 500 GiB transfer) on 2026-09-15; 3 static sites listed free. Confirm live checkout and bandwidth overage.
Before you choose
A listed VM size is not a WordPress or course-capacity claim. You own OS, updates, backups, and mail unless a separate product says otherwise. The static-site free tier is not a course site.

Checked 15 Sep 2026 · Pricing source

View DigitalOcean plans

Direct provider link; no affiliate tracking added by this publication. Link disclosure