Developer Page Specifications
SEO / AEO
Per-page metadata + JSON-LD schemas (CollectionPage, ItemList, CreativeWork, Organization).
مكتمل
متطلّبات SEO + AEO لكل صفحة لسطحَيْ Opportunity Radar. القائمة تُصدر CollectionPage + ItemList. التفاصيل تُصدر CreativeWork (v1) مع هجرة مُخَطَّطة لـ BusinessEvent للبرامج المرتبطة-بمواعيد. كل صفحة تَشحن canonical، hreflang، Open Graph، Twitter card، و robots metadata — غير قابل للتفاوض.
صفحة القائمة (/:lang/opportunity-radar)
- SEO title
- "رادار الفرص — مُسرّعات ومنح وبرامج لمؤسّسي الـ MENA | StartupHub.today". متغيّر AR مُؤَلَّف، ليس مُترجَم تلقائياً. حد أقصى 60 حرف لكل محلّية.
- وصف Meta
- "فرص مُسرّعات ومنح وبرامج مُنَسَّقة تحريرياً لمؤسّسي الـ MENA. تَتَبَّع المواعيد، الأهلية، والفوائد عبر 16 دولة." متغيّر AR. حد أقصى 160 حرف.
- URL القياسي
- https://startuphub.today/{lang}/opportunity-radar. تَخلَّص من query params ما عدا الأساسية للغة (lang نفسه شريحة-مسار، ليس query).
- hreflang alternates
- ثلاث إدخالات: en (/en/opportunity-radar)، ar (/ar/opportunity-radar)، x-default (/en/opportunity-radar).
- JSON-LD
- CollectionPage مع name + url + inLanguage؛ ItemList يَحتوي حتى 25 عنصر Opportunity كـ @type=Event مع name، url، startDate (مكافئ DeadlineDate)، organizer. WebSite SearchAction لـ site:search.
- Open Graph + Twitter
- og:type=website · og:title (يُطابق SEO title) · og:description · og:image (1200×630 غلاف Opportunity Radar) · twitter:card=summary_large_image.
- robots
- index,follow,max-image-preview:large,max-snippet:-1.
صفحة التفاصيل (/:lang/opportunity-radar/{slug})
- SEO title
- "{Opportunity Title} | Opportunity Radar — StartupHub.today". حين sponsored، أضف لاحقة "(Sponsored)". حد أقصى 60 حرف بما فيها اللاحقة.
- وصف Meta
- OpportunityLang.ShortDescription. مَحدود بالفعل ≤200 حرف بالمعيار التحريري؛ قَطِّع إلى 160 لـ meta.
- URL القياسي
- https://startuphub.today/{lang}/opportunity-radar/{slug}.
- النوع الأساسي @type لـ JSON-LD
- v1: CreativeWork مع name، description، url، image، inLanguage، datePublished، dateModified، author (Organizer)، provider (Organizer)، about (sectors)، audience (stages). خريطة الطريق: هَجِّر لـ BusinessEvent حين deadlineDate علامة فعالية هيكلياً.
- BreadcrumbList JSON-LD
- ثلاث إدخالات: Home، Opportunity Radar، الحالي. مُصدر بجوار @type الأساسي ككتلة <script> منفصلة.
- JSON-LD Organization
- أصدر sub-graph Organization مُتداخل للمنظِّم (name، url، logo، sameAs). استخدم Organizer.WebsiteUrl كـ url قياسي.
- Open Graph
- og:type=article · og:title=SEO title · og:description=meta description · og:image=Opportunity.CoverImageUrl أو SVG مُتولَّد احتياطي · article:published_time=publishedAt · article:section="Opportunity Radar".
- robots
- index,follow حين IsActive=true و Status ≠ Closed. الفرص المُغلقة: لا تزال تُفهرس (مرجع تاريخي) لكن أضف max-snippet:-1 + max-image-preview:standard لتَخفيف بروز SERP.
