diff --git a/DrSousan.Api/Pages/Index.cshtml b/DrSousan.Api/Pages/Index.cshtml index c62131a..93e38bf 100644 --- a/DrSousan.Api/Pages/Index.cshtml +++ b/DrSousan.Api/Pages/Index.cshtml @@ -15,37 +15,104 @@ var ig = c.GetValueOrDefault("instagram",""); var wa = c.GetValueOrDefault("whatsapp",""); var tg = c.GetValueOrDefault("telegram",""); + var phone = c.GetValueOrDefault("phone",""); + var email = c.GetValueOrDefault("email",""); + var address = c.GetValueOrDefault("address",""); + + // Clean, keyword-rich meta description (trim stray whitespace/newlines from the editable subtitle) + var rawSubtitle = (h.GetValueOrDefault("subtitle","") ?? "").Replace("\n"," ").Replace("\r"," ").Trim(); + while (rawSubtitle.Contains(" ")) rawSubtitle = rawSubtitle.Replace(" "," "); + var metaDesc = string.IsNullOrWhiteSpace(rawSubtitle) + ? "دکتر سوسن آلطه، متخصص زیبایی پوست در تهران. خدمات بوتاکس، فیلر، لیزر موهای زائد، مزوتراپی و پاکسازی پوست با تمرکز بر نتایج طبیعی. رزرو نوبت و مشاوره." + : rawSubtitle; + if (metaDesc.Length > 160) metaDesc = metaDesc.Substring(0, 157).TrimEnd() + "…"; + + var absHero = string.IsNullOrEmpty(heroImg) ? "" : (heroImg.StartsWith("http") ? heroImg : siteBaseUrl + heroImg); + + // Aggregate rating from active testimonials (for rich results) + var ratedReviews = Model.Testimonials.Where(t => t.Rating > 0).ToList(); + var reviewCount = ratedReviews.Count; + var avgRating = reviewCount > 0 ? Math.Round(ratedReviews.Average(t => t.Rating), 1) : 0d; + + // Social profiles for schema sameAs + var socials = new[] { ig, tg }.Where(s => !string.IsNullOrEmpty(s) && s.StartsWith("http")).ToList(); } @section Head {