RU
EN GR

Недвижимость на продажу на Кипре - Страница 60

Не упустите возможность стать владельцем потрясающего дома на берегу моря на Кипре. Благодаря приятному климату круглый год и захватывающим дух видам на Средиземное море, эти объекты предлагают идеальное убежище для тех, кто ищет как роскошь, так и спокойствие. Независимо от того, ищете ли вы современную виллу или очаровательный пляжный домик, Кипр предлагает широкий спектр вариантов, которые удовлетворят ваши потребности. Идеально подходящие для отдыха на время отпуска или постоянного проживания на побережье, эти дома созданы для улучшения вашего образа жизни. Главная > Недвижимость на продажу на Кипре > Страница 60 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":"Главная","item":"https://www.cyprusbuyproperties.com/doma" }, { "@type":"ListItem","position":2,"name":"Недвижимость на продажу на Кипре","item":"https://www.cyprusbuyproperties.com/ru/cyprus" }, { "@type":"ListItem","position":3,"name":"Страница 60" } ] } ...читать далее