Whether you're looking for a prime investment opportunity or a vacation retreat, these Cyprus apartments are perfect for both permanent living and vacation rentals. With Europe’s most sought-after beaches just a stone's throw away, these properties offer exceptional potential for rental income while providing the perfect place to relax. Combining modern comfort with stunning Mediterranean views, these apartments are ideal for those seeking both a profitable investment and a desirable lifestyle.
Home › Apartments for Sale in Cyprus › Page 61
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) {}
})();
Whether you're looking for a prime investment opportunity or a vacation retreat, these Cyprus apartments are perfect for both permanent living and vacation rentals. With Europe’s most sought-after beaches just a stone's throw away, these properties offer exceptional potential for rental income while providing the perfect place to relax. Combining modern comfort with stunning Mediterranean views, these apartments are ideal for those seeking both a profitable investment and a desirable lifestyle.
Home › Apartments for Sale in Cyprus › Page 61
...read more