EN
GR RU

Page 2 - Properties for Sale in Larnaca

Across Larnaca, available properties range from apartments close to the seafront promenade to houses in established city neighbourhoods and quieter residential streets. On this page you will see a selection of properties that reflects this variety, with different internal areas, layouts and price levels. Some properties are better suited to permanent living, others to use as a second home or long-stay base in Cyprus, but all share the advantages of a city that combines coastal character with a straightforward, relaxed way of life. The properties shown on this page represent the Larnaca real estate market. Among them are modern newly built apartments in seaside areas with contemporary open-plan living spaces and generous verandas for outdoor living, detached homes with private swimming pools and landscaped gardens, as well as penthouses with large balconies oriented towards city or sea views. These properties combine refined finishes with practical room arrangements and well-designed outdoor areas, supporting a comfortable standard of everyday living in Larnaca. Home › Properties for Sale in Larnaca › Page 2 (function() { try { const canonical = document.querySelector('link[rel="canonical"]')?.getAttribute("href") || ""; const currentUrl = (canonical || window.location.href).split('#')[0]; const u = new URL(currentUrl); const parts = u.pathname.split("/").filter(Boolean); const saleIdx = parts.indexOf("sale"); if (saleIdx === -1) return; const lang = parts[saleIdx - 1] || ""; if (lang !== "en") return; const city = parts[saleIdx + 1]; if (!city) return; // Detect city-level listing: /en/sale//Properties OR /en/sale///Properties const afterCity = parts[saleIdx + 2] || ""; const isCityLevel = (afterCity === "Properties") || (/^\d+$/.test(afterCity) && (parts[saleIdx + 3] || "") === "Properties"); if (!isCityLevel) return; const baseUrl = u.origin; const cityName = decodeURIComponent(city).replace(/[-_]+/g, " ").trim(); const level2Url = `${baseUrl}/en/sale/${city}/Properties`; // Title for optional page crumb const ogTitle = document.querySelector('meta[property="og:title"]')?.getAttribute("content") || ""; let pageTitle = (ogTitle || document.title || "").trim(); pageTitle = pageTitle .replace(/\s*\|\s*Cyprus Buy Properties\s*$/i, "") .replace(/\s*-\s*Cyprus Buy Properties\s*$/i, "") .trim(); const breadcrumbData = { "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": baseUrl }, { "@type": "ListItem", "position": 2, "name": `Properties for Sale in ${cityName}`, "item": level2Url } ] }; // Add 3rd crumb only if paginated city-level page exists (/2/) if (/\/\d+\//.test(u.pathname)) { breadcrumbData.itemListElement.push({ "@type": "ListItem", "position": 3, "name": pageTitle, "item": currentUrl }); } // Prevent duplicates const existing = document.querySelector('script[data-auto="breadcrumbs-jsonld"]'); if (existing) existing.remove(); const s = document.createElement("script"); s.type = "application/ld+json"; s.setAttribute("data-auto", "breadcrumbs-jsonld"); s.text = JSON.stringify(breadcrumbData); document.head.appendChild(s); } catch (e) {} })(); document.addEventListener("DOMContentLoaded", function () { try { const pageUrl = location.href.split('#')[0]; const base = location.origin; // Εφόσον υπάρχει μόνο ΕΝΑΣ αριθμός στο URL, τον βρίσκουμε απευθείας const pathParts = location.pathname.split('/').filter(Boolean); const pageNum = parseInt(pathParts.find(p => !isNaN(p))) || 1; const offset = (pageNum - 1) * 9; const pageTitle = document.title || ""; const pageDesc = (document.querySelector('meta[name="description"]')?.content || "").trim(); let cards = document.querySelectorAll(".result-card"); if (!cards || cards.length === 0) cards = document.querySelectorAll(".re_prop .col-xs-4"); const seen = new Set(); const itemList = []; cards.forEach((card, index) => { let href = null; const links = Array.from(card.querySelectorAll('a[href]')); links.sort((a, b) => { const aw = a.matches('a.hcaption') ? 0 : a.closest('h2') ? 1 : 2; const bw = b.matches('a.hcaption') ? 0 : b.closest('h2') ? 1 : 2; return aw - bw; }); for (const a of links) { const h = (a.getAttribute('href') || '').trim(); if (!h || h[0] === '#' || /^javascript:/i.test(h) || /#myToggle/i.test(h)) continue; href = new URL(h, base).href; break; } const h2 = card.querySelector("h2.prop-title, h2.prop-title-fixer, h2"); const name = (h2?.textContent || "").trim(); const imgEl = card.querySelector("img"); let image = imgEl ? (imgEl.getAttribute("data-src") || imgEl.getAttribute("data-lazy") || imgEl.getAttribute("src")) : null; if (image) image = new URL(image, base).href; const clean = (t) => (t || "").replace(/€/gi, "€").replace(/\u00A0/g, " ").replace(/\s+/g, " ").trim(); const priceText = clean(card.querySelector("p.prop-title-fixer")?.textContent || ""); const infoText = clean(card.querySelector(".res-prop-details .prop-info-fixer")?.textContent || ""); if (href && name && !seen.has(href)) { seen.add(href); const li = { "@type": "ListItem", "position": offset + index + 1, // Υπολογισμός θέσης: (Σελίδα-1)*9 + σειρά "url": href, "name": name }; if (image) li.image = image; if (infoText || priceText) { li.description = infoText + (infoText && priceText ? " — " : "") + priceText; } itemList.push(li); } }); const graph = [ { "@type": "CollectionPage", "@id": pageUrl + "#webpage", "url": pageUrl, "name": pageTitle, "description": pageDesc }, { "@type": "ItemList", "@id": pageUrl + "#itemlist", "url": pageUrl, "name": pageTitle, "numberOfItems": itemList.length, "itemListElement": itemList } ]; const s = document.createElement("script"); s.type = "application/ld+json"; s.text = JSON.stringify({ "@context": "https://schema.org", "@graph": graph }); document.head.appendChild(s); } catch(e) {} }); ...read more