diff --git a/backend/app/seo_pages.py b/backend/app/seo_pages.py index 9525afa..40db4f7 100644 --- a/backend/app/seo_pages.py +++ b/backend/app/seo_pages.py @@ -827,8 +827,30 @@ def _site_content_html(db: Session, page_key: str, lang: str) -> str: title = en(p.title, p.title_en) loc = en(p.location, p.location_en) year = en(p.year, p.year_en) - meta_bits = "، ".join(x for x in (loc, year) if x) - items += f"
  • {esc(title)}" + (f" — {esc(meta_bits)}" if meta_bits else "") + "
  • " + # متراژ و طبقات هم در فهرست می‌آید — بدون این، دستیارهای AI + # نتیجه می‌گیرند «برای پروژه‌ها متراژ ثبت نشده» (فقط صفحهٔ جزئیات داشت) + def num(fa_v: object, en_v: object) -> str: + return str(en_v).strip() if (lang == "en" and str(en_v or "").strip()) else str(fa_v or "").strip() + + specs = [] + if num(p.land_area, getattr(p, "land_area_en", "")): + specs.append(("Land" if lang == "en" else "زمین") + f" {num(p.land_area, getattr(p, 'land_area_en', ''))} m²") + if num(p.area, getattr(p, "area_en", "")): + specs.append(("Built" if lang == "en" else "زیربنا") + f" {num(p.area, getattr(p, 'area_en', ''))} m²") + if num(p.floors, getattr(p, "floors_en", "")): + specs.append(("Floors" if lang == "en" else "طبقات") + f" {num(p.floors, getattr(p, 'floors_en', ''))}") + if num(p.units_residential, getattr(p, "units_residential_en", "")): + specs.append(("Units" if lang == "en" else "واحد") + f" {num(p.units_residential, getattr(p, 'units_residential_en', ''))}") + bits = "، ".join(x for x in (loc, year) if x) + tail = "؛ ".join(specs) + # نام پروژه پیوند به صفحهٔ جزئیات — خزنده می‌تواند مشخصات کامل را دنبال کند + href = f"/en/projects/{p.slug}" if lang == "en" else f"/projects/{p.slug}" + line = f'{esc(title)}' + if bits: + line += f" — {esc(bits)}" + if tail: + line += f" [{esc(tail)}]" + items += f"
  • {line}
  • " parts.append(f"

    {'Our Projects' if lang == 'en' else 'پروژه‌های ما'}

    ") if page_key in ("home", "services"):