Commit Graph
161 Commits
Author SHA1 Message Date
aramesh-site deploy ef5da904e3 fix(seo): نمایش متراژ و مشخصات پروژه‌ها در فهرست /projects + پیوند به صفحهٔ جزئیات
دستیار AI گفت «/projects باز نمی‌شود» و «برای الیسیان و زنیت متراژ پیدا نکردم» — درست بود:
فهرست پروژه‌ها فقط نام/موقعیت/سال را می‌داد و زیربنا و طبقات فقط در صفحهٔ جزئیات بود.
اکنون هر ردیف فهرست شامل زمین/زیربنا/طبقات/واحد است و نام پروژه به صفحهٔ جزئیات
پیوند دارد، تا خزنده بتواند مشخصات کامل را دنبال کند.
2026-10-09 23:47:37 +00:00
aramesh-site deploy 47f1505a2e feat(llms): معرفی آرشیو تصاویر پروژه‌ها در llms.txt — تا دستیارهای AI آن را کشف کنند 2026-10-09 23:46:33 +00:00
aramesh-site deploy 365e4b9417 feat(seo): آرشیو ZIP تصاویر پروژه برای دستیارهای AI
دستیارها نمی‌توانند دکمه‌های UI را کلیک کنند؛ برای همین نمی‌توانستند تصاویر یک پروژه را
بررسی کنند. اکنون:
- /projects/{slug}/images.zip — آرشیو تصاویر هر پروژه + manifest.json
  (مشخصات کامل پروژه: زمین/زیربنا/طبقات/واحدها/کاربری/سال + برای هر تصویر: نام،
  caption با موقعیت پروژه، و لینک منبع)
- /projects-images.json — فهرست ماشین‌خوان هر ۶۵ پروژه با لینک ZIP (ItemList)
- هر دو مسیر در قاعدهٔ seo ترویک (prod + override) اضافه شدند

رفع باگ‌ها در مسیر ساخت آرشیو:
- _fetch_media: unquote روی کلیدِ از قبل دیکد‌شده، نام فایل‌های فارسی را خراب می‌کرد
  (حالا هر دو شکل امتحان می‌شود + سقوط به واکشی از سایت)
- UnboundLocalError: import محلی urllib.request نام urllib را محلی می‌کرد
- تصاویر تکراری (تصویر شاخص = اولین عکس گالری) با هش MD5 حذف می‌شوند —
  ۱۷ از ۱۹ پروژهٔ نمونه یک تصویر تکراری داشتند
2026-10-09 23:45:35 +00:00
aramesh-site deploy b26207769f fix(seo): انتشار مشخصات فنی پروژه‌ها — باگ جاافتاده که زیربنا/طبقات/واحدها را حذف می‌کرد
پاسخ به این‌که دستیارهای AI «متراژ پروژه را پیدا نمی‌کنند» در حالی که در پنل ثبت شده است:
- _project_content_html فقط ۴ فیلد (موقعیت/سال/زیربنا/کارفرما) را منتشر می‌کرد و
  زیربنا را روی نسخهٔ انگلیسی به‌خاطر نبود *_en حذف می‌کرد. حالا همهٔ فیلدهای فنی
  (زمین، زیربنا، طبقات، پیلوت، واحدهای مسکونی/تجاری/اداری، کاربری، نوع، کارفرما، وضعیت)
  منتشر می‌شوند؛ اعداد زبان‌مستقل‌اند و در نبود ترجمه هم مقدار فارسی می‌آید.
- _project_schema: همان مشخصات به‌صورت additionalProperty (PropertyValue) اضافه شد
  تا به‌عنوان دادهٔ ساخت‌یافته قابل استناد باشد.

نمونهٔ زنده (آرامش الیسیان): زمین ۱۵۵۰، زیربنا ۸۷۰۰، طبقات ۷، ۳۱ واحد مسکونی، ۶ تجاری.
۶۵/۶۵ پروژه زیربنا و طبقات دارند — پیش از این هیچ‌کدام منتشر نمی‌شد.
2026-10-09 23:36:55 +00:00
aramesh-site deploy 1d0c1ae53d feat(seo): ایندکس‌پذیری کامل، محتوای سمت سرور برای خزنده‌های AI و رفع باگ ایندکس
سئوی سمت سرور (backend/app/seo_pages.py)
- متا/canonical/hreflang/JSON-LD برای همهٔ صفحات عمومی (شش صفحهٔ استاتیک فارسی که قبلاً پوستهٔ خالی بودند)
- canonical سمت سرور (قبلاً فقط با JS ست می‌شد)، ۴۰۴ واقعی برای مسیرهای ناموجود
- اسکیما: Organization با لوگوی ImageObject، FAQPage، LocalBusiness، BreadcrumbList،
  CreativeWork پروژه با همهٔ تصاویر به‌صورت ImageObject (نام/توضیح + موقعیت پروژه)
- hreflang فقط وقتی ترجمهٔ انگلیسی واقعاً وجود دارد؛ sitemap با URLهای درصد‌گذاری‌شده
- llms.txt و robots.txt تازه‌ساز از دیتابیس؛ سیاست صریح خزنده‌های AI + Allow: /api/site
- _site_content_html: محتوای واقعی سایت به‌صورت HTML خوانا در <noscript> —
  خزنده‌های بدون جاوااسکریپت (GPTBot/OAI-SearchBot/ClaudeBot/PerplexityBot) از ۲۴۰ نویسه
  به ۸٬۵۰۰+ نویسه محتوای معنایی می‌رسند
- Cache-Control: no-store روی HTML و llms.txt (جلوگیری از کش کهنهٔ CDN)، max-age روی sitemap

فرانت‌اند
- api.tsx: خواندن دادهٔ تزریق‌شدهٔ سرور (window.__SITE__) به‌عنوان حالت اولیه — رندر بدون XHR
- App.tsx: اسکلت بارگذاری به‌جای DOM خالی (رفع Soft 404 گوگل)
- index.html: فاوآیکون واقعی برند (قبلاً به vite.svg ناموجود اشاره می‌کرد) + preload فونت

زیرساخت
- Dockerfile: آینهٔ PyPI (Tsinghua/Aliyun) — PyPI برای IP ایران بلاک است
- Caddyfile: هر مسیر پسوند‌دار بدون فایل واقعی ۴۰۴ می‌گیرد (قبلاً HTML اسپا برمی‌گرداند)
- docker-compose.prod.yml: مسیرهای seo برای صفحات استاتیک + llms.txt + کلیدهای IndexNow

داده
- seed_data*.py: حذف دفاتر و معرفی‌های دمو (که در هر استقرار برمی‌گشتند)؛
  تنها دفتر واقعی: اصفهان، ملاصدرا شمالی

دارایی‌ها
- فاوآیکون/آیکون‌های برند از لوگوی رسمی + کلیدهای IndexNow
2026-10-09 23:29:26 +00:00
aramesh-site deploy 353d4639b4 feat(brand): لوگوی اختصاصی نسخهٔ انگلیسی — ستون logo_en، میگریشن ۰۰۰۳، لوکالایز و فیلد پنل (کد از قبل در تولید اجرا می‌شد)
CI / tests (push) Canceled after 0s
CI / images (push) Canceled after 0s
2026-10-09 19:36:09 +00:00
aramesh-site deploy dfbb61f75f fix(projects): فلش پیمایش به بیرون کادر روی لبهٔ بیرونی منتقل شد (آینهٔ هم، متن داخل کادر راست‌چین) 2026-10-09 19:31:56 +00:00
aramesh-site deploy c1d7f61a45 fix(projects): فلش پیمایش روی لبهٔ بیرونی هر کارت و آینهٔ هم — قبلی رو به راست، بعدی رو به چپ 2026-10-09 19:25:52 +00:00
aramesh-site deploy c200159afd fix(projects): «قبلی» = قدیمی‌تر و «بعدی» = تازه‌تر (فهرست نزولی سال)؛ فلش‌ها فقط آینهٔ سادهٔ هم 2026-10-09 19:20:22 +00:00
aramesh-site deploy ebc97e03a4 fix(projects): فلش‌های پیمایش آینهٔ هم شدند — قبلی رو به شروع، بعدی رو به ادامه 2026-10-09 19:14:54 +00:00
aramesh-site deploy b088f68fd7 feat(projects): پیمایش پروژهٔ قبلی/بعدی در صفحهٔ هر پروژه (حلقه‌ای، دوزبانه) — کاوش بدون بازگشت به فهرست 2026-10-09 19:08:41 +00:00
aramesh-site deploy 1ceb7cb156 feat(hero): نشان «پروژه فعال الیسیان» به صفحهٔ همان پروژه وصل شد (تطبیق دو‌زبانهٔ نام با نگاشت Elysian→الیسیان) 2026-10-09 18:57:46 +00:00
aramesh-site deploy e571b19f4a fix(footer): آیکون بله = تیک (CheckIcon) — به‌جای نشان اپ 2026-10-09 18:51:32 +00:00
aramesh-site deploy bcd2b756ed feat(footer): آیکون رسمی «بله» — نشان اپ از bale.ai، چون هیچ مجموعه‌آیکونی آن را ندارد 2026-10-09 18:46:07 +00:00
aramesh-site deploy e8010b1e79 fix(contact): حذف «نیاز به گفتگوی فوری دارید؟» از فرم موبایل — متن هاردکد فارسی بود و در /en هم فارسی دیده می‌شد 2026-10-09 18:32:54 +00:00
aramesh-site deploy 7c2eeda232 fix(mobile): توضیح کارت‌های تخصص تیم ما روی موبایل کامل نمایش داده می‌شود — حذف line-clamp که با «...» می‌برید 2026-10-09 18:23:14 +00:00
aramesh-site deploy 7e4605d2b7 chore: خاموش‌کردن موقت چت‌بات — با یک کامنت برای روشن‌کردن دوباره 2026-10-09 18:19:17 +00:00
aramesh-site deploy 7d78a1fc58 fix(map): هم‌گام‌سازی بوم با ResizeObserver و کف ارتفاع ظرف — در حالت موبایل/DevTools پس از تغییر viewport نقشه ناقص و خالی می‌ماند 2026-10-09 18:10:27 +00:00
aramesh-site deploy 324298c9d7 fix(map): مقاوم‌سازی راه‌اندازی نقشه برای موبایل — پیش‌سنجی WebGL، antialias فقط در صورت پشتیبانی، و خطای روشن به‌جای قاب خالی 2026-10-09 18:01:47 +00:00
aramesh-site deploy 2d1c670715 fix(map): CSS پایهٔ مپ‌لیبر به شیت اصلی منتقل شد — روی موبایل چانک تنبل دیر می‌رسید و ظرف نقشه با ارتفاع صفر نامرئی می‌ماند 2026-10-09 17:58:22 +00:00
aramesh-site deploy 450d5dd239 fix(map): زوم‌اوت آزاد در نقشهٔ صفحهٔ پروژه — حذف maxBounds که جابه‌جایی را به محدودهٔ پروژه می‌بست 2026-10-09 17:46:11 +00:00
aramesh-site deploy f0f483a9d1 feat(map): پیوند آدرس پروژه از نشان به گوگل‌مپ — قالب رسمی Maps URLs با مختصات (?api=1&query=lat,lng)، بی‌نیاز از کلید API 2026-10-09 17:41:07 +00:00
aramesh-site deploy 00abef23df fix(map): پاپ‌آپ نقشهٔ اصلی هم فقط گالری را نشان می‌دهد — بدون تکرار تصویر شاخص و بدون قاب خالی 2026-10-09 17:33:49 +00:00
aramesh-site deploy 29dc8459f7 fix(map): پاپ‌آپ نقشهٔ صفحهٔ پروژه تصویر شاخص را تکرار نمی‌کند — فقط گالری؛ در نبود گالری قاب تصویر پنهان می‌شود 2026-10-09 17:27:27 +00:00
aramesh-site deploy afcace4fa3 feat(projects): نقشهٔ مختصات پروژه زیر هیرو در صفحهٔ هر پروژه — سنجاق دقیق با پاپ‌آپ تصاویر و پیوند نشان 2026-10-09 17:21:38 +00:00
aramesh-site deploy 2ca30178ed feat(map): افزودن لکسون، ارغوانیه و ابوریحان؛ هم‌نام‌سازی سنجاق‌های تغییرنام‌یافته (زنیث/الیسیان/آوالون) و حذف میرزاطاهر ۶ 2026-10-09 17:11:49 +00:00
aramesh-site deploy 40ec3d406b fix(admin): صفحهٔ ویرایش پروژه با body/body_en غیرآرایه سفید می‌شد — asLines همهٔ مقادیر را امن می‌کند (رفع پروژه‌های تازه‌ساخته) 2026-10-09 17:00:20 +00:00
aramesh-site deploy b801867611 feat(projects): صفحه‌بندی شماره‌دار به‌جای «مشاهده بیشتر» — ۱۲ پروژه در هر صفحه، با برگشت نگاه به ابتدای فهرست 2026-10-09 16:52:50 +00:00
aramesh-site deploy 3a72752598 fix(home): نام‌های تازهٔ پروژه‌های شاخص پس از تغییر نام (زنیث، الیسیان، آوالون) 2026-10-09 16:42:01 +00:00
aramesh-site deploy b2af06397a fix(team): کارت‌های تیم در دسکتاپ هم‌اندازه — مدیرعامل تنها بالا، دو نفر ردیف بعد (مثل موبایل) 2026-10-09 16:12:09 +00:00
aramesh-site deploy 838cc01190 feat(team): مدیرعامل تنها در ردیف اول و دو نفر دیگر در ردیف بعد — چیدمان سه‌نفره متعادل در همهٔ اندازه‌ها 2026-10-09 16:05:24 +00:00
aramesh-site deploy adedb9ea41 merge(mobile): ادغام شاخهٔ new-one2 — طراحی ریسپانسیو صفحهٔ اصلی (کلاس‌های breakpoint در همهٔ بخش‌ها) با حفظ تغییرات طراحی ما: تیم وسط‌چین بدون دایره، پروژه‌های شاخص بدون تب، تناوب پس‌زمینه (tone)، پس‌زمینهٔ پیوستهٔ تماس و منطق دوزبانهٔ مقالات 2026-10-09 15:58:57 +00:00
aramesh-site deploy e5fc0e1705 feat(hero): نشان پروژهٔ فعال وسط‌چین، بزرگ‌تر و متناسب با کادر (کامپوننت اختصاصی با فاصلهٔ یکنواخت آیکون/متن) 2026-10-09 15:46:01 +00:00
aramesh-site deploy e2f6853c2c feat(design): بازگرداندن ریتم تناوب پس‌زمینهٔ بخش‌ها — هر صفحه با بخش سیاه شروع و سیاه/خاکستری یکی‌درمیان ادامه می‌یابد (پراپ tone برای بخش‌های مشترک چندصفحه‌ای) 2026-10-09 15:26:56 +00:00
aramesh-site deploy 9bf2a30f8d feat(investment): بخش مدل‌های همکاری وسط‌چین با طراحی مراحل فرآیند — بدون شماره و بدون فهرست گلوله‌ای 2026-10-09 15:17:18 +00:00
aramesh-site deploy ad151bbae7 fix(blog): حذف دایرهٔ حرف اول از سربرگ نویسندهٔ مقاله 2026-10-09 15:08:29 +00:00
aramesh-site deploy 8865149aab feat(services): جابه‌جایی ترتیب — «فرآیند کار ما» پیش از «تبحر تیم ما» در صفحهٔ خدمات 2026-10-09 15:04:26 +00:00
aramesh-site deploy 879481df9f fix(home): حذف دایره‌های حرف اول از کارت‌های تیم 2026-10-09 14:58:37 +00:00
aramesh-site deploy 2c58978c78 feat(home): کارت‌های تیم وسط‌چین — سه کارت هم‌عرض در مرکز ردیف (بدون تصویر پرتره) 2026-10-09 14:57:44 +00:00
aramesh-site deploy 3c17bd5081 feat(home): پروژه‌های شاخص بدون تب وضعیت — سه کارت ثابت (بابک، میرزاطاهر ۳، میرزا طاهر ۵) 2026-10-09 14:49:42 +00:00
aramesh-site deploy adcb288064 feat(home): نقل‌قول مدیرعامل در بخش دربارهٔ صفحهٔ اصلی — همان نقل‌قول صفحهٔ درباره ما 2026-10-09 14:42:47 +00:00
aramesh-site deploy 016b4074d8 fix(contact): حذف پردهٔ خاکستری روی تصویر — فقط گرادیان خوانایی می‌ماند؛ لایه‌های هیرو در حالت پس‌زمینهٔ پیوسته خاموش 2026-10-09 14:33:11 +00:00
aramesh-site deploy 5e2d5dfabb feat(contact): یک تصویر پیوسته برای کل صفحهٔ تماس — هیرو و فرم روی همان پس‌زمینه؛ حذف تکرار عکس (هوم دست‌نخورده) 2026-10-09 14:27:30 +00:00
aramesh-site deploy 9759ab2698 feat(timeline): خط روی دایره تمام می‌شود و کارت پایانی زیر آن می‌نشیند — لبهٔ بالای کارت دقیقاً روی نقطهٔ پایان خط (اندازه‌گیری DOM برای هر محتوا/اندازه) 2026-10-07 18:20:14 +00:00
aramesh-site deploy 82e33fb0e0 fix(timeline): پر شدن خط با ورود کارت پایانی به دید کامل می‌شود — دیگر هیچ‌وقت بالای کارت معلق نمی‌ماند؛ انتهای گرادیان پررنگ‌تر 2026-10-07 12:32:46 +00:00
aramesh-site deploy 9dab4f929c fix(blog): تاریخ/زمان مطالعه کارت‌ها در /en انگلیسی شد؛ کرسر فیلدهای تصویر دیگر به آخر متن نمی‌پرد (مقدار محلی با همگام‌سازی فوکوس‌آگاه) 2026-10-07 12:30:28 +00:00
aramesh-site deploy bef132f82f fix(timeline): کارت پایانی پایین‌تر می‌نشیند و پر شدن خط با رسیدن کارت کامل می‌شود — خط از دل دایره می‌گذرد 2026-10-07 12:26:54 +00:00
aramesh-site deploy 07570bd14a fix(timeline): خط زمانی روی خود فهرست بسته می‌شود و تا دایرهٔ کارت پایانی پر می‌شود 2026-10-07 12:09:04 +00:00
aramesh-site deploy d68db09810 feat(timeline): کارت پایانی (تعهدی فراتر از تحویل ساختمان) وسط خط زمانی می‌نشیند — قاب نتیجه‌گیری داستان 2026-10-07 09:56:15 +00:00
aramesh-site deploy 573d4ab452 feat(home): بازطراحی کادر آمار هیرو — شیشهٔ چندلایه با خط مویی مسی، هالهٔ نرم، نشان زنده و سلسله‌مراتب عدد/برچسب (محتوای کاربر دست‌نخورده) 2026-10-07 09:46:40 +00:00