اعمل Short Links داخلي بـ Cloudflare Workers وKV
هتكسب أداة روابط قصيرة تحت سيطرتك، تعدل وجهة الحملة من مكان واحد، وتقلل شغل التعديل اليدوي من 12 دقيقة تقريبًا إلى دقيقتين.
مستوى القارئ: متوسط
المشكلة باختصار
لو عندك حملة إعلانية أو newsletter وفيها رابط طويل، المشكلة مش في طول الرابط بس. المشكلة إن الرابط بيتنسخ في البريد، السوشيال، QR، وصف الفيديو، ورسائل العملاء. أول ما الصفحة تتغير، بتبدأ رحلة تعديل مرهقة.
الطريقة الشائعة إنك تخزن الروابط في Spreadsheet وتطلب من الفريق ينسخ آخر نسخة. الطريقة دي بتفشل لما شخص يستخدم نسخة قديمة، أو لما تحتاج تغيّر الوجهة بسرعة أثناء حملة شغالة. البديل العملي: short link داخلي مثل go.example.com/ramadan-offer يقرأ الوجهة من KV ثم يعمل redirect.
الفكرة بمثال قبل الشرح
ركز في السيناريو ده. عندك متجر صغير بيستقبل 50K زيارة في اليوم. فريق التسويق نشر الرابط /spring في 6 قنوات. بعد ساعتين، صفحة الهبوط الجديدة بقت أسرع وفيها tracking أحسن. بدل ما تعدل كل قناة، تغيّر قيمة واحدة في KV:
npx wrangler kv key put spring "https://example.com/new-landing?utm_campaign=spring" --binding LINKSمن اللحظة دي، أي زائر يفتح go.example.com/spring يروح للوجهة الجديدة. المفهوم العلمي هنا بسيط: الـ Worker يستقبل الطلب، يستخرج الـ slug من المسار، يسأل Workers KV عن القيمة، ثم يرجع 302 Redirect. Cloudflare KV مناسب لهذا لأنه key-value store موزع عالميًا ومربوط بالـ Worker من خلال binding رسمي.
الخطوات التنفيذية
- ابدأ مشروع Worker جديد:
npm create cloudflare@latest short-links. - ادخل للمجلد وثبت Wrangler لو مش موجود:
npm i -D wrangler. - اعمل KV namespace باسم واضح:
npx wrangler kv namespace create LINKS. - انسخ الـ id الناتج داخل
wrangler.jsoncأوwrangler.tomlتحتkv_namespaces. - اكتب كود Worker يقرأ الـ slug ويرجع redirect.
- اختبر محليًا بـ
npx wrangler dev. - انشر بـ
npx wrangler deploy، وبعدها اربطه بدومين مثلgo.example.com.