- Why "position 3 in Bucharest" means nothing without district context.
- How to build a tracking set that shows the reality in Berceni and in Pipera, not their average.
- What a monthly report the client actually reads to the end looks like.
- Where Semalt fits into the workflow and which part is free.
Local SEO has a measurement problem that most reports hide. A client in Titan and one in Baneasa searching for "car service" get different results. A report saying "we are in position 3 in Bucharest" says nothing at all - position 3 for whom, from where, on which device?
For businesses that depend on proximity - clinics, restaurants, garages, practices, physical shops - that difference is the entire business. The guide below is how we structure measurement and reporting for local Bucharest clients, using the free analytics side of the platform plus, where appropriate, a managed campaign.
Step 1: define the real market, not the city
The first mistake is treating Bucharest as one market. For a client with a single location, the real market is a 15-20 minute drive in traffic - which in Bucharest means, at peak hours, a few kilometres.
A correct definition has three components. The primary zone, where most customers come from - usually two or three neighbouring districts. The secondary zone, where people travel from if the service is specialised or cheaper. And the queries with no area mentioned, where Google decides on its own what counts as "nearby" based on user location - these are usually the most valuable and the worst measured.
What the query set looks like
| Type | Example | What it measures |
|---|---|---|
| Service + city | car service Bucharest | General visibility, maximum competition |
| Service + district | car service district 3 | Clear local intent, better conversion |
| Service + neighbourhood | car service Titan | Small volume, very high intent |
| Plain service | car service | Depends entirely on the searcher's location |
The minimum viable set for a local client: four to six main services multiplied by these four types, meaning 20-25 tracked queries. More than that becomes impossible to read monthly.
Step 2: rank tracking, competitors included
In the rank tracking module you add the client's domain and, mandatorily, three or four direct competitors from the same area. The module works on any domain, with no ownership verification and no connected Google account, which means you can track competitors in the same detail as your own site.
What we read, in order: how many queries sit in TOP 1, TOP 3 and TOP 10, how that changed against last month, and on which queries competitors gained ground. That last part generates the work plan - if a competitor climbed on "dentist district 3", you look at what they changed: a new page, expanded content, fresh reviews.
The difference between classic results and the local pack
On local queries, the map pack with three business listings appears above the classic results. These are two distinct competitions with different factors: the map cares about proximity, the Google Business Profile and reviews; classic results care about the page and site authority. A client can be in the TOP 3 on the map and in position 14 in classic results - which is why the report has to separate them explicitly, otherwise the conversation becomes confused.
Step 3: what to optimise, in order of impact
For a local site, the order of interventions that deliver most, in our experience on Bucharest projects:
- A dedicated page for each location. Not one "Contact" page with three addresses, but one page per location, with address, opening hours, map, team, nearby transport and, ideally, a few real photos.
- Consistency of contact details. The same form of name, address and phone number on the site, in the Google Business Profile and in local directories. Small differences - "St." versus "Street", apartment number present or absent - matter more than they should.
- Mobile speed. Local searches happen on the move. A page that loads in five seconds loses the customer before they see the address.
- Area-specific content. Not text stuffed with neighbourhood names, but real information: where to park, which transport lines stop nearby, what the Saturday opening hours are.
- Reviews, steadily. Rhythm matters more than the total. Ten reviews a year, consistently, are worth more than 50 arriving in one month.
Step 4: local visibility inside AI answers
"Which is the best car service in district 3?" is a question increasingly asked in an AI chat rather than in Google. The AI visibility module shows whether a domain appears in such answers, on which queries, which pages get cited and which competitors are named instead of you.
For local businesses the observed pattern is fairly clear: models cite pages containing structured factual information - full address, opening hours, a service list with prices, answers to frequently asked questions. Pages written as continuous promotional copy are rarely cited, because they offer nothing to quote.
The check is free and works on any domain, so it is worth running on the competitor who appears most often in answers, to see exactly which of their pages get cited.
Step 5: the monthly report the client actually reads
A local SEO report needs one page and five numbers. The rest is an appendix.
- Queries in the TOP 3, this month versus last month.
- Clicks from search, from Search Console data, compared year over year, not month over month.
- New queries the site has started receiving impressions for.
- What we did this month - five lines maximum, in plain language.
- What we do next month - three lines maximum.
Year-over-year comparison is not a methodological detail, it is essential in Romania: August and December distort any month-over-month comparison. A client who sees "minus 22% versus July" panics; the same client who sees "plus 31% versus August last year" reads the situation correctly.
Why a single source matters
When positions, Search Console data and AI visibility come from the same panel, the report is coherent. When they come from three different tools, the first half of the meeting is spent explaining why the numbers do not match. For agencies, that is the difference between a 20-minute meeting and an hour-long one, every month, with every client.
The Google Business Profile: what actually matters in 2026
For a local business the listing is often visited more than the website. Even so, with most new clients we take over in Bucharest, the listing is half-filled and has not been touched in two years.
The primary category is the strongest element you control and the one most often wrong. "Dental office" and "Dental clinic" do not lead to the same results. The practical check: look at which category the top three listings in the map pack use for your main query and align with market reality rather than with how you like to describe yourself.
Photos matter more than they appear to. Listings with real photos added periodically - not one set uploaded at opening - receive more interactions. The practical recommendation: four or five new photos per quarter, shot on a phone, no production.
Replies to reviews are the only place where you can turn a bad review into a selling argument. A calm, concrete reply explaining what happened and what changed is read by the next ten prospective customers.
The questions and answers section is almost completely ignored in Romania. You can add the frequent questions yourself and answer them - that content appears directly in the listing and is exactly the kind of structured information AI models cite.
How to measure whether visibility becomes customers
Positions are a means, not an end. For a local client the measurement chain has four links and each can break separately.
First: you appear in results (positions). Second: people click or tap the call button (CTR and listing interactions). Third: they land on the page and find the information (speed, visible address, correct hours). Fourth: they call or come in (calls, forms, visits).
When the report shows rising positions and the client says they feel nothing, it is almost always the third link that is broken. The most common causes we find: the phone number is an image rather than a tappable link; the hours shown on the site differ from those in the listing; the location page does not show the address in the first mobile screen.
The check takes five minutes and is done on a phone, not a desktop. Open the site the way a customer searching in traffic opens it and try to place a call in three taps. If you cannot, you have found the problem before spending another leu on visibility.
When a managed campaign is worth it
For a single location and mild competition, the manual work described above is enough. That changes at three to five locations, or in a niche where competitors invest constantly. There the need for volume appears: content for each area, authority signals, steady rhythm.
AutoSEO, at $149 a month, covers AI keyword selection, daily link building from the network of over 230,000 partner sites, on-site recommendations and live reporting, with first movement estimated in 4-8 weeks. FullSEO, from $500 a month, adds a dedicated team, manual control of the query list, premium backlinks with DR targeting and copy written by writers. The full comparison is on the pricing page.
Three local situations and what we would do in each
New practice, zero history
The absolute priority is a complete Google Business Profile and a location page indexed quickly - the indexing module gives 100 free URLs, far more than enough. Only after the listing collects its first reviews does investing in content make sense.
Established business, declining positions
First check whether the decline is real and sustained in rank tracking, then whether it coincided with a new competitor appearing in the area. Often you lost nothing - somebody else gained, and the right response is content for the areas where they are absent.
A network with five locations
The most frequent problem is cannibalisation between location pages that look too similar. Each page needs its own real content about that location. It shows immediately in ranking data: if the district 6 page ranks for "district 4", you have found the problem.
One detail that changes conversion: the mobile location page
On the location pages we have tested, the order of elements in the first mobile screen matters more than any copy optimisation: the location name, the full address, the call button and today's opening hours. Everything about company history moves further down. The change takes an hour and shows up immediately in call volume, before any position moves.
Local seasonality in Bucharest
The last thing we build for every local client is a simple seasonality calendar, because Bucharest patterns are strong and predictable. Traffic drops sharply in the second half of August and in the last week of December. It rises in September, in January and before the holidays, depending on the niche. Home-related services climb in spring; medical services in autumn and winter.
The calendar has a double practical role. It tells you when to publish - content needs four to six weeks to settle into position, so it goes out before the season rather than during it. And it protects your reporting: a decline predicted and explained in advance no longer causes panic, and the conversation stays about growth rather than justification.
Frequently asked questions
Can I track positions for several Bucharest areas?
Yes, by building the query set with area and district modifiers, plus tracking the unmodified queries separately.
How long until local SEO shows results?
Google Business Profile changes can show within one or two weeks. Content and authority changes, in 4-8 weeks. Multi-location networks, a few months.
Do I need a website if my Google listing is good?
Yes. The listing brings calls, but the site is what wins classic results, attracts links and supplies the content cited in AI answers.
See where you rank and where the competitor down the road ranks
Rank tracking on any domain, Search Console data and AI visibility, free.
Open the Semalt Dashboard