Why Most Local Directories Have a UX Problem (And How I Fixed It in Gestorías Cerca de Mí)
There’s something nobody mentions when talking about local directories: SEO and UX are almost always at war.
You can optimize for the crawler to infinity. Static pages, schema markup, 2,100+ indexed URLs. I did all of that in Gestorías Cerca de Mí. But if someone lands on your directory and can’t find what they’re looking for in under 30 seconds, you’ve spent months of work just to have Google send you visitors who bounce.
I learned this looking at Microsoft Clarity data last year. Real session recordings. Real people searching for a gestoría near them, confused by the same type of interface that 80% of Spanish directories use.
So I made UX decisions that, on paper, don’t make sense if you’re only thinking about rankings. And I want to walk you through them.
The Real Problem: The Person Searching “Gestoría Near Me” Is In a Hurry
Look, whoever types “gestoría cerca de mí” isn’t browsing for fun. They have a specific problem: a tax return, registering as a freelancer, setting up a company. They’re in a hurry and probably stressed.
That changes everything about how you should design the experience.
This isn’t a user who’s going to explore your directory leisurely. They need:
→ To find gestorías close to their actual location (not their generic city)
→ To know if that gestoría does what they need
→ To contact them with minimum friction
Most directories fail on all three.
Decision 1: PostGIS Instead of City Filter
This was the technical decision with the highest UX impact, even though it looks purely like a backend choice from the outside.
Almost all local directories do the same thing: you select a city and they show you all businesses in that city. That’s it.
The problem is that if you’re in the Gracia neighborhood of Barcelona looking for a gestoría, a “Barcelona” query might return one in Nou Barris — 40 minutes from where you actually are.
In Gestorías Cerca de Mí I implemented Supabase with PostGIS for real proximity searches. Not city filtering — geodesic distance from the user’s coordinates.
The result: “near me” actually means near. Not “in your province.”
Decision 2: URL Search Parameters (Even Though It’s Not “Clean”)
There’s an old SEO debate about whether URL parameters are good or bad. The purely SEO answer would say avoid them.
But I made the opposite decision for search, and it was the right call from a user perspective.
If someone searches for gestorías in Málaga that handle tax returns, the resulting URL contains those parameters. That means:
→ They can share that search with someone
→ They can return with the back button to exactly the same result
→ They can bookmark the URL
→ Google can index that specific search if there’s enough demand
UX wins. SEO technically loses a bit of “cleanliness.” But in practice, users who share results are users who trust the directory. That’s worth more.
Decision 3: Dark Theme as Primary Design
This is the decision most people question when I talk about it. A B2B business directory, with dark theme as the default. Why?
Because 70% of traffic comes from mobile. And the person searching for a gestoría at 9pm from their couch, with their screen at 30% brightness, appreciates it.
Classic local directories have bright white designs that work well on a desktop monitor in the office. But actual search behavior in 2026 is mostly mobile, mostly outside office hours.
Dark theme as primary, combined with Framer Motion for smooth transitions, reduces cognitive load at exactly the moment the user is most tired. It’s a UX detail that time-on-page numbers confirm.
Decision 4: Honeypot Instead of CAPTCHA for Submission Forms
Gestorías can submit their data to appear in the directory. That means a submission form that needs bot protection.
The standard solution: CAPTCHA. The solution I implemented: honeypot.
The difference from a user perspective is enormous. CAPTCHA interrupts the flow, frustrates legitimate users, and on mobile it can be a nightmare. Honeypot is invisible to humans but catches bots efficiently.
The philosophy: don’t make legitimate users pay for bot behavior.
Decision 5: Parallel Data Fetching on the Homepage
This is technical but has a direct UX impact. Gestorías Cerca de Mí’s homepage needs multiple data sources: featured gestorías, cities, service categories, blog posts from Sanity.
The naive implementation fetches them sequentially. Each call waiting for the previous one.
The real implementation uses Promise.all() to execute them in parallel:
Time to First Byte drops noticeably. For someone who arrives in a hurry looking for a gestoría, those milliseconds matter.
What I Learned: Rankings Don’t Save You If the Experience Fails
Gestorías Cerca de Mí has 897 verified gestorías, 71,895 real reviews, and over 2,100 indexed pages. The technical SEO is done.
But the part I’m most satisfied with is different: when someone arrives searching for a gestoría in their neighborhood, the directory actually helps them find it and get in touch.
That doesn’t happen by accident. It happens because every UX decision started from the same question: what is this user trying to do in the next 2 minutes?
The answer to that question dictates the design. Not SEO, not design trends, not what the competition does.
Two things you can apply today if you’re building something similar:
- Install Microsoft Clarity (free) on your directory and watch the session recordings. Don’t assume how people use the product — watch it.
- Ask yourself this question before every design decision: does this help the user reach their goal faster, or does it help me feel better about the product?
Those are different questions. The answers are too.
