إذا كنت تدير آلاف الصفحات (كما هو الحال في مشروع تحسين محركات البحث البرمجي) أو تحلل مجموعات بيانات ضخمة، فإن Excel سيتعطل في النهاية. بايثون هي المعيار الصناعي للتغلب على هذه الحدود. إنها تسمح لك بأتمتة المهام المتكررة، والاتصال بـ APIs، وتحليل ملايين الصفوف من البيانات في ثوانٍ.
لا تحتاج إلى أن تكون مهندس برمجيات لاستخدام بايثون في تحسين محركات البحث. تحتاج فقط إلى معرفة القليل من المكتبات المحددة لاستبدال ساعات من العمل اليدوي بنص برمجي واحد.
1. حزمة بايثون للسيو
بينما تمتلك بايثون آلاف المكتبات، يستخدم محترفو تحسين محركات البحث في المقام الأول هذه المكتبات الأربع:
- Pandas: "قاتل Excel". يسمح لك بالتلاعب بجداول البيانات (DataFrames) التي تحتوي على ملايين الصفوف فورًا.
- Requests: يسمح للبرنامج النصي بزيارة صفحات الويب، تمامًا مثل المتصفح، للتحقق من رموز الحالة أو تنزيل HTML.
- BeautifulSoup: محلل يقرأ كود HTML ويسمح لك باستخراج عناصر محددة (مثل علامات H1، أو الأوصاف التعريفية، أو الأسعار).
- Advertools: مكتبة متخصصة في تحسين محركات البحث تم إنشاؤها لتحليل SERPs، وازحف المواقع، وإدارة بيانات GSC.
2. حالة استخدام عملية: "فاحص الحالة الجماعي"
تخيل أن لديك قائمة بـ 10,000 عنوان URL وتحتاج إلى معرفة أي منها معطل (404). التحقق منها يدويًا أمر مستحيل.
إليك نص برمجي بسيط يستخدم مكتبة requests لأتمتة ذلك:
import requests
import pandas as pd
# 1. قائمة عناوين URL للتحقق
urls = [
"https://example.com",
"https://example.com/broken-page",
"https://example.com/about"
]
results = []
# 2. التكرار عبر كل عنوان URL
for url in urls:
try:
response = requests.get(url, timeout=5)
# تخزين البيانات
results.append({
"URL": url,
"Status Code": response.status_code,
"Redirect": response.url if response.history else "No Redirect"
})
except:
results.append({"URL": url, "Status Code": "Error", "Redirect": "-"})
# 3. حفظ في جدول قابل للقراءة (DataFrame)
df = pd.DataFrame(results)
print(df)
# مثال للمخرجات:
# URL Status Code Redirect
# 0 https://example.com 200 No Redirect
# 1 https://example.com/broken 404 No Redirect3. حالة استخدام عملية: استخراج البيانات الوصفية (Scraping)
إذا كنت بحاجة إلى تحليل عناوين الصفحات لأفضل 100 صفحة لمنافسيك للعثور على أنماط، يمكنك استخدام BeautifulSoup.
from bs4 import BeautifulSoup
import requests
url = "https://example.com/blog-post"
response = requests.get(url)
# تحليل محتوى HTML
soup = BeautifulSoup(response.content, 'html.parser')
# استخراج عناصر محددة
title = soup.title.string
h1 = soup.find('h1').text
meta_desc = soup.find('meta', attrs={'name': 'description'})['content']
print(f"Title: {title}")
print(f"H1: {h1}")
print(f"Description: {meta_desc}")4. حالة استخدام عملية: العمل مع واجهات برمجة التطبيقات (GSC)
بدلاً من النقر فوق "تصدير" في Google Search Console (GSC) كل يوم، يمكنك استخدام بايثون لسحب البيانات تلقائيًا. هذا ضروري لنسخ بياناتك احتياطيًا، حيث يخزن GSC 16 شهرًا فقط من السجل.
سير العمل:
- تفعيل Google Search Console API في Google Cloud Platform.
- تنزيل ملف
credentials.jsonالخاص بك. - استخدم مكتبة غلاف مثل
git+https://github.com/joshcarty/google-searchconsoleلتبسيط المصادقة.
import searchconsole
# المصادقة
account = searchconsole.authenticate(client_config='credentials.json')
webproperty = account['https://www.example.com/']
# طلب البيانات
report = webproperty.query.range('today', days=-30).dimension('query').get()
# طباعة أفضل 5 استعلامات
for row in report[:5]:
print(row.query, row.clicks, row.impressions)5. تحليل البيانات باستخدام Pandas
في pSEO، غالبًا ما تحتاج إلى دمج مجموعات البيانات (مثل دمج قائمة "المدن" مع قائمة "بيانات السكان"). في Excel، هذا يتطلب VLOOKUP بطيء. في بايثون، يكون الأمر فوريًا.
import pandas as pd
# تحميل ملفي CSV
df_cities = pd.read_csv("cities.csv") # الأعمدة: [City, State]
df_stats = pd.read_csv("population.csv") # الأعمدة: [City, Population]
# دمجهم (VLOOKUP)
df_merged = pd.merge(df_cities, df_stats, on="City", how="left")
# تصفية: عرض المدن التي يزيد عدد سكانها عن 100,000 فقط
df_big_cities = df_merged[df_merged['Population'] > 100000]
# التصدير إلى CSV جديد لأداة pSEO الخاصة بك
df_big_cities.to_csv("pseo_ready_data.csv", index=False)الخاتمة
تحولك بايثون من متخصص في تحسين محركات البحث إلى مهندس تحسين محركات البحث. إنها تسمح لك بالتعامل مع مجموعات البيانات التي قد تؤدي إلى تعطل Excel وأتمتة الفحوصات اليومية التي قد تستغرق ساعات. نظرًا لأنك مهتم بتحسين محركات البحث البرمجي، فإن إتقان pandas لتنظيف البيانات هو المهارة الوحيدة ذات النفوذ الأكبر التي يمكنك تعلمها.