Next.js in Malaga
Next.js development for Malaga tourism and property businesses
A Next.js development company working with Malaga hotels, rental operators and estate agents. Listing pages that are mostly photographs, availability that cannot be cached, and visitors on hotel wifi.
- Working day overlap
- Six hours or so, two hours behind Ankara, with the Spanish afternoon running late
- Who buys here
- Hotels and apart-hotels, holiday rental operators, estate agencies, and the tourism platforms built around them
- What that changes
- Most of the page weight is photographs, so image handling is the performance work rather than a part of it
- Local specifics
- A large share of visitors arrive on mobile, on a foreign SIM or on hotel wifi, which is the connection the site should be measured on
Malaga sells places - rooms, apartments, houses - and a page that sells a place is mostly photographs of it.
That makes the engineering unusually concentrated. On most websites, performance work is spread across JavaScript, data fetching, fonts and third-party scripts. On a Malaga property or hotel site, one image is usually responsible for most of the problem, and the work is to stop pretending otherwise.
The largest image is the score
Core Web Vitals measures the moment the biggest piece of content finishes painting. On a listing page that is the hero photograph, every time.
The failures repeat so reliably that they are worth naming. A hero image served at the same resolution to a desktop and to a phone. A gallery component that loads all thirty photographs when the visitor can see one. An image rendered without telling the browser it matters, so it is discovered after the stylesheet, the fonts and a carousel library.
All three are fixable in a day, and all three are worth more than a month of JavaScript reduction on this kind of site. How images decide the LCP covers the specifics, including the measurement that tells you which image the browser actually chose.
Availability is the only live part of the page
A booking page looks dynamic and mostly is not. The property does not change. The photographs do not change. The description, the location, the review summary - none of it changes between two visitors an hour apart.
The dates do, and the price for those dates does. So the page splits: everything stable is generated and cached, and the calendar and price are fetched when the page is viewed. This is the difference between a property page that responds instantly and one that waits on a channel manager API before showing a photograph.
What gets cached and when is the reading, and the mistake it prevents is marking a whole route dynamic because one component inside it is.
The funnel leaves your site, and has to come back
Almost every Malaga booking flow hands off - to a payment provider, to a booking engine, sometimes to a platform entirely.
That handoff is where these funnels lose money. The browser leaves, the visitor authenticates with their bank, and they come back to a page that has forgotten everything it knew. Anything held only in component state is gone, which is a specific and well-understood failure rather than bad luck, and the payment redirect problem is about exactly this return journey.
The rule that follows is simple: state that has to survive a redirect belongs in the URL or on the server, never in a React hook.
Commercially
Scope fixed in writing before work starts, priced per project. The country-level ground for Spain - invoicing, regional tax, accessibility obligations - is on the Spain market page.
Invoiced by Codefacture Yazılım A.Ş. in Türkiye, in euros, by bank transfer, with no Turkish VAT because exported services are exempt.
