تخطَّ إلى المحتوى
MoroccanDevs

حين تبحث بالعربية تجد ترجمة آلية: قياس فجوة المحتوى التقني العربي

قِسْتُ ترتيب نتائج البحث لخمس كلمات مفتاحية في مصر والسعودية والإمارات. النتيجة: الصفحة الأولى للاستعلامات العربية التقنية يحتلّها translate.google.com، لأنّ المحتوى العربي الأصلي غير موجود.

نُشر في 5 دقائق قراءة

كثيراً ما يُقال إنّ المحتوى التقني العربي «ضعيف» أو «ناقص». هذه جملة انطباعية، ولا يمكن البناء عليها. أردتُ رقماً.

فأخذتُ خمس كلمات مفتاحية تدور حول موضوع واحد — واجهات برمجة نتائج البحث — وقِستُ من يظهر في الصفحة الأولى لها في ثلاث أسواق عربية. ثلاث من الكلمات بالعربية، واثنتان بالمصطلح الإنجليزي كما يكتبه المطوّر العربي فعلاً.

النتيجة كانت أوضح ممّا توقّعت، وليست هي التي كنتُ أبحث عنها.

المنهجية

القياس تمّ يوم 30 أغسطس 2026، عبر SerpApi، على ثلاثة نطاقات: google.com.eg و google.com.sa و google.ae، بلغة واجهة hl=ar، وبعمق عشرين نتيجة لكل استعلام.

النقطة الأهمّ في الإعداد أنّ النطاق والبلد واللغة تُضبط معاً:

@dataclass(frozen=True)
class Market:
    code: str
    name_ar: str
    google_domain: str
    gl: str
    hl: str = "ar"

MARKETS = [
    Market("eg", "مصر",      "google.com.eg", "eg"),
    Market("sa", "السعودية", "google.com.sa", "sa"),
    Market("ae", "الإمارات", "google.ae",     "ae"),
]

الخطأ الشائع هو تغيير gl وحده مع ترك google_domain على google.com. ذلك ينتج تركيبة لا يواجهها أيّ مستخدم حقيقي: نطاق دولي بتحيّز محلّي. ربط الثلاثة في بنية واحدة يمنع انفصالها.

تنبيه يوفّر عليك ساعات: المعامل num لم يعد يعمل

كان بالإمكان طلب مئة نتيجة في طلب واحد عبر num، لكنّ Google أوقفت دعم ذلك سنة 2025، وصارت معظم الطلبات تعيد عشر نتائج بغضّ النظر عن قيمته. أيّ أداة ما تزال تعتمد على num=100 تظنّ أنّها فحصت مئة نتيجة وهي لم تتجاوز العشر الأولى، فتُبلغك بأنّ نطاقك «غير موجود» وهو في المرتبة 14. العمق الحقيقي يأتي من التصفّح بـ start:

RESULTS_PER_PAGE = 10

def fetch_rank(keyword, market, target_domain, depth=20):
    """يتصفّح الصفحات حتى يجد النطاق أو ينفد العمق. يعيد (الترتيب، عدد الطلبات)."""
    used = 0
    for offset in range(0, depth, RESULTS_PER_PAGE):
        results = fetch_serp(keyword, market, start=offset)
        used += 1
        if not results:
            break                      # نفدت النتائج قبل أن ينفد العمق
        rank = find_rank(results, target_domain, offset)
        if rank is not None:
            return rank, used
        time.sleep(1)
    return None, used

ونحسب الترتيب من الإزاحة وموضع النتيجة داخل الصفحة، لا من الحقل position مباشرةً، لأنّنا نريد رقماً مطلقاً وصحيحاً عبر الصفحات:

def find_rank(results, target_domain, offset=0):
    target = normalize(target_domain)
    for i, result in enumerate(results):
        host = urlparse(result.get("link", "")).netloc
        if normalize(host) == target:
            return offset + i + 1
    return None

def normalize(host: str) -> str:
    """يوحّد www.example.com و example.com حتى لا يبدو نطاقك غائباً لسبب شكلي."""
    return host.lower().removeprefix("www.")

الكود كامل كأداة سطر أوامر في tools/rank-tracker، مع تقدير للتكلفة قبل الإنفاق وتوقّف مبكر عند العثور على النطاق. القياس كلّه كلّف 27 طلباً.

النتيجة الأولى: الحضور بالمصطلح الإنجليزي مكتمل

تتبّعتُ نطاق serpapi.com — وهو أحد أبرز مزوّدي هذه الخدمة — في الأسواق الثلاث:

الكلمة المفتاحيةمصرالسعوديةالإمارات
serp api111
google search api233
واجهة برمجة نتائج البحث———
استخراج نتائج بحث جوجل———
سحب بيانات محركات البحث———

الشرطة تعني: غير موجود ضمن أول عشرين نتيجة.

القراءة المباشرة: الطلب القادم من الأسواق العربية بالمصطلح الإنجليزي مُلبّى تماماً. المرتبة الأولى في ثلاث دول ليست صدفة. أمّا الطلب بالعربية فلا أحد يلبّيه.

لكنّ الغياب وحده لا يعني الكثير. قد يعني ببساطة أنّ الاستعلامات العربية بلا قيمة، أو أنّها لا تُرجع نتائج ذات معنى أصلاً. فذهبتُ أنظر ماذا يوجد فعلاً في تلك الصفحات.

النتيجة الثانية: الصفحة الأولى تحتلّها الترجمة الآلية

هذه أول ثماني نتائج لاستعلام «واجهة برمجة نتائج البحث» من google.com.sa:

#النطاق
1docs.apigee.com
2translate.google.com
3developers.google.com
4translate.google.com
5translate.google.com
6translate.google.com
7translate.google.com
8translate.google.com

ستّ نتائج من ثمانٍ هي صفحات إنجليزية مترجَمة آلياً عبر Google Translate. وفي استعلام «استخراج نتائج بحث جوجل» كانت النسبة ثلاثاً من ثمانٍ.

هذا ليس ضعفاً في المحتوى العربي. هذا غياب له. حين لا تجد الخوارزمية صفحة عربية أصلية تستحقّ الترتيب، تلجأ إلى ترجمة صفحة إنجليزية آلياً وتعرضها. الصفحة الأولى ليست ساحة تنافس مزدحمة يصعب اقتحامها؛ هي شاغرة، ومَن يحتلّها اليوم ليس منافساً بل آلة ترجمة.

ولاحظ المفارقة في النتيجة الثامنة تحديداً: مقال مقارنة عنوانه «أيّ واجهة برمجة تطبيقات لنتائج محركات البحث (SERP API)…» — أي أنّ محتوى تجارياً بنيّة شرائية واضحة يتصدّر الصفحة الأولى بالعربية، وهو مترجَم آلياً.

نتيجة سلبية تستحقّ الذكر

الكلمة الثالثة، «سحب بيانات محركات البحث»، لم تُرجع شيئاً له علاقة بالموضوع. النتائج كانت عن محرّكات البحث الأكاديمية، وويكيبيديا، وأدلّة «أفضل محركات البحث». العبارة لا تحمل نيّة الاستخراج التقني في العربية، ببساطة.

هذه ليست تفصيلة عابرة. اختيار الكلمة المفتاحية العربية ليس ترجمة للكلمة الإنجليزية. الترجمة الحرفية لـ «search engine data scraping» تعطي عبارة سليمة نحوياً لا يستعملها أحد. البحث عن الكلمات الصحيحة يبدأ من قياس ما تُرجعه فعلاً، لا من القاموس.

ما لا تُظهره هذه البيانات

كنتُ أتوقّع أن أقيس شيئاً آخر: أنّ الكلمة المفتاحية العربية الواحدة تُرتَّب بشكل مختلف جوهرياً بين الدول العربية. البيانات هنا لا تدعم ذلك. الفارق بين أفضل وأسوأ ترتيب كان صفراً للكلمة الأولى وواحداً للثانية. لا تشتّت يُذكر.

والتفسير المعقول أنّ الكلمات التي اخترتُها كلّها استعلامات عن أدوات عالمية، وهي الفئة التي لا يُتوقّع فيها تنافس محلّي أصلاً. التشتّت — إن كان موجوداً — سيظهر في الاستعلامات التي يتنافس عليها لاعبون محلّيون: «استضافة مواقع»، «تصميم مواقع»، «أفضل شركة…». وقد اختبرتُ هذه الفرضية في المقال التالي، فتبيّن أنّها صحيحة — لكن بشرط لم أكن أتوقّعه.

وحدود أخرى ينبغي ذكرها بصراحة: القياس شمل خمس كلمات فقط، وثلاث أسواق، في لحظة زمنية واحدة. نتائج البحث تتغيّر وتتأثّر بعوامل كثيرة. ولا أملك بيانات حجم البحث، فغياب نطاق عن الصفحة الأولى لا يثبت وجود طلب تجاري عليها. ما أستطيع قوله بثقة هو ما رأيته: الاستعلامات تُرجع صفحات نتائج متماسكة، ومَن يملأ تلك الصفحات ترجمة آلية.

لماذا يهمّ هذا

إن كنت تكتب محتوى تقنياً بالعربية، فالخلاصة العملية أنّ المنافسة على الصفحة الأولى في المواضيع التقنية المتخصّصة أضعف بكثير ممّا تظنّ. أنت لا تنافس مواقع عربية راسخة؛ أنت تنافس ترجمة آلية لصفحة إنجليزية. مقال عربي أصلي واحد مكتوب بعناية يكفي في أحيان كثيرة.

وإن كنت تبني منتجاً موجّهاً للسوق العربية، فالخلاصة أنّ حضورك بالمصطلح الإنجليزي — مهما كان قوياً — لا يقول شيئاً عن حضورك بالعربية. وهما سوقان، لا سوق واحدة.

سأعيد هذا القياس دورياً. الكود مفتوح، والبيانات الخام محفوظة مع الأداة، فبإمكانك إعادة إنتاجه بنفسك والحكم عليه.

النشرة البريدية

مقال تقني جديد بالعربية كل أسبوع، حول واجهات برمجة التطبيقات واستخراج بيانات البحث. بدون رسائل مزعجة، وبإمكانك إلغاء الاشتراك في أي وقت.