/* Aljaweea — footer "Cookie Preferences" link opens the Complianz banner.
* Original by Digency (19 Aug 2026); amended 8 Sep 2026, runbook 5.14:
* - e.preventDefault() so the href="#" no longer scrolls the page to the top;
* - calls Complianz's own cmplz_set_banner_status('show') and falls back to
* clicking the (hidden) Manage-consent button if that function is absent.
* Rollback: restore the original 12-line version recorded in the runbook. */
document.addEventListener('click', function (e) {
var link = e.target.closest('.cmplz-show-banner');
if (!link) { return; }
e.preventDefault();
if (typeof cmplz_set_banner_status === 'function') {
cmplz_set_banner_status('show');
} else {
document.querySelectorAll('.cmplz-manage-consent').forEach(function (btn) { btn.click(); });
}
});
Breaking Records in Saudi Arabia with 50 Million Passengers in 2025
After being associated for decades with the Hajj and Umrah seasons, King Abdulaziz International Airport (KAIA) in Jeddah has now entered the Mega Airports Club, reaching 50 million passengers in 2025—the highest annual figure ever recorded by any Saudi airport since the Kingdom’s aviation sector began. This milestone marks a transformation in the airport’s role, function, and operational model. In this article, we explore what it means to be a “mega airport,” how Jeddah Airport succeeded in shifting from seasonal operations to a year-round aviation hub with diversified traffic, and the broader impact of this achievement on Saudi Arabia’s international standing in the economy and tourism.
Jeddah: The Kingdom’s Gateway to the World
Jeddah Airports Company, which has managed and operated KAIA since 2022, published a video on its LinkedIn page documenting the arrival of the 50 millionth passenger—a French traveller arriving from Paris on a Saadia flight to attend a sporting event hosted in Jeddah.
Several Saudi media outlets reported that this achievement reflects the airport’s ongoing transformation and its growing status as a regional hub and a gateway connecting the Kingdom to the world. It also highlights the airport’s vital role in supporting Saudi Arabia’s position as a global tourism destination and as the main air gateway to the Two Holy Mosques, by facilitating the movement of visitors, Umrah performers, and pilgrims, and supporting tourism and transport in line with Vision 2030’s goals for economic diversification and world-class travel experiences.
In this context, Eng. Mazen Johar, CEO of Jeddah Airports Company, wrote on his X (Twitter) account: “We are proud that King Abdulaziz International Airport has reached 50 million passengers and joined the Mega Airports Club—a new national achievement that reflects progress in our transformation journey and strengthens the airport’s role as a pivotal hub.”
He added, “We continue to implement development programs and raise operational readiness for the next growth phases, with sincere thanks and appreciation to our partners in the aviation ecosystem for their role in achieving this milestone.”
What Does It Mean to Join the Mega Airports Club?
Being classified as a mega airport globally means that KAIA now handles more than 10 million passengers annually, making it one of the world’s major aviation centres (hubs). Airports in this category are leaders in the aviation industry, handling massive passenger flows each year and serving as key transfer points with extensive global connectivity. This status attracts major airlines seeking to expand their operations, increase flights, and connect new destinations. As a result, King Abdul-Aziz International Airport is no longer just a local gateway but a global portal linking Saudi Arabia to East Asia, Europe, Africa, and the Americas, with Jeddah emerging as a major global aviation centre in the region.
Historically, KAIA was primarily seen as the gateway to the Holy Mosques, with peak activity during Hajj and Umrah seasons, followed by quieter periods for the rest of the year. So, when did this transformation occur?
When Did the Airport Move Beyond Seasonal Operations?
KAIA did not abandon its seasonal management model overnight or on a specific date; rather, the transformation was gradual. The operational shift began in 2019 with the opening of Terminal 1, which marked the first real break from the seasonal model. For the first time, the airport had a high-capacity terminal and systems capable of year-round operations, though management remained partially seasonal.
The COVID-19 pandemic (2020–2021), which halted global aviation growth and led to contraction, provided an opportunity for KAIA management to reset its operational model and focus on sustainability rather than seasonality. The year 2022 became the true turning point: with travel rebounding strongly after the pandemic, operations were no longer tied solely to Hajj and Umrah. International and domestic flights expanded outside the pilgrimage seasons, and the airport began to be managed as a sustainable, year-round operation, with seasonal peaks at certain times of the year.
Between 2023 and 2024, the new model was consolidated through several steps, including continuous growth in off-season passenger numbers, the expansion of low-cost carriers, increased domestic and regional traffic, and passenger volumes reaching levels no longer dependent on a single season. Thus, seasonal management became the exception rather than the rule, and the arrival of the 50 millionth passenger marked the airport’s entry into the Mega Airports Club.
Transit passengers now represent a vital and growing share of KAIA’s annual traffic. According to several economic estimates, transit passengers now account for 25% to 35% of the airport’s total international passenger volume. This growth is due to several factors: in addition to the opening of Terminal 1, the Ministry of Foreign Affairs, in coordination with the Civil Aviation Authority and Saadia, launched the “Your Ticket is Your Visa” (Stopover Visa) service, allowing transit passengers to stay in the Kingdom for up to 96 hours, significantly increasing the proportion of transit travellers. Furthermore, the airport has become the main connecting point for passengers travelling from Nigeria, Egypt, and Morocco to Pakistan, India, and Indonesia.
Low-cost carriers also play a pivotal role, attracting new segments of travellers who did not previously fly regularly, boosting short- and medium-haul domestic and regional traffic, and increasing flight numbers even outside peak seasons. These airlines include flynas (the Kingdom’s leading low-cost carrier, with Jeddah as a main hub), flyadeal(the digital, ultra-low-cost arm of Saudia Group), Air Arabia(one of the region’s oldest and strongest low-cost airlines), flydubai(operating a hybrid low-cost model), Wizz Air(the European low-cost giant recently entering the Saudi market), and Jazeera Airways(the leading Kuwaiti low-cost carrier).
What Are the Economic Impacts of a Mega Airport?
Breaking the 50-million-passenger barrier is undoubtedly a major achievement, but it also marks the beginning of a new phase with significant positive economic implications for Saudi Arabia. Having a mega airport of this scale has both direct and indirect economic effects: it boosts global airlines’ confidence in the Saudi market, increases commercial activity in Jeddah and the western region, attracts investments in hotels, restaurants, and entertainment, and creates jobs in transport, services, logistics, and trade. It also drives improvements in services and passenger experience, as rising passenger numbers encourage management to develop infrastructure, enhance security, immigration, and ground handling systems, and provide innovative lounges and services in line with global standards.
All of this directly supports Saudi Arabia’s aviation strategy under Vision 2030, which aims to transform the Kingdom into a global centre for transport and logistics and attract 330 million passengers annually by 2030. The airport plays a pivotal role in welcoming visitors, Umrah performers, and pilgrims, facilitating access to the Holy Mosques and tourist attractions, and powering Jeddah’s growth as a global economic and tourism hub. This aligns with Saudi Arabia’s plan to diversify its economy, expand sectors such as tourism and logistics, and attract millions of tourists each year.
Stay informed. Get the latest aviation and space news from the Arab world on WhatsApp and Telegram as soon as it is published, or subscribe to our newsletter for a weekly round-up. You can also add us to your preferred sources to see more of our stories in Google Search.
We use cookies to run this site, to measure readership and to show the advertising that funds our journalism. In your region, non-essential cookies stay off until you accept them. Accept all, deny all, or choose by category. You can change your choice at any time via the Cookie Preferences link at the bottom of every page.
Functional Always active
Needed for the site to work: your language, your cookie choice, form security and the WordPress session. Always active.
Preferences
Remember settings you have chosen so that you do not have to set them again on your next visit.
Statistics
Google Analytics, to see which articles are read, from where and on which devices. IP addresses are shortened before storage.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Advertising served by Google AdSense, embedded videos and social-media buttons, and measurement pixels for our own posts on social platforms.
We use cookies to run this site, to measure readership and to show the advertising that funds our journalism. They are active unless you deny them here. You can change your choice at any time via the Cookie Preferences link at the bottom of every page.
Functional Always active
Needed for the site to work: your language, your cookie choice, form security and the WordPress session. Always active.
Preferences
Remember settings you have chosen so that you do not have to set them again on your next visit.
Statistics
Google Analytics, to see which articles are read, from where and on which devices. IP addresses are shortened before storage.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Advertising served by Google AdSense, embedded videos and social-media buttons, and measurement pixels for our own posts on social platforms.
var molongui_authorship_byline_params = {"byline_modifiers_enabled":"","byline_prefix":"","byline_suffix":"","byline_separator":",\u00a0","byline_last_separator":"\u00a0and\u00a0","byline_link_title":"View all posts by","byline_link_class":"","byline_dom_tree":"","byline_dom_prepend":"","byline_dom_append":"","byline_decoder":"v3","byline_data_url":"https://aljaweea.com/wp-json/molongui-authorship/v1/bylines","byline_rest_nonce":""};
//# sourceURL=molongui-authorship-byline-js-extra
var tie = {"is_rtl":"","ajaxurl":"https://aljaweea.com/wp-admin/admin-ajax.php?lang=en","is_side_aside_light":"","is_taqyeem_active":"","is_sticky_video":"1","mobile_menu_top":"","mobile_menu_active":"area_1","mobile_menu_parent":"","lightbox_all":"true","lightbox_gallery":"true","lightbox_skin":"dark","lightbox_thumb":"horizontal","lightbox_arrows":"true","is_singular":"1","autoload_posts":"","reading_indicator":"true","lazyload":"","select_share":"","select_share_twitter":"true","select_share_facebook":"true","select_share_linkedin":"true","select_share_email":"true","facebook_app_id":"5303202981","twitter_username":"","responsive_tables":"true","ad_blocker_detector":"","sticky_behavior":"default","sticky_desktop":"true","sticky_mobile":"true","sticky_mobile_behavior":"default","ajax_loader":"\u003Cdiv class=\"loader-overlay\"\u003E\u003Cdiv class=\"spinner-circle\"\u003E\u003C/div\u003E\u003C/div\u003E","type_to_search":"1","lang_no_results":"Nothing Found","sticky_share_mobile":"","sticky_share_post":"","sticky_share_post_menu":""};
//# sourceURL=tie-scripts-js-extra
let cmplzBlockedContent = document.querySelector('.cmplz-blocked-content-notice');
if ( cmplzBlockedContent) {
cmplzBlockedContent.addEventListener('click', function(event) {
event.stopPropagation();
});
}
//# sourceURL=cmplz-cookiebanner-js-after
/* Accessibility quick fixes (WCAG 2.2 AA test, 27 Oct 2026). Safe to switch off.
1 skip link · 2 form autofill · 3 language switcher name · 4 dark-mode button name and state
5 mobile menu state and focus · 6 heading levels for screen readers · 7 author photos
8 form errors linked to fields · 9 "opens in a new tab" for screen readers · 10 main content area */
(function () {
var isAr = (document.documentElement.lang || '').toLowerCase().indexOf('ar') === 0;
var T = isAr
? { skip: 'تخطَّ إلى المحتوى الرئيسي', dark: 'الوضع المظلم', newTab: ' (يُفتح في علامة تبويب جديدة)' }
: { skip: 'Skip to main content', dark: 'Dark mode', newTab: ' (opens in a new tab)' };function visible(el) {
if (!el) { return false; }
var r = el.getBoundingClientRect(), s = getComputedStyle(el);
return r.width > 0 && r.height > 0 && s.visibility !== 'hidden' && s.display !== 'none' && r.right > 0 && r.left < window.innerWidth;
}function run() {
/* 1. Skip link (WCAG 2.4.1): jumps to the first block after the site header */
var header = document.getElementById('theme-header');
var target = header ? header.nextElementSibling : null;
while (target && (target.tagName === 'SCRIPT' || target.tagName === 'STYLE')) { target = target.nextElementSibling; }
if (target && !document.querySelector('.aj-skip-link')) {
if (!target.id) { target.id = 'aj-main'; }
if (!target.hasAttribute('tabindex')) { target.setAttribute('tabindex', '-1'); }
var a = document.createElement('a');
a.className = 'aj-skip-link';
a.href = '#' + target.id;
a.textContent = T.skip;
a.addEventListener('click', function () { setTimeout(function () { target.focus({ preventScroll: true }); }, 0); });
document.body.insertBefore(a, document.body.firstChild);
}/* 10. Main content area (WCAG 1.3.1): pages with none (the home pages) get one */
if (target && !document.querySelector('main, [role="main"]') && !target.querySelector('footer, #footer')) {
target.setAttribute('role', 'main');
}/* 2. Form autofill (WCAG 1.3.5) */
var inputs = document.querySelectorAll('form input');
for (var i = 0; i < inputs.length; i++) {
var el = inputs[i];
if (el.getAttribute('autocomplete')) { continue; }
var n = (el.name || '').toLowerCase();
var l = ((el.labels && el.labels[0] && el.labels[0].textContent) || el.getAttribute('aria-label') || el.placeholder || '').toLowerCase().trim();
var v = null;
if (el.type === 'email') { v = 'email'; }
else if (el.type === 'tel' || (/phone|هاتف|جوال/.test(l) && !/mail|بريد/.test(l))) { v = 'tel'; }
else if (/first_name/.test(n)) { v = 'given-name'; }
else if (/last_name/.test(n)) { v = 'family-name'; }
else if (el.type === 'text' && /^(name|full name|الاسم|الإسم)\b/.test(l)) { v = 'name'; }
else if (el.type === 'url') { v = 'url'; }
if (v) { el.setAttribute('autocomplete', v); }
}/* 3. Language switcher (WCAG 2.4.4, 3.1.2): name the target language in that language */
var sw = document.querySelectorAll('a.lang-toggle');
for (var s = 0; s < sw.length; s++) {
var toAr = /\/ar(\/|$)/.test(sw[s].getAttribute('href') || '');
var name = toAr ? 'العربية' : 'English';
sw[s].setAttribute('aria-label', name);
sw[s].setAttribute('title', name);
sw[s].setAttribute('lang', toAr ? 'ar' : 'en');
sw[s].setAttribute('hreflang', toAr ? 'ar' : 'en');
var ims = sw[s].querySelectorAll('img');
for (var k = 0; k < ims.length; k++) { ims[k].setAttribute('alt', ''); }
}/* 4. Dark-mode button (WCAG 4.1.2): clear name, behaves as a toggle button that reports on/off */
var skins = document.querySelectorAll('a.change-skin');
function isDark() { return document.documentElement.classList.contains('dark-skin'); }
function syncSkin() { for (var q = 0; q < skins.length; q++) { skins[q].setAttribute('aria-pressed', isDark() ? 'true' : 'false'); } }
for (var d = 0; d < skins.length; d++) {
skins[d].setAttribute('role', 'button');
skins[d].setAttribute('aria-label', T.dark);
skins[d].setAttribute('title', T.dark);
skins[d].addEventListener('click', function () { setTimeout(syncSkin, 300); });
skins[d].addEventListener('keydown', function (e) { if (e.key === ' ') { e.preventDefault(); this.click(); } });
}
syncSkin();/* 5. Mobile menu (WCAG 4.1.2, 2.4.3): report open/closed, move focus in on open and back on close */
var btn = document.getElementById('mobile-menu-icon');
var panel = document.querySelector('.side-aside');
if (btn && panel) {
btn.setAttribute('role', 'button');
btn.setAttribute('aria-expanded', 'false');
if (!panel.id) { panel.id = 'aj-mobile-menu'; }
btn.setAttribute('aria-controls', panel.id);
var check = function (moveFocus) {
setTimeout(function () {
var open = visible(panel);
btn.setAttribute('aria-expanded', open ? 'true' : 'false');
if (open && moveFocus) {
var first = panel.querySelector('a[href]:not(.close-side-aside), button');
if (first) { first.focus(); }
}
if (!open && moveFocus === 'back') { btn.focus(); }
}, 450);
};
btn.addEventListener('click', function () { check(true); });
var closers = panel.querySelectorAll('.close-side-aside');
for (var c = 0; c < closers.length; c++) { closers[c].addEventListener('click', function () { check('back'); }); }
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && btn.getAttribute('aria-expanded') === 'true') {
setTimeout(function () {
/* the theme closes the menu on Escape in English but not in Arabic */
var x = panel.querySelector('.close-side-aside');
if (visible(panel) && x) { x.click(); }
check('back');
}, 150);
}
});
}/* 6. Heading levels (WCAG 1.3.1): no jumps for screen readers; looks unchanged */
var hs = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
var prev = 0, hasH1 = !!document.querySelector('h1');
for (var h = 0; h < hs.length; h++) {
if (!visible(hs[h]) && !hs[h].closest('.side-aside')) { continue; }
var lvl = parseInt(hs[h].tagName.charAt(1), 10);
var eff = lvl;
if (!hasH1 && prev === 0) { eff = 1; }
else if (prev && lvl > prev + 1) { eff = prev + 1; }
if (eff !== lvl) { hs[h].setAttribute('aria-level', String(eff)); }
prev = eff;
}/* 7. Author photos: describe a linked photo by the author's name (it is the link's name); otherwise decorative */
var boxes = document.querySelectorAll('.about-author, .author-box, .m-a-box, .molongui-author-box');
for (var b = 0; b < boxes.length; b++) {
var pics = boxes[b].querySelectorAll('img');
for (var p = 0; p < pics.length; p++) {
var lk = pics[p].closest('a[href]');
var who = '';
if (lk) {
var byline = document.querySelector('a.author-name[href="' + lk.getAttribute('href') + '"]');
var strong = boxes[b].querySelector('.m-a-box-bio strong, [itemprop="name"]');
who = ((byline && byline.textContent) || (strong && strong.textContent) || '').trim();
}
if (lk && !who) { continue; } /* name not found: keep the existing description so the link keeps a name */
pics[p].setAttribute('alt', who);
}
}/* 9. "Opens in a new tab" for screen-reader users (W3C technique G201) */
var blanks = document.querySelectorAll('a[target="_blank"]');
for (var t = 0; t < blanks.length; t++) {
if (blanks[t].querySelector('.aj-newtab')) { continue; }
var sr = document.createElement('span');
sr.className = 'screen-reader-text aj-newtab';
sr.textContent = T.newTab;
blanks[t].appendChild(sr);
if (blanks[t].hasAttribute('aria-label')) { blanks[t].setAttribute('aria-label', blanks[t].getAttribute('aria-label') + T.newTab); }
}
}/* 8. Form errors (WCAG 3.3.1): link each error message to its field when it appears */
function linkErrors(root) {
var errs = (root || document).querySelectorAll('.ff-el-group .error, .ff-el-group .text-danger');
for (var e = 0; e < errs.length; e++) {
var grp = errs[e].closest('.ff-el-group');
var field = grp ? grp.querySelector('input:not([type=hidden]), select, textarea') : null;
if (!field) { continue; }
if (!errs[e].id) { errs[e].id = 'aj-err-' + Math.random().toString(36).slice(2, 9); }
var ids = (field.getAttribute('aria-describedby') || '').split(' ').filter(Boolean);
if (ids.indexOf(errs[e].id) === -1) { ids.push(errs[e].id); field.setAttribute('aria-describedby', ids.join(' ')); }
}
}
function watchForms() {
var forms = document.querySelectorAll('form.frm-fluent-form');
if (!window.MutationObserver) { return; }
for (var f = 0; f < forms.length; f++) {
new MutationObserver(function () { linkErrors(); }).observe(forms[f], { childList: true, subtree: true });
}
}function start() { run(); watchForms(); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }
})();
/* Aljaweea newsletter form (form 10): on Arabic pages, pre-select the Arabic edition.
2 Nov 2026 (Claude, runbook 8.82). Decision D-05 asks for the page language to be pre-selected through
the WPML translation of the field's default value; WPML does not offer that value for translation,
so this is the flagged fallback. The stored values stay "English" / "العربية" for the FluentCRM tag routing.
Rollback: set this snippet to Draft (the Arabic page then pre-selects English). */
(function () {
function run() {
if (!/^ar/i.test(document.documentElement.lang || '')) { return; }
var radios = document.querySelectorAll('form.fluent_form_10 input[type="radio"][name="dropdown"]');
for (var i = 0; i < radios.length; i++) {
if (radios[i].value === 'العربية') { radios[i].checked = true; radios[i].dispatchEvent(new Event('change', { bubbles: true })); }
}
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
/* Aljaweea forms: let Fluent Forms show its own error messages.
2 Nov 2026 (Claude, runbook 8.86; finding V-1 of the 8.85 test). Without this, the browser's own email check
stops the form when an address has no "@" and shows the browser's pop-up in the browser's language (English on
Arabic pages for most visitors), so our message from the forms standard (1.4) never appears.
"novalidate" switches off only the browser's own check: Fluent Forms still checks every field in the browser
and again on the server, so a badly formed address is still refused - now with our wording, in the page language.
Rollback: set this snippet to Draft. */
(function () {
function run() {
var forms = document.querySelectorAll('form.frm-fluent-form');
for (var i = 0; i < forms.length; i++) { forms[i].setAttribute('novalidate', 'novalidate'); }
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"};