Developer Guide

Creating a Bilingual Sports Portal (AR/EN) with APG vNext

 ·  by ASP Playground Dev Team  ·  10 min read

📄 Download this guide as PDF Offline reference — Creating a Bilingual Sports Portal (AR/EN) with APG vNext
View PDF

Why Bilingual?

A bilingual AR/EN sports portal doubles your total addressable audience with a single codebase. Arabic-language sports content captures the MENA market — 400+ million potential readers — while English content reaches the global sports community. For World Cup 2026, covering both languages means ranking for both "yalla shoot بث مباشر" and "live stream World Cup 2026" in the same site.

Architecture Choices

Three approaches exist for bilingual ASP.NET sites:

ApproachURL PatternSEO ImpactComplexity
Subdirectory/en/ and /ar/Best (hreflang, shared domain authority)Medium
Subdomainen.site.com / ar.site.comGoodMedium-high
Separate domainssite.com / site-ar.comModerate (split authority)High

Subdirectory is the recommended approach for most sports portals. It concentrates domain authority and simplifies hreflang implementation.

Content Strategy

Do not machine-translate English content into Arabic — Google detects low-quality translations and may deindex them. Instead, use a hybrid approach:

  • Match data (scores, fixtures, stats) — translate automatically from API JSON (team names, status labels)
  • Editorial content (match analysis, news) — original Arabic writing by an Arabic-speaking contributor
  • User-generated content — allow posts in both languages, display natively with direction detection

hreflang Implementation

Add hreflang tags to the <head> of every page:

<link rel="alternate" hreflang="en" href="https://yoursite.com/en/match/wc2026-final" />
<link rel="alternate" hreflang="ar" href="https://yoursite.com/ar/match/wc2026-final" />
<link rel="alternate" hreflang="x-default" href="https://yoursite.com/match/wc2026-final" />

In APG vNext, inject these tags via a custom HTTP Module that reads the current URL and generates the language alternate links dynamically.

Shared Database, Dual Views

Use a single SQL Server database with language-tagged content rows:

CREATE TABLE MatchContent (
  MatchID    INT NOT NULL,
  Lang       CHAR(2) NOT NULL, -- 'en' or 'ar'
  Title      NVARCHAR(200),
  Preview    NVARCHAR(MAX),
  PRIMARY KEY (MatchID, Lang)
);

Your ASP.NET data layer queries by (MatchID, CurrentCulture) and falls back to English if the Arabic version doesn't exist yet.

APG vNext Forum Language Separation

Create parallel forum structures: /en/community for English threads and /ar/community for Arabic threads. Both forums are separate APG vNext instances sharing the same user database via a shared membership provider.

Real-World Example

This exact bilingual architecture is applied in the Yalla Shoot streaming guide — an ASP.NET application serving Arabic-first content with English metadata for international SEO coverage during World Cup 2026.

Start with the Arabic RTL guide and Arabic language support guide before implementing the full bilingual architecture.

See it in practice

We applied these techniques to build the Yalla Shoot streaming app guide — a real-world ASP.NET web application serving live sports content.

View Yalla Shoot Technical Guide →