Most “SEO for photographers” advice is plain SEO advice with the word “photographer” dropped in. This is not that.
Your site is unlike almost anything else on the web. It is 80–90% images by weight. A normal blog ranks on words. You have to rank on pictures. Almost everything Google knows about your work, it learns from your photos and from the small amount of text wrapped around them.
So this playbook treats your portfolio as what it actually is: your largest indexable asset.
It works on Squarespace, Showit, WordPress, Pixieset or a custom build. Where a platform behaves differently, we say so.
Short on time — the whole guide in six lines
About a 9-minute read. Works on WordPress, Showit, Squarespace and Pixieset.
A text-heavy blog might carry 8 images and 2,000 words. A photography portfolio carries 5,000 images and barely any body copy. That turns the normal playbook upside down, for five reasons:
So your priorities are not the usual ones. A normal site might put 70% of its effort into written content, 20% into technical SEO and 10% into images. As a photographer, flip that: roughly 60% image SEO, 25% local SEO, 15% supporting content.
| Priority | Effort | Lift | Time to results |
|---|---|---|---|
| 1. Alt text on every portfolio image | High (volume) | Critical | 30–60 days |
| 2. Descriptive filenames before upload | Low (workflow change) | High | 30 days for new uploads |
| 3. Compress + convert to WebP | Medium (one bulk pass) | High (Core Web Vitals) | 1–2 weeks |
| 4. Local SEO + Google Business Profile | Medium | Critical for client work | 30–90 days |
| 5. Image XML sitemap submitted | Low | Critical for indexing | 14 days |
| 6. IPTC copyright on every image | Low (template) | Medium (Google Images credit) | 30 days |
| 7. Blog content for long-tail queries | High (writing) | High (compounds over time) | 3–6 months |
| 8. ImageObject + LocalBusiness schema | Low (one-time) | Medium (rich results) | 14 days |
Alt text is the single biggest ranking signal on a photography site. Google reads it as the main description of what the picture shows.
Most photographers do one of two things. They skip it, or they paste their business name into every field. Both waste the slot.
The alt text formula that works for photography:
[subject + style] + [location/setting] + [your specialty]
| Photo type | Bad alt text | Good alt text |
|---|---|---|
| Bride at altar | “wedding” | “Bride exchanging vows at outdoor ceremony, Hudson Valley wedding photography” |
| Newborn portrait | “baby” | “Newborn baby in wrapped pose on neutral backdrop, in-home Seattle newborn session” |
| Engagement shoot | “couple” | “Engaged couple holding hands in golden hour light, Austin engagement photography session” |
| Architecture/real estate | “living room” | “Modern open-plan living room with floor-to-ceiling windows, Brooklyn brownstone listing photography” |
| Brand/commercial | “product shot” | “Hand pouring coffee into ceramic mug, lifestyle brand photography for Portland coffee roaster” |
| Family session | “family” | “Family of four laughing in autumn park, lifestyle family photography Denver” |
The pattern is always the same: the subject, the style or setting, then something that names your specialty and your area.
That gives one photo three ways to be found. A plain image search (“bride at altar”). A style search (“Hudson Valley wedding photography”). And local intent (“Hudson Valley wedding”).
Length: 80–125 characters is the sweet spot. Long enough to include all three components, short enough that screen readers don’t drone.
Here is the honest problem. Doing this by hand across 5,000 images takes weeks, so it never gets done.
That is the gap our own tool fills. ImageSEO for Photographers looks at each photo and writes alt text that knows the style and the place. A typical library finishes in under an hour.
By hand or automated, the point stands: the alt text has to exist.
Camera filenames are the worst possible names for SEO. IMG_4827.JPG, DSC_0234.NEF, P1010012.RAW — none of them tell Google anything.
It gets worse at export. Lightroom and Capture One keep the camera’s name unless you tell them not to. So a whole 5,000-image site ends up named after the camera.
The Lightroom export workflow that fixes this for new shoots:
session-keyword-location e.g. jenny-tom-wedding-hudson-valley.jenny-tom-wedding-hudson-valley-001.jpg through -148.jpg.For photos already live, leave the filenames alone. Renaming breaks external links and any Pinterest pins that point at them.
Apply the new naming rules to new uploads only. Fix the back catalogue with alt text instead — it matters more anyway.
Photographers sit in an awkward spot here. You care about image quality. Google punishes slow pages.
The good news: on a screen, nobody can tell a 4MB original from a well-compressed 200KB copy. The numbers below cut weight hard and keep the quality a viewer can actually see.
| Use case | Format | Target file size | Quality setting |
|---|---|---|---|
| Hero image / homepage banner | WebP | < 100KB | 80% quality, 1920px wide |
| Portfolio gallery thumbnail | WebP | < 50KB | 75% quality, 800px wide |
| Portfolio gallery full-screen | WebP | < 200KB | 82% quality, 2000px wide |
| Blog post body image | WebP | < 150KB | 80% quality, 1200px wide |
| Print/download client gallery | JPEG (high quality) | < 5MB | 95% quality, full resolution |
Tools by platform:
If you shoot clients — weddings, families, brands, real estate — your most valuable searches carry a place name. Things like “wedding photographer near me”, “newborn photographer Boston”, “real estate photographer Atlanta”.
These convert 5–10 times better than generic photography searches. Three things decide who ranks for them.
If you work with local clients, this one is not optional. The essentials:
One page per main service area, each on its own URL — yoursite.com/locations/austin-wedding-photographer. Each page should:
areaServed.Every wedding or big shoot is a blog post waiting to happen. Use this title format: [Couple's first names] | [Venue] [City] Wedding Photography.
For wedding photographers, nothing converts better. It ranks for venue-plus-city searches — exactly what couples type while they are still choosing a venue. Our SEO guide for wedding photographers goes deeper on this.
Your photos can only rank if Google has indexed them. An XML image sitemap hands Google every image URL on your site.
Without one, Google has to find your images by crawling pages. On an image-heavy site that is slow, and it misses things.
sitemap_index.xml.yoursite.com/sitemap.xml to Search Console.Two weeks after you submit it, open Search Console → Coverage. The discovered image count should be climbing toward the size of your library.
If it is not, something is blocking the crawl. Usual culprits: a restrictive robots.txt, hotlink protection, or a CDN setting.
Photographers worry about image theft, and Google has built something for exactly this. It can credit you directly in image search.
The IPTC Copyright field lives inside the image file itself. When Google indexes the photo, it can show “© Your Name” beside it and link back to your site.
You set this once, in your editing software:
exiftool -IPTC:Copyright="© 2026 Your Name" -IPTC:By-line="Your Name" *.jpgIt helps with theft, too. A clearly credited image makes a DMCA takedown much quicker. Services like Pixsy and Copytrack treat that credit as their standard piece of evidence when they chase damages.
Your portfolio catches image searches. Your blog catches the research people do before they book.
These are the topics that convert best:
| Photographer specialty | Blog topic that converts | Why it works |
|---|---|---|
| Wedding photographers | “Best [city] wedding venues” (with photos from real shoots) | Brides search venues during the same week they search photographers |
| Newborn photographers | “What to wear for newborn photos” / “Newborn session prep guide” | Direct booking-stage research — captures parents who’ve already decided to book |
| Real estate photographers | “How professional real estate photos sell faster” (case study format) | Targets agents who haven’t yet hired a photographer, with proof of ROI |
| Family photographers | “Best places for family photos in [city]” | Captures location-research traffic, demonstrates local expertise |
| Commercial photographers | “How to brief a commercial photographer” / portfolio case studies | Marketing managers research before sending RFPs |
| Engagement photographers | “Engagement photo outfit guide” / “Engagement shoot location ideas” | Couples search this 1–2 weeks before booking |
One post a month is sustainable. Three a month compounds hard over 12–18 months.
That is roughly when photographers stop leaning on Instagram and referrals, and Google starts driving 40% or more of their bookings.
Three schema types matter here, in this order:
On WordPress, RankMath writes most of this for you. Showit has SEO built in. Either way, check the result with Google’s Rich Results Test.
Squarespace produces basic schema, but you have to add LocalBusiness yourself through code injection.
| Mistake | What it costs | Fix |
|---|---|---|
| Putting your business name in every alt text | Zero ranking signal — Google reads it as boilerplate | Describe what’s in the image, with location and style |
| Uploading 5MB JPEG portfolio images | Catastrophic Core Web Vitals scores | Compress to under 200KB, convert to WebP |
| Hiding portfolio behind login / lightbox | Google can’t crawl images = can’t rank them | Public portfolio with proper image sitemap |
| Using camera filenames (IMG_xxxx.jpg) | No filename ranking signal across thousands of images | Set Lightroom/Capture One export preset for descriptive filenames |
| Skipping Google Business Profile | Invisible in local pack and Maps results | Set up GBP with category, service area, photos, reviews |
| One generic “Locations Served” list page | Doesn’t rank for any specific city | One unique location page per service city |
| No image sitemap | Google may never index 70%+ of your images | Enable in your platform’s SEO settings |
| Stock images for “About” or service pages | Diluted brand uniqueness signal | Use your own work everywhere — you’re a photographer |
| Pinterest pins linked to home page | Wastes the highest-converting traffic source for photographers | Link every pin to the relevant blog post or portfolio gallery |
Track these, in order of how much they actually tell you:
Different parts move at different speeds. Image work — alt text, compression, sitemap — shows up in Search Console within 30–60 days. Local SEO takes 60–90 days to settle. Blog posts aimed at booking-stage searches take 3–6 months.
The compounding effect is the slow one. That is where Google trusts you enough to rank you across dozens of related searches, and it usually appears around month 9–12 of steady work.
For maximum control, WordPress wins clearly: the full plugin ecosystem, fine-grained schema, and total control over speed.
For ease of use with SEO that is good enough, pick Showit. It was built for photographers and handles images well.
Squarespace is fine for a portfolio, but it limits the advanced controls. Pixieset is excellent for client galleries — just do not make it your main public site. It does not give you enough control.
Yes — more so for photographers than for almost anyone else. Couples and clients go straight to Google Images while they research venues and hunt for a style they like.
Those clicks convert better than ordinary image-search clicks, because the person is deliberately looking at pictures to make a decision. Many wedding photographers say 30–40% of their enquiries start in Google Images.
Quality beats quantity, but there is a real floor. Under 50 images, a photography site struggles to rank at all.
The sweet spot is 200–500 well-optimised images. That is enough for Google to work out your specialty, and not so many that Core Web Vitals fall over.
Past 1,000 images this turns into an infrastructure job. You will need bulk alt text and serious compression to keep the site fast.
Lazy-loaded images do get indexed, as long as they appear in the rendered HTML. Galleries that build the image URL in JavaScript when you click often never get crawled at all.
Here is the test. View your page source. If the image URL sits in the raw HTML, Google will find it. If it only appears after JavaScript runs, Google may miss it.
Safest setup: native loading="lazy", not a custom JavaScript loader.
Pinterest is a discovery engine of its own, not Google SEO. But the work overlaps almost completely: the tagging discipline that helps you in Google helps you there too.
For a lot of wedding, family and lifestyle photographers, Pinterest is the highest-converting referral source they have. The user is in pure inspiration mode, ready to save and share.
Treat it as a parallel channel, not a replacement for Google.
Want the groundwork handled for you? ImageSEO for Photographers writes descriptive alt text and renames files across an entire gallery in bulk — the alt text and filename work from this guide, done for you.
Days Launch
The One Startup
Fazier
Twelve Tools
yo.directory
Dofollow.Tools
Starter Best
Launchpadly