SEO Keywords for Photographers: Which Ones Book Clients

Search for a keyword list for your photography business and you will find the same twenty phrases repeated across a dozen blogs: "wedding photographer near me", "portrait photography", "family photographer [city]", "affordable photographer". Copy them into your site and almost nothing happens.
The lists are not wrong. They are ordered by how a photographer describes their own business, and that ordering happens to select the hardest and least useful queries available to you.
This article does the opposite. It starts from measured numbers, separates the queries that end in a booking from the ones that end in another photographer reading your blog, and then assigns each surviving query to exactly one page. The technical side of a photography site (image files, gallery speed, structured data, Business Profile) is covered separately in SEO for photographers. This one is only about choosing the words.
What the numbers say about photographer keywords
Here is a set of real queries, measured with Ahrefs for the United States on 2026-09-08. Volume is monthly searches, KD is Ahrefs keyword difficulty on a 0 to 100 scale, TP is the traffic potential of the page that currently ranks first.
| Query | Volume | KD | TP |
|---|---|---|---|
| photography contract template | 1,105 | 7 | 2,500 |
| newborn photographer near me | 746 | 65 | 21,000 |
| senior photos near me | 548 | 22 | 4,500 |
| elopement photographer colorado | 238 | 69 | 400 |
| how long do wedding photos take | 231 | 0 | 500 |
| what to wear for family photos | 174 | 1 | 1,400 |
| best 35mm lens for weddings | 0 | n/a | n/a |
Three things in that table contradict the standard advice.
The "near me" queries every list puts first are the hardest on the page. newborn photographer near me sits at difficulty 65 and elopement photographer colorado at 69, against a difficulty of 0 and 1 for the two questions a client asks while planning the shoot. Those two numbers are the entire reason a new photography site that targets only booking queries shows nothing after six months.
The easiest high-volume keyword in the table, photography contract template at 1,105 searches and difficulty 7, is searched almost exclusively by other photographers. It is the most attractive line by every scoring formula and the least useful line on the page.
And best 35mm lens for weddings, a phrase that feels like a real search, returns a volume of 0. Gear queries exist at the level of the lens model, not at the level of the use case, which is worth knowing before you write that post.
Client queries and peer queries look identical in a keyword tool
A keyword tool reports volume, difficulty and cost per click. It does not report who is typing. That distinction decides whether a page pays for itself, and it is invisible in the export.
Compare two rows. photography contract template has 1,105 monthly searches at difficulty 7. what to wear for family photos has 174 at difficulty 1. The first has six times the volume and a traffic potential of 2,500 against 1,400.
Rank for the first and you get photographers looking for paperwork. Rank for the second and you get a parent who has already booked a session, or is about to, and who is now reading your blog while deciding on outfits.
The way to tell them apart costs nothing: open the results page and read who is ranking. If the pages in the top ten are written by suppliers to the trade, education sites for photographers, or gear reviewers, the searcher is a peer. If they are studios, venues and consumer magazines, the searcher is a client. This is the same audience check we run before writing anything on this blog, and the reasoning behind it is set out in is SEO worth it.
There is an honest exception, and this article is one. seo keywords for photographers (783 searches, difficulty 1) is a peer query by every test above. We target it deliberately because photographers running their own marketing are the readers we want. If you sell to photographers, peer queries are your client queries. If you sell portrait sessions, they are a trap.
One more signal is worth reading before you commit. Ahrefs reports a parent topic for most keywords, which is the broader query the ranking page is really known for. When a phrase that reads like a how-to has a parent topic that reads like hiring a supplier, the results page is not what the phrase suggests. That check is free and it kills bad candidates before you spend anything looking at the results.
The shape of a query that ends in a booking
Client queries in this trade are built from three parts, and you only need two of them for the query to be worth a page.
- Occasion: wedding, newborn, senior portraits, elopement, headshots, brand session, maternity.
- Place: a city, a neighbourhood, a state, or the name of a specific venue.
- Constraint: a season, a budget, a style, a duration, a rule the client has been given.
what to wear for family photos is an occasion plus a constraint, with no place, and it works because outfit anxiety is universal. photos at [venue name] is an occasion plus a place at maximum specificity, and it is the highest-yield page a working photographer can publish, because writing it requires having shot there.
Generating these does not need a tool. Open your last twenty enquiry emails and write down the question each person asked before booking. Those questions, in the client's own words, are the query list. They will be longer and more specific than anything a keyword tool suggests, and that is the point.
Then check the shortlist against measured volume, because instinct is unreliable at this level of specificity. Half the phrases you write down will return zero, exactly like the lens query above. Keep those anyway if they answer a question clients genuinely ask: a page that answers one real question is what an assistant reads when someone later asks for a recommendation, which is the mechanism described in answer engine optimization.
Your best keywords are already in Search Console
If your site has been live for a few months, Google is already telling you which queries it shows you for. Most photographers never open the report, and the ones who do read the wrong column.
Search Console's performance report groups data by query, by page, by country and by device. The queries you want are the ones with impressions and no clicks, because an impression means Google already considers your page a candidate and the searcher chose someone else.
Two caveats matter before you trust the numbers. Data takes time to appear: Google states that "collected data should be available in 2-3 days". And a portion of your queries will never appear at all. Google calls these anonymized queries: "Some queries are omitted from the report to protect user privacy", and the About Search Console data page adds that "we might not track some queries that are made a very small number of times or those that contain personal or sensitive information".
That last point is specifically painful for photographers. Venue names, unusual occasions and neighbourhood queries are exactly the rare searches that get suppressed, so the report systematically under-reports the query shapes worth the most to you. Treat it as a floor, not a census.
The web interface caps what you can read comfortably. The API does not, and it takes one request:
curl -s -X POST \
"https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fexample.com%2F/searchAnalytics/query" \
-H "Authorization: Bearer $ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"startDate": "2025-09-08",
"endDate": "2026-09-08",
"dimensions": ["query", "page"],
"rowLimit": 25000,
"startRow": 0
}' > gsc.json
Google's documentation states that "if your query has more than 25,000 rows of data, you can request data in batches of 25,000 rows at a time by sending multiple queries", incrementing startRow until you get back fewer rows than you asked for.
With the file on disk, the interesting list is one command away:
jq -r '.rows[]
| select(.impressions >= 10 and .clicks == 0)
| [.keys[0], .keys[1], .impressions, (.position|floor)]
| @tsv' gsc.json | sort -k3 -rn | head -40
That is your real keyword list, ranked by demand you are already visible for and losing. It beats any published list because it is specific to your city, your venues and the sessions you actually shoot. The same pull applied to a content library is the starting point of an SEO content audit.
One page per query, and how to spot the day you have two
The most common structural failure on a photography site is not a missing keyword. It is two pages competing for the same one.
It happens naturally. You write a wedding page, then a wedding blog post, then a post about a wedding at a venue, then a "wedding photography pricing" page, and four URLs now answer roughly the same query. Google picks one, usually not the one you would have picked, and the others earn nothing. Sorting out which page owns which venue query is the whole subject of SEO for wedding photographers.
The fix is a table you maintain by hand. One row per page, one primary query per row, and no query appearing twice:
| Page | Primary query | Secondary queries |
|---|---|---|
/weddings |
wedding photographer [city] | wedding photography [city] |
/blog/how-long-wedding-photos-take |
how long do wedding photos take | wedding day timeline |
/blog/photos-at-[venue] |
[venue] wedding photos | [venue] photographer |
/blog/what-to-wear-family-photos |
what to wear for family photos | family photo outfits |
To find the collisions you already have, pull the API export above with dimensions: ["query", "page"] and look for any query that returns more than one of your URLs with meaningful impressions. That is a collision, measured rather than guessed.
Resolving one is a judgement call, not a rule. If the two pages answer the same question, merge them and redirect the weaker URL. If they answer different questions that you phrased identically, rewrite the titles and the headings so each page states its own question in its first sentence. Deleting pages wholesale is the wrong reflex, and Google's own guidance on creating helpful content warns against removing content mainly to make a site seem fresh.
Where the keyword goes, and where it must not go
Once a page owns a query, placing it is short work. The title element, the H1, the first sentence, and the anchor text of the internal links pointing at it. That is the list.
Repetition beyond that does nothing. Google's SEO starter guide is explicit: "Google's language matching systems are sophisticated and can understand how your page relates to many queries, even if you don't explicitly use the exact terms in them." You are not feeding a matching engine a string, and writing as if you were produces pages clients bounce off.
The same page also draws the line: "Excessively repeating the same words over and over (even in variations) is tiring for users, and keyword stuffing is against Google's spam policies." The spam policies themselves, updated 2026-08-28 UTC, define keyword stuffing as "the practice of filling a web page with keywords or numbers in an attempt to manipulate rankings in Google Search results", and name "blocks listing cities or regions" as an example. A footer listing forty towns you might travel to is that example.
Anchor text is the placement photographers most often waste. Google's guidance describes link text as the part that "tells users and Google something about the page you're linking to", so a portfolio link reading "click here" throws away a free signal that could have read "elopement sessions in Colorado".
One placement is prohibited outright, and it is popular. Your Google Business Profile name must be your real business name. Google's guidelines state plainly that including keywords is not permitted, giving "Verizon Wireless 4G LTE" as the counter-example, and warn that "including unnecessary information in your business name isn't permitted, and could result in the suspension of your Business Profile". "Sarah Lee Photography | Best Wedding Photographer Austin" risks the profile that drives your map pack visibility.
What to do with the keywords you cannot win
newborn photographer near me at difficulty 65 is not a keyword you attack with a page. It is a query where distance and the map pack decide most of the outcome, and where the organic results below the map are held by directories and long-established studios.
That does not make it worthless. It makes it a different job:
- The profile, not the page. Near-me queries are answered largely from the local pack. Categories, service areas, hours and photos on the Business Profile move that surface, and no amount of on-page writing does.
- The narrower cousin.
senior photos near mesits at difficulty 22 against 65 for newborn. Occasions differ enormously in competition, so measure each one instead of assuming the whole family is out of reach. - The surrounding demand. The traffic potential of 21,000 on the newborn query reflects what the ranking page earns across everything it covers, most of it informational. That demand is reachable through the questions, even when the head term is not.
None of this comes with a schedule. No one can guarantee a position or a date for one, and any keyword plan that quotes both is selling something. What you can put a date on is narrower and still useful: when a page was indexed, when impressions began, and whether the queries arriving match the ones you assigned. The economics behind that patience are worked through in how much does SEO cost and, for the ads comparison, in SEO vs Google Ads.
Measuring whether the keyword work did anything
Clicks are the last number to move, so judging a keyword plan on clicks in the first quarter tells you nothing.
Read them in this order. Indexed or not, from the Pages report. Then impressions for the assigned query, which prove Google has understood what the page is about. Then average position for that query. Clicks come last, and only once position is inside the range where anyone sees the result.
We publish our own figure as a reminder of how those layers separate: /blog/diy-seo-for-small-business currently shows 451 impressions and 0 clicks over 28 days. The page is indexed, Google shows it, and nobody clicks. That is a title and description problem, not a keyword problem, and treating it as a keyword problem would produce a second article competing with the first.
One newer surface belongs in the same review. Search Console's generative AI performance report covers AI Overviews and AI Mode, and Google states that "as of August 31, 2026, we've rolled out these insights to all websites worldwide". Its counting rule matters when you read it: "if two results from the same site appeared in a generative AI search results feature, they count as a single impression in the chart total".
Practically, a page with steady AI impressions and no clicks is not a failed page. It is being read by an assistant answering someone's question, which is a different transaction from a blue link. How assistants pick what they cite is covered in LLM SEO and in how to rank on ChatGPT.
Set a review cadence and keep it boring. Once a month, pull the export, check that each page still owns its assigned query, look for new queries you did not plan for, and add the good ones to the map as new pages rather than stuffing them into existing ones. The reasoning generalises past photography, and the version for any small business doing this alone is in DIY SEO for small business. Neighbouring trades where the portfolio is also the product, interior designers and musicians, run the same method against different occasions.
FAQ
What are the best SEO keywords for photographers?
The ones your clients type, which are rarely the ones photographers discuss. In the measured set above, the two best candidates for a newer site were what to wear for family photos (174 searches, difficulty 1) and how long do wedding photos take (231, difficulty 0), both questions asked while planning a session. The worst was photography contract template, despite the highest volume and a low difficulty, because everyone searching it is a photographer. Difficulty tells you whether you can rank. Reading the results tells you whether you should want to.
How many keywords should a photography website target?
One per page, and as many pages as you have distinct questions to answer. A working site usually runs one page per occasion, one per major location you genuinely serve, and a growing set of question pages. Targeting thirty keywords on a homepage is the failure mode this article is about, because Google chooses one of them for you and it is rarely the one you wanted.
Do I need a separate page for every city I shoot in?
Only for cities where you actually work and can write something specific: venues you have shot, travel and timing details, local rules. Thin pages that vary only by the city name are the pattern Google's spam policies call doorway abuse, defined as pages "created to rank for specific, similar search queries" that lead to "intermediate pages that aren't as useful as the final destination". Two real location pages outperform twelve templated ones.
Should I put keywords in my Google Business Profile name?
No. Google's guidelines for representing your business state that keywords, taglines and location details do not belong in the business name, and that including them "could result in the suspension of your Business Profile". Categories, service areas and the description are where that information is meant to live, and they are read for local ranking anyway.
How long before a keyword change shows up in Search Console?
The data pipeline itself is quick: Google says collected data should normally be available in two to three days. Whether Google re-evaluates the page in that window is a separate question with no fixed answer, and it depends on how often your site is crawled. Watch impressions for the specific query rather than total traffic, because a single page changing its query mix is invisible in a site-wide chart.
Are free keyword tools good enough for a photography business?
They are enough to start. Keyword Planner reports averages "over a 12-month period", rounds its volumes, and shows historical numbers "only for exact matches", so treat its output as an order of magnitude rather than a measurement. The free data source that beats all of them is your own Search Console export, because it reports queries you were actually shown for, in your own market, rather than national averages.
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
Get cited by ChatGPT. Rank on Google.
You found this article through search. That is the whole product.
- One researched article a day
- Published on your own domain
- Keywords checked against live results
