What you are competing for, precisely
Local SEO is not a general effort to be more visible. It is a competition for a specific piece of screen real estate, and understanding which piece changes where the effort goes.
The Google local pack, the three business map result that appears above the standard blue links, captures roughly 44% of all clicks on a local search results page. Standard organic results take about 29% and paid ads take about 19%. Within the pack, position matters enormously: the first listing draws roughly 18% of clicks, the second about 15.4% and the third about 15.1%. Businesses appearing in the pack receive approximately 126% more traffic and 93% more calls, clicks and direction requests than businesses ranked in positions four through ten.
That gap explains why two San Antonio companies with equally good service can have completely different phone volume. One is in the pack. The other is technically on page one and effectively invisible.
The intent behind these searches converts unusually fast. The United States records more than 200 million near me searches per month, and 76% of people who run one visit a business within a day. Around 88% of smartphone local searchers visit or call within a week. These are not researchers. They are buyers with a problem right now.
How Google actually decides who ranks locally
Google evaluates the local pack on three pillars, and only two of them are within your control.
Relevance is how well the business matches what the person searched. It is influenced by the primary category, the services list, the website content and how specifically the business describes what it does.
Distance is how far the business is from the searcher. It is the one factor nobody can directly control, and it is also the one most owners overestimate. A business slightly farther away routinely outranks a closer competitor when its review and profile signals are stronger. Proximity sets the candidate pool. It does not decide the winner.
Prominence is how well known and trusted the business is, calculated from review volume and ratings on Google and Yelp, local backlinks, citations on platforms like Bing Places and Apple Maps, and brand mentions on authoritative sites.
According to the Whitespark 2026 Local Search Ranking Factors study, the most cited annual research on this question, the weight across signal groups breaks down roughly as follows: Google Business Profile signals 32%, on-page signals 19%, review signals 16%, link signals 15%, behavioral signals 8% and citation signals 7%.
Read that distribution carefully, because it should determine where effort goes. Nearly a third of the outcome sits in a free profile that most businesses fill out once and abandon.
What we do, in the order we do it
Google Business Profile, built out at launch and kept correct
This is the highest leverage item available, and almost all of the gain comes from building the profile out completely once, during setup, and then keeping the information accurate. Google trusts data it controls directly more than data it has to infer from a website, which is exactly why profile signals outweigh everything else.
Completing it properly means more than claiming the listing. The primary category has an outsized effect on which searches the business appears for, and choosing something generic instead of the most specific accurate option quietly caps visibility. The services list, business description, attributes, opening date and service area settings all get filled. A profile with a name and a phone number gives Google very little to match against a specific query.
Active management is the part almost everyone skips. Posts rather than a static profile. Real photos added on a recurring basis rather than once at setup. Messaging and Q&A turned on and actually monitored, because an unanswered message or a wrong answer left by a stranger damages trust at the exact moment of decision. Our profile checklist works through each field in priority order.
Business information consistency across the web
The business name, address and phone number must match everywhere they appear. Not approximately. Exactly, character for character.
The inconsistencies that cause problems are small and invisible to the owner: Street in one place and St. in another, a suite number present in one listing and missing in another, or an old phone number sitting on a directory created years ago by a previous marketing vendor. Individually they look trivial. In aggregate they weaken the confidence Google has that these listings describe one real, verifiable business. Our guide to information consistency and citations covers the audit process.
A page for each service somebody searches for
On-page signals carry roughly 19% of the weight, and this is where most of that sits. A single services page listing eight offerings asks one page to rank for eight different intents, and it usually ranks well for none of them.
We map services against measured demand using Google Keyword Planner rather than assumption, then build the pages that have independent search behind them. This is also where the website design and the SEO work stop being separable, because the structure of the site is the deliverable.
Reviews, as a system rather than an occasional ask
Review signals carry roughly 16% of the weight, and they influence the human decision even more than the algorithmic one. What works is not a campaign. It is a repeatable moment in the job where the request happens naturally, every time, for every customer. Our guide to generating reviews covers the mechanics, including how to respond to negative ones without making things worse.
Technical foundations and structured data
Speed, mobile usability, crawlability, clean heading structure, unique titles and descriptions, and structured data describing the organization, the services and the location. Industry benchmarks for 2026 put average mobile load time near 8.6 seconds, and Google research found mobile bounce probability rising to roughly 90% as load time moves from one second to five. Local search is mobile and urgent, so speed is a ranking and a conversion issue simultaneously.
Local links and mentions
Link signals carry roughly 15%. For a local service business the useful ones are local: chambers of commerce, trade associations, supplier and manufacturer directories, local sponsorships, and genuine local press. Volume of low quality links is not the objective and has not been for years.
What we measured on our own domains
Two results from our own portfolio shape how we prioritize, and both contradict common advice.
Domain authority was not the constraint. We compared two of our own domains over the same 90 day window in Search Console. One had domain authority 16, 188 referring domains and 2,118 pages with impressions. The other had domain authority 5, 8 referring domains and 215 pages with impressions. The weaker domain by every authority metric produced more clicks, a higher click through rate and a better average position. Any plan that says you must build backlinks before creating content is refuted by that comparison.
The headline keyword is almost irrelevant to the traffic a page earns. One guide page recorded 11,392 impressions over 90 days. The exact keyword it was written for accounted for 138 of them, or 1.2%. The remaining 98.8% came from hundreds of long tail variations too small to appear in any keyword tool. The practical consequence is that difficulty matters more than volume when choosing what to write, and a topic showing 30 searches a month is frequently worth more than one showing 2,000 that is owned by national brands.
The San Antonio picture, measured
We pulled the local demand with Google Keyword Planner rather than estimating it. In the San Antonio media market, seo company san antonio and its close variants register roughly 320 searches per month with top of page bids reaching $62.24. Seo san antonio tx and seo marketing san antonio add another 390. Web design san antonio and its variants register roughly 1,300 at up to $34.65. Marketing agency san antonio adds 480. Across all geo modified variants we counted 98 keywords with at least 10 monthly searches locally.
Two things follow from that. The demand here is genuine, unlike many local markets where the volume turns out to be near zero once measured. And the click prices are high enough that the organic position is worth real money, because every organic call is a call the business did not pay $62 for.
The competitive picture is more encouraging than it looks from the results page. The top ten for the head term is dominated by national directories rather than by strong local sites. Among the local companies, we measured one well known San Antonio web design firm ranking in positions 45 to 59 for its own city terms with roughly 10 organic visits per month, despite appearing in most best of San Antonio lists. Being named in a directory listicle and actually ranking are two different things, and most local competitors have only the first.
Timelines, stated honestly
Meaningful movement typically begins in two to four months for less competitive categories and longer in crowded ones. Google Business Profile improvements often show effect fastest, sometimes within weeks, because you are correcting data Google already trusts rather than building new authority from nothing.
Head terms behave differently. Web design san antonio measures a difficulty score of 49 and seo company san antonio measures 39, on a scale where a new domain with few links is not a realistic contender in a quarter. Terms that combine a trade, a service and the city measure a difficulty of 4. Those are winnable in weeks, they convert better because the intent is more specific, and they are where we start. Competing for the head term is a byproduct of winning the specific terms, not a starting position.
What we will not do
We do not publish templated city pages that differ only by the city name. That is classified as doorway or scaled content and it risks the whole site.
We do not buy links or place content on private blog networks. It works until it does not, and the recovery is worse than the gain.
We do not create fake reviews, incentivize reviews in ways that violate platform policy, or mark up ratings that were never collected.
We do not guarantee rankings. Anyone who does is either guessing or describing something outside their control.
We do not report impressions as if they were results. The number that matters is how many people called.
Where this fits
Local SEO earns the visit. Website design converts it. Website management keeps both current after launch. AI search visibility extends the same work to the growing share of customers who ask an AI tool instead of scrolling a results page.
We work across San Antonio and the surrounding Texas markets, including Stone Oak, Alamo Ranch, Alamo Heights, Southtown, Helotes, Schertz, Converse, Boerne and New Braunfels. The local SEO checklist covers what you can verify yourself before talking to anyone, including us.
The service area problem, and why it breaks most local SEO plans
San Antonio is geographically large and low density, which creates a specific problem that dense city advice does not address. A business physically located near the airport is a long way from a customer in Boerne, and the map pack knows it.
The instinct is to create a page for every surrounding town so the business appears everywhere. That instinct is the single most common way local businesses damage their own sites. Publishing near identical pages that differ only by a swapped city name is doorway content, and it is treated as a site level quality problem rather than a per page one.
What works instead is narrower and slower. Pick the areas where the business genuinely operates and where there is something specific to say: the neighborhoods, the permitting authority, the housing stock, the typical job in that area, real work completed there. A page about working in New Braunfels that mentions Comal County permitting and the difference in soil and slab conditions is a real page. The same page with New Braunfels swapped for Schertz is not.
For areas where a business works but has nothing distinctive to say yet, the correct move is to cover them inside a single well built service area section and on the Google Business Profile service area settings, not to manufacture a page. Coverage grows as real proof accumulates.
What we audit before proposing anything
The audit is the same every time, because the failures are consistent.
Profile completeness and category accuracy. Primary category, secondary categories, services list, description, attributes, hours, service area, photos and posting recency. We frequently find businesses in a category adjacent to the one they actually want, which caps everything downstream.
Information consistency across the major platforms. Google, Bing Places, Apple Maps, Yelp, Facebook and the data aggregators, checked character by character against a single canonical version.
Duplicate and unclaimed listings. Old listings created by previous vendors, by aggregators or by the business itself under a slightly different name. Duplicates split signals and confuse the picture.
Review profile. Volume, recency, rating distribution, response rate and whether the reviews mention the services the business wants to rank for. Reviews that describe the work in the customer's own words carry relevance information, not just a rating.
Site structure against measured demand. Which services have independent search demand, which of those have a dedicated page, and which pages are competing with each other for the same term.
Technical baseline. Core Web Vitals at mobile sizes, indexation status, crawl errors, structured data validity, and whether the site is actually being indexed at all. A surprising number of local sites have pages excluded from the index that nobody has ever looked at.
Competitive position. Who ranks in the pack and organically for the terms that matter, what their review counts look like, and whether the gap is closeable. Sometimes it is not, and saying so is more useful than a proposal.
How we report
Monthly, in plain language, covering what changed, what the search data shows, how many calls and form submissions arrived, which pages are still producing nothing, and what is planned next.
We separate what is verified from what is inferred. A ranking movement is verified. An explanation of why it moved is usually inference, and it gets labeled that way. This matters in an industry where confident explanations of unverifiable causes are the norm.