A portfolio is one enormous image after another, and the two failure modes are opposite: files too heavy to load, or compressed until the work looks worse than it is.
Everything here is about the gap between the file a photographer uploads and the file a visitor should receive.
A camera original is resized into the sizes a gallery actually uses at the moment it arrives, rather than on the first request. Nobody's page load pays for a resize.
A full-bleed grid is dozens of requests at once. They are answered from the edge in parallel rather than queueing at the origin, which is what makes a gallery feel like it appeared rather than loaded.
Photographers keep the full-resolution file on the site because it is the only copy that is not on a laptop. Storage is part of the plan and can be topped up without moving anything.
Proofing galleries are served behind access checks, so an unlisted URL is not the only thing standing between a client's photographs and anyone who guesses it.
Uploads are in the daily backup along with the database, so the portfolio is not one accidental deletion away from being gone.
Most performance advice for image-heavy sites ends at compress harder, which is the one thing a photographer will not accept. The work has to go into delivery instead.
A gallery is not one slow request, it is dozens of small ones. What decides how it feels is whether they are answered in parallel near the visitor or one at a time at the origin.
The whole problem is that the file worth keeping and the file worth sending are not the same file.
| Setting | What we do | Why |
|---|---|---|
| Upload handling | Derivative sizes generated when the file arrives | Generating a resize on first request means one unlucky visitor waits for work every later visitor benefits from. |
| Original files | Retained at full resolution | The site is often the only copy of the original that is not on somebody's laptop, and re-encoding it away is not recoverable. |
| Upload limits | Raised for large camera files | Default upload ceilings reject the files photographers actually work with, which is where most portfolio migrations get stuck. |
| Gallery delivery | Edge-served with long expiry | A grid opens dozens of connections at once, and answering those near the visitor is what stops a gallery feeling like it is loading. |
| Client galleries | Served behind access checks | An unlisted URL is not privacy, and proofing galleries contain work the client has not paid for yet. |
Every plan includes free migration, daily backups, SSL and 24/7 support.
Bring the portfolio across — migration is free, archive included.