Real estate portal
Sigma Premium Realty
A real estate portal for the Montenegrin coast in three languages with translated URLs, its own analytics, and a search that records what buyers ask for and cannot find.
Visit site ↗
Problem
Property on the Montenegrin coast is bought by foreigners, and a foreigner does not search the way a local buyer does. They ask how far the airport is, whether a foreign national may buy at all, what first line to the sea actually means. On top of that, an agency working in several languages usually ends up with one site and two translations glued on top — same URLs, machine translation, and no SEO presence at all in the markets the buyers come from.
Solution
The portal is multilingual from the database up: every piece of content has its own translation table, and translations are written by people, not machines. URLs are translated, so each language version has its own addresses and gets indexed separately. Alongside that sits purpose-built analytics that measures something ordinary counters never see — which searches return no results at all.
What was built
- Property portal with filters by type, purpose, city, neighbourhood, price and floor area
- Filters by features — sea view, parking, terrace, lift, furnished
- Filtering by distance from the beach and from the airport
- Filter combinations as real URLs, six levels deep
- Three languages with translated URLs, plus hreflang and canonical tags
- Relational translation architecture — every table has its own translation table
- Adding a new language from the admin panel, without touching code
- Purpose-built analytics with hashed IP addresses and bot filtering
- Dashboard with visits, conversions, most-viewed properties and top searches
- A report of searches that return no results
- Saved searches, favourites and comparison
- Blog with buyer guides, market analysis and the legal framework
- Filament admin panel with 14 sections and map-based location picking
- Image processing with automatic variants and WebP output
- Inquiries, reviews, FAQ and CMS pages
A property site is easy to build and hard to build well, because everything happens in the search. A buyer does not browse the listings; they cut them down with filters until only what interests them is left.
Which is why the most useful piece of data in the whole system is the one most sites never collect: searches that return nothing. If ten people in a week look for a house with a yard in Tivat under two hundred thousand and the agency has none, that is not a search failure — that is demand. The panel breaks it out into its own report.
The second decision was about languages. URLs are translated, so the same page
is /nekretnine/, /en/properties/ and /tr/emlak/. That costs more to build,
because it needs a translation table beside every content table and a redirects
table so old addresses do not break — but it is the only way the Turkish version
ranks in the Turkish market as a site of its own rather than a subpage of the
Serbian one.
For the same reason filters are paths, not query parameters, six levels deep:
/nekretnine/prodaja/stan/budva/.... Every meaningful combination of purpose,
type, city and neighbourhood is a page a search engine can index. A filter that
lives behind a question mark exists for nobody except the person who already
clicked it.
The whole portal runs on shared hosting, with no Redis, no SSH and no Node.js on the server. That constraint is invisible on the site, but it shaped every decision underneath it.
Result
Each language version has its own URLs and its own content, so it ranks as a site in its own market rather than a translation in a footnote. In the panel the agency sees not only what gets viewed but what gets searched for and does not exist — zero-result searches are a list of demand it currently cannot serve.
From the application