Websites
A photographer's website: portfolio, image weight and rights
A photographer's site rests on three things: a portfolio that opens fast, photos that do not blow a data plan, and consent from the people portrayed. Pages, structured data and blocks.
A photographer's site works when the first grid of images opens in under two seconds and every photo carries the project name, the year and the type of work. The portfolio is the product: if the images are heavy, nobody looks at the portfolio.
Someone hiring a photographer looks first at work similar to their own, then at prices, then at availability. The page order follows that path: portfolio by category, one full case, price list, contact with shoot date and location.
The pages a photographer actually uses
| Page | What it must contain |
|---|---|
| Home | One lead photo, three work categories, the «check availability» button |
| Portfolio by category | Wedding, portrait, still life, interiors: at most 20 photos per category, weight declared |
| Single project | 8-12 photos, location, year, client if authorised, how it was made |
| Price list | Packages with hours on site, files delivered, delivery times, what is not included |
| About | Portrait, gear only if it matters, publications |
| Contact | Date, location, type of service, rough budget, phone |
| Privacy and rights | Notice, image-use consent, retention period |
A portfolio split by category avoids one long roll. Someone looking for a wedding photographer should not scroll through product still life; someone looking for still life should not see 300 weddings before finding a bottle. Twenty selected photos beat two hundred uploads.
Image weight: the part everyone skips
- Width and height declared on every image: without them the grid jumps while it loads.
- AVIF as the first format, WebP as the fallback, JPEG only for the file the client downloads.
- srcset with four widths, 480, 960, 1440 and 1920 px: a phone does not download the 4000 px file.
- The photo on the first screen is the LCP element: load it with high priority, not lazy loading.
- EXIF GPS removed before publishing: a client's home address is not data to expose.
One test is enough: open the portfolio on simulated 4G in the browser Network tab. If the first grid goes past 1.5 MB, the portfolio is too heavy. The layout shift mechanism is in images without dimensions and layout shift, the responsive part in responsive images with srcset.
Image rights: consent, not courtesy
Copyright law (Law 633/1941, Article 96) requires the consent of the person portrayed in order to exhibit the portrait; Article 97 exempts only cases of public notoriety or public office. A website follows the same rule as print: written consent, stated use, duration and withdrawal. The GDPR (Regulation EU 2016/679, Article 6) adds a legal basis, and Article 13 requires the notice.
A generic consent does not cover everything: publishing a wedding photo in the portfolio, using it in a paid campaign and passing it to a supplier are three different uses. The release form must list them, name the channel (site, social, print) and the duration. Withdrawal must be as easy as consent.
For minors both parents give consent; for a vulnerable person the subject's consent alone is not enough. If the photo was taken on private property, the owner's permission is also needed, which is a different thing from the client's consent.
Structured data: Person, ImageObject and ProfessionalService
The JSON-LD uses Person for the photographer (name, site, sameAs to profiles), ImageObject for portfolio photos (contentUrl, width, height, creator) and ProfessionalService for the business, with areaServed and priceRange. schema.org has no «Photographer» type: use ProfessionalService with additionalType. The details are in how to add schema markup.
curl "https://ui.eneawork.it/api/blocks/category/gallery?limit=200" | jq '.category.count, (.blocks | length)'
Blocks from the catalogue
Four records worth opening. Gallery Grid with Lightbox from uitripled is the filterable grid with a lightbox: the structure for a portfolio by category. Gallery 01 from Shadcn Space is a ready photo grid, with the publisher's declared licence to check on the block. The pricing category holds 41 blocks for the package list. The list closes with the camera icon from Tabler, one of the 12,808 icons in the catalogue, for the category menu.
The limitation to state up front
The catalogue holds React and Tailwind components: there is no DAM, no gallery that generates AVIF variants on its own, no release-form system. The blocks cover the interface; you choose the image pipeline (resize, AVIF, srcset), for example with sharp or an image CDN. Previews are free, the full block code sits in the Pro part.
Cost and timing
A five-page portfolio with 60 optimised photos sits in the low thousands of euro when the photos are already selected; selection is what stretches the timeline, not the code. The recurring cost is storage for the originals: ask where the files live and who pays for traffic when a client downloads 300 photos. The full picture is in what a website costs.
For the portfolio structure read blocks for a portfolio, for the platform choice WordPress, Wix or React components, for the template how to choose a template. If nobody finds the photos, the portfolio does nothing: get the site indexed by Google.
Frequently asked questions
What should a photographer's website have?
A portfolio split by category, optimised photos with declared width and height, a package price list and a contact form asking for date, location and type of service. Then a privacy page with the release for the people portrayed.
How many photos should the portfolio hold?
Fifteen to twenty per category, selected. The number does not improve ranking: a fast, consistent grid convinces more than two hundred heavy photos, and the ones left out can appear in a single project page.
Do I need a release to publish wedding photos?
Yes. Article 96 of Law 633/1941 requires the consent of the person portrayed in order to exhibit the portrait. A wedding contract often covers portfolio use, but the use must be written down, time-limited and revocable.
Which format should site photos use?
AVIF first and WebP as the fallback, with srcset at several widths, declared width and height, and the opening photo loaded with high priority. JPEG stays for the files the client downloads.
What does a photographer's website cost?
A few thousand euro for five pages with 60 photos already selected and optimised. The heavy line is selection and post-production, not code; ask for galleries you can edit yourself.