Delivering client photos through a public link or a third-party gallery host has the same drawback every time: the photographer doesn’t fully control it. Storage tiers cap how much you can host before the price jumps. Client counts get metered. Links expire and clients email asking for access again months later. And when a client needs to send something back, a mood board, a set of reference shots, or their own selects from a shoot, there’s rarely a clean way to do that inside the same gallery they already have.
What photographers actually need is closer to a client portal than a gallery link: a photo sharing website for photographers where each client logs into their own private space, sees only their own work, and can upload back to it when they need to. Not a public feed, and not a tool that counts clients against a plan tier.
Why a self-hosted gallery changes the economics
Most client-gallery hosts price around how many clients or how much storage you use, which means the tool gets more expensive as your business grows. A self-hosted plugin doesn’t work that way: nobody counts members, and nothing expires.
| Typical hosted client gallery | Self-hosted client galleries |
|---|---|
| Priced per client or storage tier | One plugin cost, not per client |
| Client access expires after a set period | Files stay on your own site until you remove them |
| Client can view, rarely upload | Client has their own login and can upload back |
| Your photos live on someone else’s platform | Files stay on your own server, or your own cloud bucket with Pro |
Each client stays in their own space
Every client gets a private album, and every photo carries its own privacy level too, so a delivered gallery for one client is never visible to another. Each client also has a personal media library, which is what makes the upload-back part work: when a client logs in and uploads their selects, reference images, or their own event photos, those land in their own space, separate from your delivered work and separate from every other client’s.
Setting galleries up by client type
| Client type | Typical use | Layout |
|---|---|---|
| Wedding or portrait client | Private delivery gallery, client can upload favorites for prints | Grid, filtered to that client |
| Commercial or brand client | Curated public portfolio piece plus a private raw-selects album | Dribbble or Pinterest |
| Ongoing retainer client | Recurring uploads both directions over months | Flickr, sorted by tag per shoot |
How you’d set this up
- Install MediaVerse on your photography site, self-hosted so files stay on your own server.
- Create a private album per client and set its privacy so only that client can see it.
- Give each client a login, and let them know they can upload their own selects or reference photos into their album.
- Drop the gallery grid block on each client’s page, filtered to their member account or album.
- Use the moderation queue if you want to review anything a client uploads before it’s visible on their page.
- If storage on your own server becomes a constraint, move the library to your own cloud bucket and set per-client upload quotas, both Pro options.
What this does not do
This isn’t a proofing tool with print ordering, contracts, or invoicing built in; it manages the gallery and the upload relationship, not the business side of a shoot. There’s no watermarking control described here, so don’t assume one exists until you’ve checked current features. AI provider integrations exist on Pro, but they’re a separate add-on, not a built-in retouching or culling assistant. And if you’re moving off another WordPress media plugin, free MediaVerse can clean up after that kind of import, but running the import itself, from rtMedia, MediaPress, or BuddyBoss Media, is a Pro feature.
Pricing runs from $69 a year for one site up to $199 a year for unlimited sites, with lifetime options at $199, $299, and $499, and a 30-day money-back guarantee on Pro. Compare tiers on free vs Pro, see the full feature list at features, or check pricing directly against how many client sites you run.