feat(blog): implement domain-specific blog fetching and canonical URL handling

This commit is contained in:
hamed
2026-07-24 10:01:35 +03:30
parent f46ba03422
commit 9053681375
4 changed files with 123 additions and 11 deletions
+13
View File
@@ -121,6 +121,19 @@ export async function getEntityOrigin(cityId) {
return getEntityCanonical(cityId, "/", currentHost).replace(/\/$/, "");
}
/**
* origin canonical یک پست بلاگ.
*
* فرق آن با getEntityOrigin: پستی که دامنهٔ شهری ندارد (سراسری، یا متعلق به رکورد
* ریشهٔ nobat724) نباید روی دامنهٔ جاری self-canonical شود — همان محتوا روی چند
* دامنه سرو می‌شد و هر کدام خودش را canonical اعلام می‌کرد (duplicate content).
* مرجع چنین پستی همیشه دامنهٔ اصلی است.
*/
export function getBlogCanonicalOrigin(cityId) {
const cityDomain = findDomainByCityId(cityId);
return cityDomain ? buildCanonicalUrl(cityDomain, "/").replace(/\/$/, "") : MAIN_ORIGIN;
}
/**
* canonical پیش‌فرض لایهٔ layout — برای صفحاتی که خودشان alternates.canonical نمی‌دهند.
* صفحات موجودیت canonical خودشان را در generateMetadata صفحه تعیین می‌کنند.