πŸ“ž 24/7 Support: 03 111 404 111πŸ’¬ WhatsApp Us
πŸ”’ Client Portal

Agency Hosting

How to Host 50+ Client Sites Without Burning Your Margins

By Pakish Technical Team9 min read

How to Host 50+ Client Sites Without Burning Your Margins

Most Pakistani web agencies start hosting client sites as an afterthought. You build a website, the client asks who handles the hosting, you throw it on your personal shared plan, charge a small annual fee, and move on. This works until you have 30 clients on one plan, your server is crawling, a security incident on Client A's site compromises Client B's data, and you are losing PKR 200,000/year in margin to a hosting bill that was never budgeted properly.

Hosting is a recurring revenue stream with real engineering requirements. This guide is for Pakistani agency owners who want to run a clean, scalable, profitable hosting operation for 50 or more client sites β€” without it consuming their technical bandwidth.


The Economics of Agency Hosting

Before getting into architecture, understand the financial model:

Agency Hosting P&L (50 clients, typical Pakistani agency) ──────────────────────────────────────────────────────── Revenue Hosting fees: 50 clients Γ— PKR 5,000/year = PKR 250,000/yr Maintenance add-on: 20 clients Γ— PKR 3,000/month = PKR 720,000/yr Email hosting: 30 clients Γ— PKR 2,400/year = PKR 72,000/yr Total Revenue: PKR 1,042,000/yr Costs Dedicated server: PKR 25,000/month = PKR 300,000/yr Control panel: PKR 55,000/yr (DirectAdmin) or PKR 154,000/yr (cPanel) SSL management: PKR 0 (Let's Encrypt via control panel) Backup storage: PKR 12,000/yr Monitoring: PKR 0 (UptimeRobot free tier) Total Costs (DA): PKR 367,000/yr Gross Profit: PKR 675,000/yr Margin: 64.8%

A 64% gross margin on a recurring revenue base is excellent by any standard. The problem is that most Pakistani agencies never formally calculate this β€” they undercharge, overspend on infrastructure, or lose clients to speed issues and never understand why.


The Three-Tier Architecture for Pakistani Agencies

Agencies hosting 50+ sites need to think in tiers based on client traffic and risk profile:

Tier Architecture for 50+ Sites ──────────────────────────────────────────────── β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Tier 3 β€” High-Traffic / Mission-Critical (5–10%) β”‚ β”‚ Dedicated VPS per client. SLA guarantee. β”‚ β”‚ Price to client: PKR 20,000–60,000/year β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Tier 2 β€” Medium-Traffic (30–40%) β”‚ β”‚ cPanel/DA reseller, max 20 sites per server. β”‚ β”‚ Price to client: PKR 8,000–18,000/year β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Tier 1 β€” Low-Traffic Brochure Sites (50–60%) β”‚ β”‚ Shared hosting reseller, CloudLinux isolated. β”‚ β”‚ Price to client: PKR 3,000–7,000/year β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The most common mistake Pakistani agencies make is putting all 50 clients on one Tier 1 server. This maximises density but creates a single point of failure, guarantees performance complaints from Tier 2 and Tier 3 clients, and creates unlimited liability when one compromised site takes down 49 others.


CloudLinux: The Non-Negotiable Layer

If you are running any shared hosting operation in Pakistan β€” even for 10 clients β€” CloudLinux is not optional. It is the technology that makes shared hosting manageable at scale.

CloudLinux installs a modified Linux kernel that creates an isolated environment called a Lightweight Virtual Environment (LVE) for each hosting account. Under CloudLinux:

  • Client A's PHP script cannot consume more than the CPU quota you allocate
  • A compromised WordPress installation on Client A cannot read Client B's files, even on the same server
  • Memory leaks in one account do not cause OOM (out-of-memory) kills for other accounts
  • You can set per-account limits via WHM or the DA panel
# View real-time resource usage per account (CloudLinux)
lveinfo --current --by-cpu --limit 10

# Output:
# ID       CPU    MEM    IO    NPROC
# client_a  45%    512M   2MB/s  15
# client_b  2%     128M   0MB/s  4
# ...etc

# Temporarily restrict a misbehaving account
vlimit -u client_a --cpu 20

Cost: ~PKR 4,500/month per server. Non-negotiable for any serious shared hosting operation.


Setting Per-Client Resource Limits

Define package tiers in your control panel and enforce them consistently:

| Package | CPU | RAM | I/O | Domains | Price/yr | |---------|-----|-----|-----|---------|----------| | Starter | 1 core | 512MB | 10MB/s | 3 | PKR 3,500 | | Business | 2 cores | 1GB | 25MB/s | 10 | PKR 7,000 | | Pro | 4 cores | 2GB | 50MB/s | 30 | PKR 14,000 |

Document these limits in your client contracts. When a client's WooCommerce store goes viral during a sale and spikes CPU to 300%, your system throttles it rather than crashing 49 other sites β€” and you have the contractual basis to upsell them to a VPS plan.


Security Isolation: The Part Most Pakistani Agencies Get Wrong

The Problem With Shared PHP Execution

By default on shared hosting, all PHP scripts run as the same system user (usually nobody or www-data). This means a PHP vulnerability in Client A's outdated plugin can read β€” and modify β€” Client B's WordPress configuration files, database credentials included.

The Fix: PHP-FPM With Per-Account Pools

# /etc/php/8.2/fpm/pool.d/client_a.conf

user  = client_a
group = client_a
listen = /run/php/client_a.sock
pm = dynamic
pm.max_children = 8
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 4

With PHP-FPM per-account pools:

  • Each account runs PHP as its own system user
  • File permissions are properly isolated
  • OPcache is per-pool (faster, no cross-account cache poisoning)
  • You can tune max_children per client tier

Both cPanel (via MultiPHP FPM) and DirectAdmin (via CustomBuild 2.0) support this configuration. It should be the default for any agency hosting operation in 2026.


Automated Backup Strategy

Data loss is not a hosting problem. It is a trust problem. One Pakistani agency owner who loses a client's complete e-commerce order history due to absent backups will spend years recovering that reputation.

The 3-2-1 Backup Rule Applied to Pakistani Agencies

  • 3 copies of data (live + 2 backups)
  • 2 different storage media (local disk + remote)
  • 1 offsite copy (cloud storage outside the hosting server)
# Daily backup script for cPanel/DA server
# Add to cron: 0 2 * * * /usr/local/bin/agency-backup.sh

#!/bin/bash
DATE=$(date +%Y-%m-%d)
BACKUP_DIR="/backup/daily/$DATE"
REMOTE="backup-user@backup-server:/backups/agency/$DATE"

mkdir -p $BACKUP_DIR

# cPanel: Backup all accounts
/scripts/pkgacct --backup $BACKUP_DIR --all

# Sync to remote (encrypted rsync)
rsync -avz --delete -e "ssh -i /root/.ssh/backup_key" \
  $BACKUP_DIR $REMOTE

# Clean up local backups older than 7 days
find /backup/daily/ -maxdepth 1 -mtime +7 -type d -exec rm -rf {} \;

echo "Backup complete: $DATE" | mail -s "Backup OK" admin@youragency.com

For Pakistani agencies, a PKR 3,000–5,000/month backup VPS (separate from the hosting server) is the minimum acceptable offsite backup solution. Cloud storage options (Backblaze B2 at ~USD 6/TB/month) are even cheaper.


Pricing Your Hosting Correctly

Most Pakistani agencies undercharge for hosting because they benchmark against Hostinger or Namecheap consumer plans. Your clients are not buying commodity shared hosting β€” they are buying managed hosting from their trusted agency partner. The comparable service is not Hostinger Basic; it is Kinsta, WP Engine, or Cloudways.

Pricing Framework

| What You Provide | What It's Worth | |-----------------|----------------| | Hosting infrastructure | PKR 1,500–3,000/year (your cost) | | WordPress updates and monitoring | PKR 2,400–4,800/year (your time) | | Security scanning | PKR 1,200–2,400/year | | Backups and restore (SLA) | PKR 1,200–2,400/year | | Total value delivered | PKR 6,300–12,600/year | | Fair client price | PKR 8,000–18,000/year |

Agencies charging PKR 3,000/year for hosting are essentially giving away labour for free. Charge what the full service is worth.


White-Labelling and Client Communication

If you use cPanel or DirectAdmin, you can white-label the client interface with your agency's branding:

cPanel white-labelling:

# WHM β†’ Tweak Settings β†’ Company name
# WHM β†’ Change cPanel Theme Style β†’ Custom logo

DirectAdmin white-labelling:

  • Admin Panel β†’ Custom Branding β†’ Upload agency logo
  • Customise email notifications with agency name and colours

When a client sees "Powered by YourAgency" instead of "cPanel" or "DirectAdmin," they perceive the hosting as a proprietary product of yours β€” not a commodity service. This reduces price sensitivity and churn.


Handling the Nightmare Scenarios

Scenario 1: Client Site Gets Hacked

Response Protocol: 1. Immediately isolate account (suspend in WHM/DA) 2. Clone/snapshot for forensic investigation 3. Restore from last clean backup 4. Apply WordPress hardening (file permissions, wp-config.php) 5. Install Wordfence or equivalent scanner 6. Communicate professionally to client (blame the plugin, not your setup) 7. Bill for clean-up time if it was their plugin/theme choice

Scenario 2: Server Goes Down at 2am Pakistan Time

  • UptimeRobot alert triggers immediately
  • Your on-call rotation (or just you) gets a text
  • If provider SLA covers the issue, open a ticket and wait
  • If it is your server (self-managed), SSH in and check journalctl -p err -b for the last boot's errors

For agencies charging premium managed hosting rates, a support SLA of 4-hour response and 24-hour resolution is a fair commitment. Make sure your hosting infrastructure provider can back that up.

Scenario 3: Client Demands Their Site Be Moved Out

Build this into your hosting contracts: a domain ownership guarantee (clients own their domain, always) and a 30-day offboarding clause (you provide a full cPanel backup file). This removes the toxic lock-in perception that makes Pakistani clients distrust agency hosting and protects you from emergency migrations that consume a day of staff time.


Conclusion

Hosting 50+ client sites profitably is an engineering and business discipline, not an afterthought. The agencies that do it well in Pakistan are running CloudLinux-isolated shared hosting for standard clients, dedicated VPS for high-traffic accounts, automated daily backups to offsite storage, and charging correctly for the managed service they actually provide.

The ones burning their margins are running everything on one under-resourced server, charging PKR 2,000/year, and wondering why their referral network is drying up.

Build your agency hosting operation on the right foundation. Explore (/agency-hosting) β€” designed specifically for Pakistani web agencies with reseller accounts, CloudLinux isolation, and PKR billing.