EN
GR RU

Page 158 - Properties for Sale in Cyprus

On this page, selected properties for sale in Cyprus are brought together, offering a broader view of the real estate market across different parts of the island. The available options range from coastal locations to urban and residential areas, covering different living needs. Each property adds its own identity to a collection that highlights the steady momentum and variety of the Cyprus real estate market. Home › Properties for Sale in Cyprus › Page 158 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) {} }); (function() { try { const currentUrl = window.location.href.split('#')[0]; const baseUrl = window.location.origin; const pageTitle = document.title; // Διορθωμένο: Αφαιρεί τον αριθμό στο τέλος του URL (π.χ. /2 ή /3) const categoryUrl = currentUrl.replace(/\/(\d+)$/, ''); 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 Cyprus", "item": categoryUrl } ] }; // Διορθωμένο: Ελέγχει αν το URL τελειώνει σε /αριθμό if (/\/(\d+)$/.test(currentUrl)) { breadcrumbData.itemListElement.push({ "@type": "ListItem", "position": 3, "name": pageTitle, "item": currentUrl }); } const script = document.createElement('script'); script.type = 'application/ld+json'; script.text = JSON.stringify(breadcrumbData); document.head.appendChild(script); } catch (e) {} })(); ...read more