يوسف

التدريب على الاختبارات المطابقة للاختبار الرسمي من GoIELTS كان مفيدًا جدًا! طوّرت مهارات الكتابة في الايلتس، وتمكنت ايضًا من تطوير مهارة القراءة في الايلتس،
وحققت درجة 6!

عن فريق المحتوى في GoIELTS

يعمل GoIELTS علي إنتاج محتوى عربي متخصص في اختبار IELTS اعتماداً على كُتاب ذوي خبرة في المجال التعليمي.

omarzekri217@gmail.com

✍️ omarzekri217@gmail.com

لم يقم الكاتب بإضافة نبذة عنه بعد.

🌐 الموقع الشخصي
عرض جميع مقالات omarzekri217@gmail.com

جرب GoIELTS الحين مجانا!

) */ (function () { 'use strict';// ─── CONFIG ─────────────────────────────────────────────────────────────── const APP_DOMAIN = 'app.goielts.ai'; const REL_VALUE = 'nofollow noopener noreferrer';const PAID_PARAMS = [ 'utm_source', 'utm_medium', 'utm_campaign', 'utm_content', 'utm_term', 'gclid', 'fbclid', 'ttclid', 'sclid', 'msclkid' ];const ORGANIC_UTM = { utm_source: 'goielts_mkt', utm_medium: 'organic', utm_campaign: 'cta_signup', };// ─── HELPERS ────────────────────────────────────────────────────────────── const pageParams = new URLSearchParams(window.location.search); const hasPaidParams = PAID_PARAMS.some(p => pageParams.get(p));function getPageSlug() { const parts = window.location.pathname.split('/').filter(Boolean); return parts.length > 0 ? decodeURIComponent(parts[parts.length - 1]) : 'homepage'; }function getPosition(link) { if (link.closest('#masthead') || link.closest('.ast-mobile-header-wrap')) return 'header'; if (link.closest('#secondary') || link.closest('.sidebar-main')) return 'sidebar'; if (link.closest('.try-proInsightsNow-single-post-new')) return 'content_banner'; if (link.closest('.try-proInsightsNow-single-post.mobile')) return 'mobile_sticky'; if (link.closest('.entry-content') || link.closest('article')) return 'content_inline'; if (link.closest('#colophon') || link.closest('.site-footer')) return 'footer'; return 'other'; }// ─── MAIN PROCESSOR ─────────────────────────────────────────────────────── const positionCounters = {};function processLink(link) { try { const url = new URL(link.href); if (!url.hostname.includes(APP_DOMAIN)) return;// 1. Always enforce rel — SEO + security link.setAttribute('rel', REL_VALUE);// 2. Paid params take full priority if (hasPaidParams) { PAID_PARAMS.forEach(param => { const value = pageParams.get(param); if (value && !url.searchParams.has(param)) { url.searchParams.set(param, value); } });// 3. Organic UTM — only if no campaign already set } else if (!url.searchParams.has('utm_campaign')) { const position = getPosition(link); positionCounters[position] = (positionCounters[position] || 0) + 1;Object.entries(ORGANIC_UTM).forEach(([key, val]) => { url.searchParams.set(key, val); }); url.searchParams.set('utm_term', getPageSlug()); url.searchParams.set('utm_content', `${position}_${positionCounters[position]}`); }link.href = url.toString();} catch (e) { console.error('GoIELTS Link Processor: Failed on', link.href, e); } }function processAllLinks() { document.querySelectorAll(`a[href*="${APP_DOMAIN}"]`).forEach(processLink); }// ─── INITIAL RUN ────────────────────────────────────────────────────────── // Footer placement = DOM already parsed, no DOMContentLoaded needed processAllLinks();// ─── MUTATION OBSERVER — catches dynamically injected banners/CTAs ───────── new MutationObserver(mutations => { mutations.forEach(({ addedNodes }) => { addedNodes.forEach(node => { if (node.nodeType !== 1) return; if (node.matches(`a[href*="${APP_DOMAIN}"]`)) { processLink(node); } node.querySelectorAll(`a[href*="${APP_DOMAIN}"]`).forEach(processLink); }); }); }).observe(document.body, { childList: true, subtree: true });})();
Scroll to Top