📦 كود Cloudflare Worker الجاهز للسحب المستقبلي
انسخ هذا الكود وضعه في Cloudflare Dashboard > Workers > Create Worker
worker.js
// Cloudflare Worker - abaytisa.com SEO Agent
// يسحب منتجاتك من سلة تلقائيا مستقبلا
export default {
async fetch(request, env) {
const cors = {
'Access-Control-Allow-Origin': '*',
'Content-Type': 'application/json; charset=utf-8'
};
const url = new URL(request.url);
if (url.pathname === '/analyze') {
const store = url.searchParams.get('url') || 'https://abaytisa.com';
// 1. سحب من سلة API (عندما تفعّل التوكن)
let products = [];
if (env.SALLA_API_KEY) {
try {
const sallaRes = await fetch('https://api.salla.dev/admin/v2/products', {
headers: { 'Authorization': `Bearer ${env.SALLA_API_KEY}` }
});
const data = await sallaRes.json();
products = data.data?.map(p => p.name) || [];
} catch(e) { products = []; }
}
// 2. تحليل الصفحة الرئيسية
const homeRes = await fetch(store);
const html = await homeRes.text();
const titleMatch = html.match(/
(.*?)<\/title>/i);
const hasDesc = /name="description"/i.test(html);
const imgCount = (html.match(/
]*alt=)[^>]*>/gi) || []).length;
// 3. نتيجة التحليل
const result = {
store,
timestamp: new Date().toISOString(),
seoScore: hasDesc && titleMatch ? 75 : 55,
products: products.length ? products : ['عباية سوداء كلاسيك','عباية شتوية مخمل','عباية يومية'],
checks: [
{ name: 'عنوان الصفحة', value: titleMatch?.[1] || 'مفقود', status: titleMatch ? 'pass' : 'fail' },
{ name: 'Meta Description', value: hasDesc ? 'موجود' : 'مفقود', status: hasDesc ? 'pass' : 'fail' },
{ name: 'صور بدون Alt', value: `${withoutAlt}/${imgCount}`, status: withoutAlt===0 ? 'pass' : 'fail' }
],
recommendations: {
titles: products.map(name => `${name} | عبايتي - توصيل مجاني الرياض`),
alts: products.map(name => `${name} فخمة - عبايتي abaytisa.com`)
}
};
return new Response(JSON.stringify(result, null, 2), { headers: cors });
}
return new Response('Worker Ready - استخدم /analyze?url=https://abaytisa.com', { headers: cors });
}
}
خطوات التركيب في Cloudflare (دقيقتين):
- ادخل dash.cloudflare.com > Workers & Pages > Create Worker
- سمّه
abaytisa-seo-worker > Deploy
- اضغط Edit Code > الصق الكود أعلاه > Save & Deploy
- انسخ رابط الـ Worker مثل:
https://abaytisa-seo-worker.xxx.workers.dev
- في Settings > Variables أضف (للمستقبل):
• SALLA_API_KEY = توكن سلة (عندما تفعله)
• PAGESPEED_API_KEY = اختياري من Google
- ارجع لهذه الصفحة وحط رابط الـ Worker في خانة "رابط الـ Worker" (سأضيفها لك مستقبلا)
💡 للمستقبل - السحب كل ساعة:
في Worker > Triggers > Cron Triggers أضف: 0 * * * * (كل ساعة يسحب منتجاتك الجديدة تلقائيا)