For those looking to settle quickly, Cyprus offers a range of properties that are ready for immediate occupancy. These move-in ready properties are ideal for buyers who want to avoid lengthy renovation processes. With modern designs, functional layouts, and prime locations, these properties offer an excellent opportunity to start your new chapter in Cyprus without delay, making it the perfect choice for those seeking a hassle-free transition.
Home › Cyprus Property for Sale › Page 6
document.addEventListener("DOMContentLoaded", function () {
try {
const pageUrl = location.href.split('#')[0];
const base = location.origin;
const pageTitle = document.title || "";
const pageDesc = (document.querySelector('meta[name="description"]')?.content || "").trim();
// Πάρε τις κάρτες (νέο DOM) ή fallback (παλιό DOM)
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) => {
// ---- URL (ανθεκτικό: αγνοεί anchors, #myToggle, javascript:)
let href = null;
const links = Array.from(card.querySelectorAll('a[href]'));
// δώσε προτεραιότητα σε a.hcaption, μετά σε h2>a, μετά στα υπόλοιπα
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) continue;
if (h[0] === '#') continue; // αγνόησε anchors (#myToggle κ.λπ.)
if (/^javascript:/i.test(h)) continue; // αγνόησε javascript:
if (/#myToggle/i.test(h)) continue; // αγνόησε ρητά #myToggle
href = new URL(h, base).href; // absolute URL
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 priceText = (card.querySelector("p.prop-title-fixer")?.textContent || "")
.replace(/\s+/g," ").trim();
if (href && name && !seen.has(href)) {
seen.add(href);
const li = {
"@type": "ListItem",
"position": index + 1,
"url": href,
"name": name
};
if (image) li.image = image;
if (priceText) li.description = priceText;
itemList.push(li);
}
});
// JSON-LD (CollectionPage + ItemList)
const graph = [
{
"@type":"CollectionPage",
"@id": pageUrl + "#webpage",
"url": pageUrl,
"name": pageTitle,
"description": pageDesc
},
{
"@type":"ItemList",
"@id": pageUrl + "#itemlist",
"url": pageUrl,
"name": pageTitle,
"description": pageDesc,
"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) {}
});
{
"@context":"https://schema.org",
"@type":"BreadcrumbList",
"itemListElement":[
{ "@type":"ListItem", "position":1, "name":"Home", "item":"https://www.cyprusbuyproperties.com" },
{ "@type":"ListItem", "position":2, "name":"Cyprus Property for Sale", "item":"https://www.cyprusbuyproperties.com/en/cyprus/property-sale" },
{ "@type":"ListItem", "position":3, "name":"Page 6" }
]
}
For those looking to settle quickly, Cyprus offers a range of properties that are ready for immediate occupancy. These move-in ready properties are ideal for buyers who want to avoid lengthy renovation processes. With modern designs, functional layouts, and prime locations, these properties offer an excellent opportunity to start your new chapter in Cyprus without delay, making it the perfect choice for those seeking a hassle-free transition.
Home › Cyprus Property for Sale › Page 6
...read more