Case study sito web — fotografo professionista

Un portfolio visivo
che consegna gli scatti da solo.

Fotografa professionista a Firenze: matrimoni, ritratti, corporate. Portfolio da 800+ scatti distribuiti via WeTransfer con link che scadevano, clienti che non trovavano le foto, confusione su quali fossero le versioni finali. Ho costruito un sito con area clienti privata che ha eliminato ogni attrito nella consegna e trasformato il portfolio in uno strumento di vendita attivo.

SettoreFotografia professionale
Anno2024
Durata6 settimane
ServizioSito Web + Client Area
ZonaFirenze, IT
elenamorettifoto.it
Area clienti
Marco & Sofia
Matrimoni
Ritratti
Corporate
847 scatti

Case study portfolio fotografo professionale

Un portfolio da 800 scatti
consegnato via WeTransfer.

Elena è una fotografa professionista fiorentina con otto anni di esperienza: matrimoni nel Chianti, ritratti editoriali, servizi corporate per aziende del fashion. Il suo lavoro era riconosciuto — profilo Instagram da 12k follower, clienti ricorrenti, agenda piena nei weekend di primavera e autunno. Il problema era tutto nella fase di consegna e nel sito.

Ogni matrimonio produceva 400–600 scatti finali che Elena consegnava via WeTransfer. I link scadevano dopo sette giorni. I clienti riscaricarivano tutto in un'unica sessione e poi perdevano le foto cambiando telefono. Arrivavano email mesi dopo con richieste di "rimandare tutto". E il sito — un template fotografico del 2020 su Squarespace — aveva una galleria con foto compresse a 800px e nessun modo per prenotare una sessione senza passare per DM su Instagram.

Elena aveva bisogno di un sistema professionale, non di un profilo social migliore.

"Ho perso una cliente importante perché il link WeTransfer delle sue foto era scaduto e lei pensava che le avessi cancellate. Non voglio più che succeda."

— Elena Moretti, prima videochiamata di briefing
Cliente
Elena Moretti — Fotografa Professionista
Sede
Firenze, IT (disponibile su tutto il territorio)
Settore
Fotografia matrimoniale · Ritratti · Corporate
Periodo
Febbraio – Marzo 2024 (6 settimane)
Situazione di partenza
Squarespace 2020, consegna via WeTransfer, booking via DM Instagram
Servizi erogati
Design custom Frontend PHP backend Area clienti Booking sessioni Gallerie protette SEO

Requisiti sito web fotografo

Cosa serviva,
davvero.

Cinque aree emerse dal briefing iniziale, dalla mappatura del flusso di lavoro reale di Elena e dall'analisi del suo Squarespace — incluso il tracciamento di dove i visitatori abbandonavano la pagina.

Area clienti protetta con gallerie private

Ogni cliente deve avere un accesso personale con PIN o link protetto per visualizzare e scaricare i propri scatti in alta risoluzione. Le gallerie devono restare accessibili per sempre — non sette giorni come WeTransfer.

Booking sessioni fotografiche

Un sistema per prenotare una sessione direttamente dal sito: tipologia (matrimonio, ritratto, corporate), data preferita, breve descrizione del progetto. Senza passare da DM Instagram, senza email perse in spam.

Portfolio visivo ad alta qualità

Un portfolio che mostri le fotografie come meritano: a pieno schermo, con transizioni fluide, caricamento veloce nonostante la risoluzione. Tre categorie filtrabili (Matrimoni, Ritratti, Corporate) con navigazione intuitiva.

Testimonianze e social proof

Raccogliere e mostrare le recensioni dei clienti soddisfatti in modo automatico. Elena aveva decine di messaggi bellissimi via Instagram e WhatsApp ma non sapeva dove e come mostrarli sul sito in modo credibile.

SEO per fotografa matrimoni Firenze

La maggior parte dei clienti arriva via Instagram o passa-parola — ma ogni mese centinaia di coppie cercano "fotografo matrimoni Firenze", "fotografo Chianti", "foto matrimonio Toscana". Il sito precedente non era indicizzato per nessuna di queste keyword.

Sfide tecniche portfolio fotografico online

Dove si nascondevano
i problemi veri.

Un sito fotografico con area clienti privata e gallerie ad alta risoluzione concentra sfide che vanno dalla sicurezza dei file alla UX mobile, dall'ottimizzazione delle immagini alla gestione dello storage. Queste le cinque più critiche.

01

Protezione file senza CDN costose

Le foto in alta risoluzione devono essere accessibili solo ai clienti autorizzati — non indicizzabili da Google, non scaricabili senza autenticazione. Proteggerle senza usare un CDN costoso o un servizio esterno richiede signed URL generati server-side con token temporanei.

02

Gallerie ad alta risoluzione su mobile

Foto matrimoniali da 8–15 MB originali: mostrare la qualità senza far aspettare tre secondi ad ogni swipe. Il lazy loading aggressivo con placeholder LQIP (Low Quality Image Placeholder) e srcset multi-risoluzione è l'unica soluzione che non compromette la percezione della qualità.

03

UX area clienti per utenti non tecnici

I clienti di Elena sono coppie di sposi, non sviluppatori. L'area clienti deve essere usabile da chiunque al primo accesso, senza tutorial, senza istruzioni. Il flusso login → visualizza → scarica deve richiedere meno di 30 secondi dal link ricevuto via email.

04

Storage scalabile senza costi esplosivi

Un anno di lavoro = decine di matrimoni × 400 foto = centinaia di GB. Il costo di storage deve restare sotto controllo nel tempo. La soluzione deve separare le foto originali (archivio a lungo termine, bassa frequenza di accesso) dalle versioni ottimizzate per il web (accesso frequente).

05

Portfolio visivo e SEO: obiettivi in conflitto

Un portfolio che mette le foto al centro tende a sacrificare il testo — e il testo è ciò su cui si indicizza Google. Trovare il bilanciamento tra un'esperienza visiva totalizzante e la presenza di contenuto testuale strutturato richiede scelte architetturali che non si possono correggere dopo il lancio.

Processo sviluppo portfolio fotografo

Come ho
organizzato il lavoro.

Sei settimane in quattro fasi. La priorità era chiara fin dall'inizio: l'area clienti andava consegnata prima del portfolio pubblico, perché Elena aveva già sessioni archiviate che aspettavano una casa permanente. Il sito pubblico è venuto dopo.

Settimana 1
Discovery & Architettura

Audit dello Squarespace esistente, mappatura del flusso di consegna attuale (WeTransfer, email, DM), analisi di Heatmap e dati Analytics disponibili. Definizione architettura: sito pubblico + area clienti privata come sistema unico con routing separato.

Deliverable: Architettura sistema · Sitemap · Flusso area clienti
Settimane 2–3
Design system + Prototipo area clienti

Design system completo: palette dark/warm, tipografia editoriale (serif per i titoli di matrimonio, sans minimal per UI), regole per la griglia fotografica. Prototipo interattivo dell'area clienti su Figma, testato con due clienti reali di Elena prima di toccare codice.

Deliverable: Design system · Figma prototipo validato · Test UX
Settimane 4–5
Sviluppo: area clienti + portfolio pubblico

Build completo: PHP backend per autenticazione e signed URL, frontend HTML/CSS/JS vanilla per portfolio e area clienti, sistema di upload batch per archiviare le sessioni esistenti, pipeline WebP automatica per le anteprime, form di booking con notifiche email, integrazione Google Reviews API per le testimonianze.

Deliverable: Sito funzionante · Area clienti · 12 sessioni migrate
Settimana 6
Test, SEO & Go-live

Test funzionali completi (autenticazione, download, booking), test su dispositivi reali iOS e Android, ottimizzazione SEO on-page (meta, schema ImageGallery + LocalBusiness, sitemap immagini), configurazione Google Search Console, migrazione DNS e go-live. Formazione di Elena sul pannello di gestione gallerie.

Deliverable: Sito live · SEO setup · Elena autonoma sul CMS

Soluzione galleria fotografica web ottimizzata

Come ho risolto
ogni problema.

// 01 · Area clienti protetta

Signed URL con token temporanei: gallerie private senza CDN

Ogni cliente riceve un link univoco via email. Il link contiene un token crittografato che viene validato server-side da un piccolo script PHP. I file originali ad alta risoluzione vivono in una directory fuori dalla document root del server — non accessibili direttamente via URL, nemmeno conoscendo il percorso.

Quando il cliente autentica il token, il PHP genera URL firmati con scadenza di 4 ore per ogni file richiesto. Il download avviene tramite readfile() con header corretti, senza mai esporre il percorso reale. Le gallerie restano accessibili per sempre — Elena può revocare l'accesso quando vuole dal pannello di gestione.

Il sistema non usa servizi esterni. Costo aggiuntivo per l'area clienti: 0€/mese. Lo storage è incluso nel piano hosting già attivo. Scalabile fino a ~500 GB senza cambiare infrastruttura.

elenamorettifoto.it/clienti/marco-sofia
AREA CLIENTI · GALLERIA PRIVATA
Marco & Sofia · Matrimonio
14 Settembre 2024 · Chianti
↓ Scarica tutto
487 foto
·
2.4 GB originali
·
Accesso permanente
+479
✓  Token valido · Accesso autenticato · File protetti
// 02 · Portfolio pubblico ad alta performance

LQIP + srcset: qualità visiva e velocità, insieme

Per ogni foto caricata nel portfolio, uno script PHP genera automaticamente tre versioni WebP (400px, 900px, 1800px) e un placeholder LQIP (una versione sfocata 20×20px in base64, peso ~300 bytes). Il tag img srcset serve il formato giusto al device giusto.

Il placeholder blur viene mostrato immediatamente — l'utente vede la composizione della foto mentre quella vera si carica. Su mobile in 4G, il tempo percepito di caricamento scende da ~3 secondi a meno di 0.4 secondi percepiti. La griglia portfolio usa CSS Grid con aspect-ratio fisso per evitare layout shift durante il caricamento progressivo.

// generate-thumbs.php — pipeline automatica function generateWebP($sourcePath) { $sizes = [400, 900, 1800]; $img = imagecreatefromjpeg($sourcePath); foreach ($sizes as $w) { $h = intval($w * imagesy($img) / imagesx($img)); $resized = imagescale($img, $w, $h); imagewebp($resized, "thumbs/{$w}/" . basename($sourcePath, '.jpg') . '.webp', 82); } // LQIP: 20×20 blur in base64 $lqip = imagescale($img, 20, 20); ob_start(); imagewebp($lqip, null, 30); return 'data:image/webp;base64,' . base64_encode(ob_get_clean()); }
// 03 · SEO per fotografa di matrimoni

Contenuto testuale + Schema.org: visibilità senza sacrificare l'estetica

Il problema classico dei siti fotografici è che Google non vede le foto — vede il testo alternativo, i titoli, la struttura semantica. Ho risolto separando nettamente le due esperienze: il portfolio è visivo e totalizzante, ma ogni categoria ha una landing page dedicata con testo strutturato, keyword locali e Schema.org.

La pagina "Fotografo matrimoni Firenze" ha testo ottimizzato per le query locali, testimonianze con markup Review, schema LocalBusiness con area di copertura, e una sitemap immagini dedicata che permette a Google di indicizzare il portfolio visivo. Risultato: posizione media 3.2 per "fotografo matrimoni Firenze" dopo sei settimane dal lancio.

Search Console · elenamorettifoto.it
TOP QUERY · ULTIMI 28 GIORNI
fotografo matrimoni firenze
3.2
pos.
fotografo matrimonio chianti
4.7
pos.
fotografo ritratti toscana
6.1
pos.
foto matrimonio toscana prezzi
9.3
pos.
1.24k
CLICK
18.7k
IMPRES.
6.6%
CTR

Stack tecnologico sito web fotografo

Tecnologie scelte, non imposte.

Nessun CMS, nessun framework, nessun servizio esterno a pagamento. Tutto il sistema — portfolio, area clienti, booking, pipeline immagini — gira su PHP vanilla e JavaScript vanilla su un hosting condiviso da 8€/mese.

PHP 8.3 (backend + routing)
HTML5 semantico
CSS custom properties
JavaScript vanilla ES6+
Signed URL (auth token)
WebP pipeline (GD Library)
LQIP base64 placeholder
Schema.org LocalBusiness
Sitemap XML immagini
IntersectionObserver API
PHPMailer (notifiche booking)
Figma (design system)

Nessun abbonamento a Pixieset, ShootProof o piattaforme simili (costo tipico: €30–80/mese). Il sistema custom ha un costo operativo di €0/mese aggiuntivo. Il risparmio nel primo anno copre abbondantemente il costo di sviluppo dell'area clienti.

Risultati portfolio fotografo: +180% contatti

Quattro mesi dopo
il lancio.

Dati confrontati tra aprile–luglio 2024 (post-lancio) e lo stesso periodo 2023. Fonti: Google Analytics 4, Google Search Console, dati di booking interni, feedback diretto di Elena.

−60%
TEMPO CONSEGNA SCATTI
da email+WeTransfer a link diretto
+130%
NUOVI CLIENTI ORGANICI
da ricerca Google vs anno prec.
3.2
POSIZIONE MEDIA GOOGLE
"fotografo matrimoni Firenze"
0€
COSTO AREA CLIENTI
vs €40/mese Pixieset equivalente
94
LIGHTHOUSE MOBILE
nonostante gallerie HD
DURATA GALLERIE
vs 7 giorni WeTransfer

"Una sposa mi ha scritto sei mesi dopo il matrimonio per rivedere le foto dalla nuova casa. Ha trovato tutto, ha potuto riscaricare. Ha mandato un messaggio bellissimo. Prima sarebbe stato impossibile."

— Elena Moretti, follow-up a 4 mesi dal lancio

Learnings sviluppo portfolio fotografico

I takeaway
di questo progetto.

Ogni progetto lascia qualcosa. Questi sono i punti che porto nelle prossime build nel settore creativo e fotografico.

Il problema reale spesso non è il sito, è il flusso operativo. Elena non aveva bisogno di un sito più bello — aveva bisogno di eliminare il problema dei link scaduti. Identificare il punto di dolore reale prima di proporre soluzioni tecniche è la differenza tra un progetto che cambia davvero qualcosa e uno che aggiunge semplicemente un redesign.

Testare la UX con utenti reali prima di sviluppare è sempre tempo guadagnato. Ho fatto testare il prototipo Figma dell'area clienti a due coppie di sposi reali. Entrambi si sono bloccati nello stesso punto — il pulsante "scarica tutto" non era abbastanza visibile. Costo della correzione: 10 minuti su Figma. Dopo lo sviluppo: ore di refactoring.

Le piattaforme SaaS per fotografi hanno costi che si accumulano silenziosamente. Pixieset, ShootProof, Pic-Time: tutti intorno ai €30–80/mese. In tre anni sono €1.000–3.000 di abbonamenti. Un sistema custom costa di più all'inizio ma si ripaga rapidamente — e il cliente mantiene il controllo totale sui propri dati e sulle proprie gallerie.

La sicurezza dei file fotografici non è ovvia. Molti siti di fotografi mettono le foto originali in una cartella pubblica del server, accessibili a chiunque conosca il pattern del percorso. Proteggere i file fuori dalla document root con PHP è una buona pratica che richiede un'ora di lavoro e vale molto per la fiducia del cliente.

SEO e design visivo non sono incompatibili: richiedono solo architettura separata. Non bisogna scegliere tra un portfolio bello e un sito indicizzato. La soluzione è avere pagine di contenuto ottimizzate per SEO che guidano al portfolio visivo — non mettere il testo dentro il portfolio stesso.

// Recap del progetto
Problema iniziale
Link WeTransfer scaduti, booking via DM, sito non indicizzato
Approccio
Sito custom PHP + area clienti signed URL + SEO locale
Risultato chiave
−60% tempo consegna · +130% clienti organici · pos. 3.2
Piattaforma
PHP 8.3 · JS vanilla · nessun CMS
Costo operativo aggiuntivo
€0/mese (vs €40/mese Pixieset)
Area clienti +130% clienti SEO locale Zero SaaS

Sei un professionista creativo?

Fotografo, videomaker, illustratore — costruiamo un sito che mostri il tuo lavoro come merita e smetta di farti perdere tempo nella consegna.

// Altri case study