Selection of apartments for sale in Cyprus, just moments from some of Europe’s most stunning beaches. These properties offer the perfect blend of coastal living and convenience. Whether for a permanent residence, vacation home, or investment, Cyprus' proximity to the Mediterranean makes it an ideal choice. Enjoy breathtaking views, vibrant local life, and easy access to the beach. Don’t miss out on securing your place in one of Europe’s most sought-after coastal destinations.
Home › Apartments for Sale in Cyprus › Page 60
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) {}
})();
Selection of apartments for sale in Cyprus, just moments from some of Europe’s most stunning beaches. These properties offer the perfect blend of coastal living and convenience. Whether for a permanent residence, vacation home, or investment, Cyprus' proximity to the Mediterranean makes it an ideal choice. Enjoy breathtaking views, vibrant local life, and easy access to the beach. Don’t miss out on securing your place in one of Europe’s most sought-after coastal destinations.
Home › Apartments for Sale in Cyprus › Page 60
...read more