Discover apartments for sale in Cyprus through a curated selection spanning coastal areas, city centres, and well-connected neighbourhoods. This page brings together properties chosen for location, layout, and everyday practicality, from modern studios to spacious family apartments with comfortable verandas. Browse the listings below to compare options with clarity and identify the apartment that fits your lifestyle, budget, and long-term plans.
Home › Apartments for Sale in Cyprus › Page 80
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;
// Αφαιρεί τον αριθμό και το slash που τον ακολουθεί (π.χ. το /2/ γίνεται /)
// Μετατρέπει το .../Apartments/2/Properties σε .../Apartments/Properties
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": "Apartments for Sale in Cyprus",
"item": categoryUrl
}
]
};
// Ελέγχει αν υπάρχει ο αριθμός /2/ στο 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) {}
})();
Discover apartments for sale in Cyprus through a curated selection spanning coastal areas, city centres, and well-connected neighbourhoods. This page brings together properties chosen for location, layout, and everyday practicality, from modern studios to spacious family apartments with comfortable verandas. Browse the listings below to compare options with clarity and identify the apartment that fits your lifestyle, budget, and long-term plans.
Home › Apartments for Sale in Cyprus › Page 80
...read more