قواعد SEO / AEO العامة
عنوان ووصف الميتا
عنوان ووصف الميتا — التوثيق قيد الإعداد.
مكتمل
كل صفحة تضبط `<title>` و `<meta name="description">` و `<link rel="canonical">` عبر SeoService — لكل locale ولكل entity. القيم لا تُحسَب في الـ template — بل تُؤلَّف إمّا في القاموس أو في حقول المحتوى الأساسية للـ entity، ثم تُمرَّر إلى `seo.set({...})` في `ngOnInit`.
الحقول الأربعة المطلوبة لـ SEO
- title
- 50-60 حرف مثالي. الصيغة: `{عنوان الكيان} | StartupHub.today`. صفحات القوائم: `{اسم الموديول} — {Hook قصير}`. لا تكرّر عبر الصفحات.
- description
- 140-160 حرف. الجملة الأولى هي القيمة. الثانية تضيف السياق (قطاع / دولة / حالة). لا تسويق.
- canonical
- URL مطلق مع بادئة locale. `${SITE_URL}/{lang}/path/to/page`. لا يكون trailing-slash فقط — الـ trailing slashes تُحذف على مستوى canonical.
- inLanguage
- دائماً `en` أو `ar` (تطابق بادئة الـ URL). تُبعَث على سمة `<html lang="">` و في كل JSON-LD object.
نمط التنفيذ
كل صفحة تفاصيل تستدعي `this.seo.set({ title, description, canonical, alternates, inLanguage })` مرة واحدة بالضبط داخل `ngOnInit` بعد تحميل الـ entity. الـ SeoService يكتب الـ meta tags + canonical link + hreflang alternates بشكل atomic.
