بناء خط أنابيب تلقائي لتحسين محركات البحث باستخدام واجهة برمجة تطبيقات Google Search Console
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。
بناء خط أنابيب تلقائي لتحسين محركات البحث باستخدام واجهة برمجة تطبيقات Google Search Console
واجهة برمجة تطبيقات GSC هي واحدة من أكثر مصادر بيانات تحسين محركات البحث قيمة التي توفرها Google مجانًا. بدلاً من التحقق اليدوي يوميًا، إليك كيفية بناء خط أنابيب لجمع البيانات وتحليلها تلقائيًا.
التحضيرات المسبقة
- 1مشروع Google Cloud Console
- 2إنشاء حساب خدمة + تنزيل مفتاح JSON
- 3تفعيل واجهة برمجة تطبيقات Google Search Console
- 4إضافة بريد إلكتروني لحساب الخدمة كمستخدم خاص في GSC
الخطوة 1: مصادقة حساب الخدمة
import { SignJWT } from "jose"
async function getAccessToken(saJson: string) {
const key = JSON.parse(saJson)
const now = Math.floor(Date.now() / 1000)
const jwt = await new SignJWT({
scope: "https://www.googleapis.com/auth/webmasters.readonly",
})
.setProtectedHeader({ alg: "RS256", typ: "JWT" })
.setIssuer(key.client_email)
.setAudience("https://oauth2.googleapis.com/token")
.setIssuedAt(now)
.setExpirationTime(now + 3600)
.sign(await importPrivateKey(key.private_key))
const res = await fetch("https://oauth2.googleapis.com/token", {
method: "POST",
body: new URLSearchParams({
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
assertion: jwt,
}),
})
const { access_token } = await res.json()
return access_token
}الخطوة 2: استعلام بيانات الأداء
async function queryGSC(token: string, siteUrl: string) {
const url = `https://searchconsole.googleapis.com/webmasters/v3/sites/${encodeURIComponent(siteUrl)}/searchAnalytics/query`
const body = {
startDate: "2026-03-25",
endDate: "2026-04-21",
dimensions: ["query", "page"],
rowLimit: 1000,
}
const res = await fetch(url, {
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: JSON.stringify(body),
})
return res.json()
}الخطوة 3: خط أنابيب تلقائي (CF Workers + D1)
// يتم التنفيذ يوميًا في الساعة 3 صباحًا
export default {
async scheduled(event: ScheduledEvent, env: Env) {
const token = await getAccessToken(env.GSC_SA_JSON)
const data = await queryGSC(token, env.GSC_SITE_URL)
// حفظ في D1
for (const row of data.rows) {
await env.DB.prepare(
"INSERT INTO gsc_daily (date, query, page, clicks, impressions, ctr, position) VALUES (?, ?, ?, ?, ?, ?, ?)"
).bind(new Date().toISOString().slice(0, 10), row.keys[0], row.keys[1], row.clicks, row.impressions, row.ctr, row.position).run()
}
},
}wrangler.toml:
[triggers]
crons = ["0 18 * * *"] # يوميًا في الساعة 03:00 بتوقيت KSTالخطوة 4: أتمتة الإشعارات
// الكشف عن الكلمات الرئيسية المتساقطة
const sql = `
SELECT query, SUM(clicks) as recent_clicks,
(SELECT SUM(clicks) FROM gsc_daily WHERE query=g.query AND date BETWEEN DATE(?, '-14 days') AND DATE(?, '-8 days')) as prev_clicks
FROM gsc_daily g
WHERE date >= DATE(?, '-7 days')
GROUP BY query
HAVING prev_clicks > 10 AND recent_clicks < prev_clicks * 0.5
`
const dropped = await env.DB.prepare(sql).bind(today, today, today).all()
if (dropped.results.length > 0) {
await fetch(telegramUrl, {
method: "POST",
body: JSON.stringify({
chat_id: env.CHAT_ID,
text: `تم الكشف عن ${dropped.results.length} كلمة رئيسية متساقطة`,
}),
})
}سيناريوهات الاستخدام
- 1جمع الأداء اليومي تلقائيًا: يمكن تحليل الاتجاهات عند تخزينها في D1
- 2الكشف المبكر عن مشكلات الفهرسة: إشعارات عند انخفاض الانطباعات
- 3اكتشاف الكلمات الرئيسية الفرص: استخراج تلقائي للكلمات في المراكز 11-20 (الصفحتين الثانية) → أولوية إعادة الكتابة
- 4تصنيف أداء الصفحات: تقرير تلقائي عن الصفحات الأعلى بناءً على النقرات
الحصة المجانية
- 50,000 استعلام يوميًا (لكل مشروع)
- الاستخدام الفعلي شبه غير محدود
💡 رؤى عملية
تتوقف المدونات الأخرى عند القول إن "دمج واجهة برمجة تطبيقات GSC مفيد"، لكن من منظور إدارة المواقع الكورية، فإن الأمر الحاسم حقًا هو تحفيز الإجراءات التلقائية بدلاً من جمع البيانات. بناءً على تجربتي الشخصية لمدة 6 أشهر، كان أكبر عائد على الاستثمار من واجهة برمجة تطبيقات GSC يأتي من النقطة 3 (الاستخراج التلقائي للكلمات الرئيسية الفرص) وليس من النقاط 1 و2 (جمع البيانات والكشف). وفقًا لوثائق Google الرسمية، فإن الكلمات الرئيسية في المراكز 11-20 لديها معدل نقرات متوسط أقل من 1.5%، ولكن إذا تم تعزيز الميتا وH1 والروابط الداخلية، فإنها ترتفع إلى المراكز 5-10 مع معدل نقرات يتراوح بين 7-12% — مما يعني أنه يمكننا استغلال نفس حركة المرور بأكثر من 5 مرات. نظرًا لأن حركة مرور المواقع الكورية تمثل حوالي 60% من Naver (وفقًا لاستطلاع استخدام الإنترنت لعام 2024)، فإن إرسال RSS وخرائط المواقع إلى Naver Search Advisor بشكل منفصل عبر نفس خط الأنابيب سيكون أكثر كفاءة. نصيحة عملية أخرى — حقل position هو متوسط، لذا فإن الضوضاء كبيرة، لذا يجب الحكم على الاتجاهات بناءً على بيانات متراكمة لمدة 14 يومًا على الأقل، حيث أنه عند النظر إلى بيانات أسبوعية، لا يمكن التمييز بين "الانخفاض الحاد" و"التقلبات الأسبوعية".
الخاتمة
بمجرد دمج واجهة برمجة تطبيقات GSC، يمكنك "الكشف عن جميع المشكلات دون فتح لوحة معلومات GSC". مع خطة مجانية لـ CF Workers، يمكنك تشغيل الكرون + D1 + الإشعارات بتكلفة تشغيل صفر. إذا كنت تأخذ تحسين محركات البحث بجدية، فإن استثمار أسبوع واحد سيكون بالتأكيد مجديًا.
🔧 Related Free Tools
ذو صلة
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
IT6 طرق لتحقيق دخل جانبي باستخدام ChatGPT — دليل عملي ومجرّب لتحقيق الربح في 2026USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
IT2026 ChatGPT مقابل Claude مقابل Gemini — مقارنة أداء وسعر وطرق استخدام روبوتات الدردشة بالذكاء الاصطناعيUSD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
ITتحسين سرعة المواقع الإلكترونية 2026 — كيفية تحقيق درجة 90+ في Core Web VitalsUSD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...