TECHNICAL
Photographer SEO: How Photography Businesses Rank in Local and Niche Search
Photographer SEO guide: ImageObject and photography schema, visual search optimisation for Google Lens, alt text strategy for portfolio images, local wedding and event photographer keyword strategy, and Core Web Vitals on image-heavy photography websites.
Published July 14, 2026 · 9 min read
Photographer SEO combines local search (wedding photographers, portrait photographers, and commercial photographers targeting geographic markets) with portfolio-driven trust signals (visual quality and volume of work visible on the website) and image-specific technical SEO (alt text, ImageObject schema, WebP compression, LCP optimisation for image-heavy pages). The increasing significance of visual search — Google Lens image recognition, Google Discover visual carousels, and Pinterest visual search — adds a dedicated image optimisation dimension beyond standard on-page SEO.
The photographer search query landscape
Photography queries cluster into specialisation and location types:
Wedding photographer queries: "wedding photographer [city]", "wedding photographer [county]", "wedding photographer [venue area]" — the highest-value and most competitive photography niche. Wedding photography bookings are high-value (£1,500-£5,000+) but infrequent (one per couple, years apart), making review acquisition difficult. The consideration timeline is long (couples book 12-18 months before the wedding), so content marketing and portfolio SEO matter more than in service categories with repeat purchases.
Portrait and headshot queries: "portrait photographer [city]", "family photographer [area]", "professional headshots [city]", "newborn photographer [town]" — location-specific queries with moderate competition. Repeat-purchase potential (family portraits every few years, headshot updates as people change jobs) makes this a stronger retention-opportunity niche than weddings.
Commercial and product photography: "commercial photographer [city]", "product photographer [area]", "food photographer [city]", "architectural photographer [area]" — B2B niche where the client base is businesses rather than consumers. SEO targeting includes "product photography [industry] [city]" and portfolio content demonstrating the specific commercial photography type.
Event photography: "event photographer [city]", "corporate event photographer [area]", "conference photographer [town]" — B2B niche with recurring demand from companies hosting regular events.
Schema for photographers
Schema.org provides several types applicable to photographers:
For photography business pages — LocalBusiness with a photo property (or the more specific ProfessionalService):
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Emma Clarke Wedding Photography",
"url": "https://emmaclarke.photography",
"telephone": "+44 7700 900456",
"address": {
"@type": "PostalAddress",
"addressLocality": "Edinburgh",
"addressCountry": "GB"
},
"areaServed": [
{"@type": "Place", "name": "Edinburgh"},
{"@type": "Place", "name": "Glasgow"},
{"@type": "Place", "name": "Scottish Highlands"},
{"@type": "Place", "name": "Fife"}
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Photography services",
"itemListElement": [
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Wedding photography"}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Engagement sessions"}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Elopement photography"}},
{"@type": "Offer", "itemOffered": {"@type": "Service", "name": "Family portraits"}}
]
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "5.0",
"reviewCount": "78",
"bestRating": "5"
}
}
For individual portfolio images — ImageObject schema on gallery and portfolio pages:
{
"@context": "https://schema.org",
"@type": "ImageObject",
"name": "Wedding photography at Borthwick Castle, Edinburgh",
"description": "First dance photograph at Borthwick Castle wedding, candid natural light photography style",
"author": {"@type": "Person", "name": "Emma Clarke"},
"contentUrl": "https://emmaclarke.photography/gallery/borthwick-castle-wedding-first-dance.webp",
"thumbnailUrl": "https://emmaclarke.photography/gallery/thumbs/borthwick-castle-wedding-first-dance-thumb.webp",
"dateCreated": "2026-06-15",
"license": "https://emmaclarke.photography/license",
"copyrightNotice": "© 2026 Emma Clarke Photography"
}
ImageObject schema helps Google's image search understand the content, context, and creator of portfolio images — contributing to visibility in Google Images and in Google Lens recognition.
Alt text strategy for photography portfolios
Alt text is the primary indexable text signal for portfolio images — and is frequently neglected on photographer websites, where image filenames like IMG_2847.jpg and empty alt attributes make the entire portfolio invisible to search engines.
Descriptive, keyword-relevant alt text for wedding photographers:
- Instead of:
alt=""oralt="IMG_2847" - Use:
alt="Couple's first dance at Borthwick Castle, Edinburgh wedding — natural light photography"
Format for wedding photography alt text: [Photo type] at [Venue name], [Location] wedding — [style description]
Format for portrait alt text: [Subject type] portrait session in [Location] — [session description]
Format for commercial photography: [Product type] product photography for [Industry type] — [style/background description]
The alt text should describe what is actually in the image, include the location naturally (for local search relevance), and avoid keyword stuffing. For a portfolio gallery of 50 wedding images, all alt text should be unique and descriptive — not the same template repeated 50 times.
Image filenames: rename images from camera output filenames to descriptive slugs before uploading. borthwick-castle-edinburgh-wedding-first-dance.webp is indexed as a meaningful signal; IMG_2847.webp is not. This is particularly important for images on pages that rank independently in Google Images search.
Visual search and Google Lens
Google Lens allows users to search using images — pointing their camera at a scene, object, or person and receiving relevant search results. For photographers, Google Lens creates several SEO-relevant scenarios:
Venue recognition: couples researching a wedding venue may use Google Lens on a venue photo — if a photographer's portfolio images of that venue are indexed with venue-specific alt text and metadata, they may surface in Google Lens results for venue queries.
Style recognition: Google Lens is increasingly able to recognise photography styles — light and airy, dark and moody, documentary, fine art. Photographers with distinct, recognisable styles who rank in Google Images for style-adjacent terms may benefit from Lens-driven discovery.
Pinterest visual search: Pinterest's visual search (Lens-equivalent within Pinterest) rewards photographers who have active, well-described Pinterest boards. For wedding photographers specifically, Pinterest is a high-volume visual discovery channel — portfolio images pinned with descriptive captions, venue tags, and photographer attribution drive meaningful referral traffic from Pinterest's visual search.
Core Web Vitals on photography websites
Photography websites are among the most CWV-challenging website categories — portfolio galleries are image-heavy by nature, and the visual quality of images is core to the product being sold.
LCP management: the Largest Contentful Paint on photography websites is almost always an image — the hero portfolio image on the homepage or gallery page. Optimisation steps:
- Convert all images to WebP or AVIF (50-80% smaller than JPEG at equivalent quality)
- Use
srcsetwith multiple image sizes for responsive delivery - Add
fetchpriority="high"to the above-the-fold hero image - Preload the LCP image:
<link rel="preload" as="image" href="/hero.webp"> - Use Cloudflare Images, Imgix, or a CDN image transformer to serve correctly sized images to each viewport
CLS on gallery pages: image galleries where dimensions are not explicitly set cause layout shifts as images load. Always set width and height attributes on <img> elements — even for responsive images with max-width: 100%. This reserves the correct space in the layout before the image loads, preventing CLS.
INP on JavaScript gallery lightboxes: JavaScript-powered image lightboxes (clicking an image to view it full-screen) are common on photography websites and can cause high INP if the lightbox JavaScript is heavy. The interaction that opens the lightbox is the measured INP event — ensure the lightbox JavaScript is deferred and lightweight.
Lazy loading: loading="lazy" should be applied to all gallery images below the fold. The hero/first image should NOT have loading="lazy" — it must load immediately for good LCP.
FAQ
MORE FROM THE BLOG
Related articles
11 min read
YouTube SEO: How to Rank Videos on YouTube and Google Search
YouTube SEO covers title optimisation, description keyword placement, chapters, thumbnails, closed captions, and the watch signals that drive YouTube and Google ranking.
Read →7 min read
Voice Search SEO: How to Optimise for Voice Queries and AI Assistants
How voice search queries differ from typed queries, what technical signals (FAQ schema, speakable schema, featured snippet eligibility) matter for voice results, and why optimising for voice search overlaps heavily with AI visibility.
Read →10 min read
TikTok SEO: How to Rank in TikTok Search and Get Discovered in Google
TikTok SEO covers how to optimise videos for TikTok's internal search algorithm, how TikTok content ranks in Google Search, and how TikTok presence feeds into AI answer systems.
Read →Run DeepSEOAnalysis on your own site.
Free, no signup. Technical SEO, Core Web Vitals, structured data, and AI visibility in one report.
Run a free audit →