ماذا سنبني اليوم؟
سنقوم ببناء أداة برمجية بسيطة باستخدام بايثون لتصنيف الكلمات المفتاحية (Keywords) تلقائياً إلى فئات نية البحث الرئيسية (مثل معلوماتية، تجارية، شرائية، تنقلية) بناءً على الكلمات الدلالية والعبارات الشائعة. هذا سيساعد متخصصي SEO في فهم أفضل لاحتياجات المستخدمين وتوجيه استراتيجيات المحتوى الخاصة بهم.
لماذا تصنيف نية البحث مهم؟
فهم نية البحث هو حجر الزاوية في استراتيجية SEO الناجحة. عندما تفهم ما يبحث عنه المستخدم حقاً، يمكنك إنشاء محتوى يلبي هذه النية بدقة، مما يؤدي إلى ترتيب أفضل، ومعدلات نقر أعلى، وتحويلات أفضل.
الفئات الرئيسية لنية البحث هي:
- نية معلوماتية (Informational Intent): المستخدم يبحث عن معلومات، إجابات لأسئلة، أو كيفية عمل شيء ما. (مثال: "ما هو الـ SEO؟", "كيف أزرع الطماطم؟")
- نية تجارية (Commercial Intent): المستخدم يفكر في الشراء ويبحث عن مقارنات، مراجعات، أو أفضل المنتجات. (مثال: "أفضل هواتف 2023", "مراجعة آيفون 15")
- نية شرائية (Transactional Intent): المستخدم جاهز للشراء ويبحث عن المنتج أو الخدمة المحددة. (مثال: "شراء لاب توب ديل", "خصم على كاميرا كانون")
- نية تنقلية (Navigational Intent): المستخدم يريد الوصول إلى موقع ويب معين أو صفحة معينة. (مثال: "فيسبوك تسجيل الدخول", "موقع أمازون الرسمي")
المكتبات اللازمة
سنحتاج إلى مكتبة re المدمجة في بايثون للتعامل مع التعبيرات النمطية (Regular Expressions) لتحديد الأنماط داخل الكلمات المفتاحية.
كود تصنيف الكلمات المفتاحية
إليك الكود الكامل الذي يقوم بتصنيف الكلمات المفتاحية:
import re
def classify_search_intent(keyword):
"""
تصنيف الكلمة المفتاحية بناءً على نية البحث.
"""
keyword = keyword.lower().strip()
# نية شرائية (Transactional Intent)
transactional_patterns = [
r'\bbuy\b', r'\bpurchase\b', r'\bshop\b', r'\bget\b',
r'\bdiscount\b', r'\bdeal\b', r'\bprice\b', r'\bcoupon\b',
r'\border\b', r'\bsale\b', r'\bfor sale\b'
]
for pattern in transactional_patterns:
if re.search(pattern, keyword):
return "Transactional (شرائية)"
# نية تجارية (Commercial Intent)
commercial_patterns = [
r'\bbest\b', r'\btop\b', r'\breview\b', r'\bvs\b', r'\bcompare\b',
r'\bcomparison\b', r'\balternative\b', r'\bproduct\b', r'\bservice\b',
r'\bcost\b', r'\bpricing\b'
]
for pattern in commercial_patterns:
if re.search(pattern, keyword):
return "Commercial (تجارية)"
# نية معلوماتية (Informational Intent)
informational_patterns = [
r'\bwhat is\b', r'\bhow to\b', r'\bguide\b', r'\btutorial\b',
r'\bexample\b', r'\bdefinition\b', r'\bwhy\b', r'\bhow\b',
r'\bwhat\b', r'\bwho\b', r'\bwhen\b', r'\bwhere\b', r'\blearn\b',
r'\btips\b', r'\bideas\b', r'\brecipe\b'
]
for pattern in informational_patterns:
if re.search(pattern, keyword):
return "Informational (معلوماتية)"
# نية تنقلية (Navigational Intent) - يعتمد على أسماء العلامات التجارية أو المواقع
# هذا الجزء يتطلب قائمة محددة من العلامات التجارية/المواقع، ولغرض هذا المثال
# سنفترض أنه يمكن إضافتها لاحقاً أو تحديدها بشكل يدوي أكثر.
if "login" in keyword or "signin" in keyword or "website" in keyword or "facebook" in keyword or "youtube" in keyword or "amazon" in keyword:
return "Navigational (تنقلية)"
return "Ambiguous / Other (غير محدد)"
# أمثلة للاستخدام
keywords_to_classify = [
"أفضل كاميرا لليوتيوب 2024",
"كيفية زراعة الفراولة",
"شراء ايفون 15 برو",
"مراجعة لابتوب ديل XPS",
"ما هو الـ SEO",
"فيسبوك تسجيل الدخول",
"خصومات الجمعة البيضاء",
"وصفة كعكة الشوكولاتة",
"سعر بلايستيشن 5",
"حل مشكلة بطء الكمبيوتر"
]
print("--- تصنيف الكلمات المفتاحية حسب نية البحث ---")
for kw in keywords_to_classify:
intent = classify_search_intent(kw)
print(f"الكلمة المفتاحية: '{kw}' -> النية: {intent}")
print("\n--- يمكنك دمج هذا الكود مع ملف CSV أو Google Sheet لقائمة أوسع من الكلمات المفتاحية ---")
# مثال لدمج مع ملف CSV (يتطلب مكتبة pandas)
# import pandas as pd
# df = pd.read_csv('keywords.csv')
# df['Search_Intent'] = df['Keyword'].apply(classify_search_intent)
# df.to_csv('classified_keywords.csv', index=False)
شرح الكود
الكود أعلاه يعرف دالة classify_search_intent تأخذ كلمة مفتاحية كمدخل. تعمل هذه الدالة بالخطوات التالية:
- تنظيف الكلمة المفتاحية: تحويلها إلى أحرف صغيرة وإزالة المسافات البيضاء الزائدة لتسهيل المطابقة.
- مطابقة الأنماط: تستخدم الدالة قوائم من التعبيرات النمطية (Regular Expressions) المحددة لكل نية بحث (شرائية، تجارية، معلوماتية، تنقلية).
- الترتيب مهم: يتم التحقق من النوايا بترتيب معين (عادةً من الأكثر تحديداً إلى الأقل) لضمان التصنيف الصحيح. على سبيل المثال، الكلمات ذات النية الشرائية تكون أكثر تحديداً من التجارية، وهكذا.
- التصنيف الافتراضي: إذا لم تتطابق الكلمة المفتاحية مع أي من الأنماط المحددة، يتم تصنيفها على أنها "غير محدد".
ملاحظة تقنية: استخدام
\bفي التعبيرات النمطية يضمن مطابقة الكلمة بالكامل وليس جزءاً منها (مثال:\bbuy\bستطابق "buy" ولكن ليس "buyer").
كيفية الاستخدام
- حفظ الكود: احفظ الكود في ملف بايثون (مثلاً
intent_classifier.py). - التشغيل: افتح الطرفية (Terminal) أو موجه الأوامر (Command Prompt) وانتقل إلى المجلد الذي حفظت فيه الملف، ثم نفذ الأمر:
python intent_classifier.py. - التخصيص: يمكنك تعديل قوائم
_patternsلإضافة المزيد من الكلمات أو العبارات التي تعتقد أنها تدل على نية بحث معينة في مجال عملك. - التكامل: يمكن دمج هذه الدالة بسهولة مع برامج نصية أخرى تقوم بقراءة الكلمات المفتاحية من ملفات CSV أو جداول بيانات Google Sheets (يتطلب ذلك استخدام مكتبات مثل
pandasأوgspread).
التحسينات الممكنة
- معالجة اللغة الطبيعية (NLP) المتقدمة: استخدام مكتبات مثل
spaCyأوNLTKلتحليل سياق الجمل وليس فقط الكلمات المفردة. - التعلم الآلي (Machine Learning): تدريب نموذج تعلم آلي (مثل مصنف نصي) على مجموعة بيانات كبيرة من الكلمات المفتاحية المصنفة يدوياً للحصول على دقة أعلى.
- قائمة كلمات مفتاحية سلبية: إضافة قائمة بكلمات لا ينبغي أن تؤدي إلى تصنيف معين (مثال: "free" قد تكون معلوماتية أو تجارية حسب السياق).
- دعم لغات متعددة: توسيع القوائم لتشمل كلمات دلالية بلغات أخرى.
- تكامل API: بناء واجهة برمجة تطبيقات (API) لتصنيف الكلمات المفتاحية على نطاق واسع.
النتيجة النهائية المتوقعة
بعد تشغيل الكود، ستظهر لك في نافذة الطرفية قائمة بالكلمات المفتاحية التي قمت بتحديدها، وكل كلمة مصنفة إلى نية البحث الخاصة بها (مثل معلوماتية، تجارية، شرائية، تنقلية، أو غير محددة). هذا الإخراج سيوفر لك فهماً سريعاً وواضحاً لكيفية توجيه استراتيجية المحتوى الخاصة بك لكل مجموعة من الكلمات المفتاحية.
--- تصنيف الكلمات المفتاحية حسب نية البحث --- الكلمة المفتاحية: 'أفضل كاميرا لليوتيوب 2024' -> النية: Commercial (تجارية) الكلمة المفتاحية: 'كيفية زراعة الفراولة' -> النية: Informational (معلوماتية) الكلمة المفتاحية: 'شراء ايفون 15 برو' -> النية: Transactional (شرائية) الكلمة المفتاحية: 'مراجعة لابتوب ديل XPS' -> النية: Commercial (تجارية) الكلمة المفتاحية: 'ما هو الـ SEO' -> النية: Informational (معلوماتية) الكلمة المفتاحية: 'فيسبوك تسجيل الدخول' -> النية: Navigational (تنقلية) الكلمة المفتاحية: 'خصومات الجمعة البيضاء' -> النية: Transactional (شرائية) الكلمة المفتاحية: 'وصفة كعكة الشوكولاتة' -> النية: Informational (معلوماتية) الكلمة المفتاحية: 'سعر بلايستيشن 5' -> النية: Transactional (شرائية) الكلمة المفتاحية: 'حل مشكلة بطء الكمبيوتر' -> النية: Informational (معلوماتية) --- يمكنك دمج هذا الكود مع ملف CSV أو Google Sheet لقائمة أوسع من الكلمات المفتاحية ---