CDN: كيف يسرّع موقعك وكيف تضبطه

CDN يوزّع محتواك على سيرفرات حول العالم. الزائر يحمّل من أقرب نقطة. نشرح الإعداد مع Cloudflare — مجاناً.
ما هو CDN ولماذا تحتاجه؟
CDN (Content Delivery Network) هو شبكة من السيرفرات الموزعة جغرافياً تخزن نسخاً من محتوى موقعك وتوصله للمستخدمين من أقرب نقطة إليهم. بدلاً من أن يسافر كل طلب إلى سيرفرك الأصلي في الرياض، يحصل المستخدم في جدة أو القاهرة أو لندن على المحتوى من أقرب سيرفر CDN إليه.
فوائد CDN الرقمية
1. سرعة أعلى
- تقليل المسافة الفيزيائية بين المستخدم والمحتوى
- المستخدم في لندن يحصل على صورك من سيرفر في أوروبا لا من الرياض
- تحسين Core Web Vitals (LCP بشكل خاص)
2. تخفيض الضغط على سيرفرك الأصلي
- CDN يستوعب 70-90% من الطلبات
- سيرفرك الأصلي يتعامل فقط مع طلبات البيانات الديناميكية
- توفير في bandwidth تصل إلى 80%
3. حماية من DDoS
- CDN يمتص هجمات DDoS بدل سيرفرك الأصلي
- توزيع الهجوم على شبكة CDN بدل تركيزه
4. Uptime أعلى
- إذا واجه سيرفرك مشكلة، CDN يستمر في توصيل المحتوى الثابت
- Failover تلقائي
CDN المناسب للسعودية
Cloudflare (الأقوى والأوفر)
# لا تثبيت على السيرفر - كل شيء يتم من DNS
# 1. اذهب إلى dash.cloudflare.com
# 2. أضف موقعك
# 3. غيّر Name Servers لتشير لـ Cloudflare
# 4. انتهى
خطة Free: كافية لأغلب المواقع
- CDN عالمي
- SSL مجاني
- حماية DDoS أساسية
- Analytics
خطة Pro (20$/شهر): للمواقع الجادة
- Image optimization
- Mobile optimization
- WAF متقدم
Bunny CDN (أرخص للاستخدام المكثف)
# سعر: 0.01$/GB للبيانات (بعد 500GB مجانية)
# إعداد بسيط جداً
سحابة أمريكية CloudFront (للـ enterprise)
# أغلى لكن أكثر مرونة
# مناسب إذا كنت تستخدم سحابة أمريكية أصلاً
إعداد Cloudflare خطوة بخطوة
الخطوة 1: تسجيل الموقع
# لا يوجد كود - كل شيء عبر واجهة Cloudflare
# dash.cloudflare.com → Add Site → أدخل دومينك
الخطوة 2: إعداد Cache Rules
# Page Rules في Cloudflare
# المسار الإجراء
/static/* Cache Everything, Edge Cache TTL: 1 month
/images/* Cache Everything, Edge Cache TTL: 1 week
*.css Cache Everything, Edge Cache TTL: 1 week
*.js Cache Everything, Edge Cache TTL: 1 week
/api/* Bypass Cache
/portal/* Bypass Cache
الخطوة 3: إعداد Cache Headers على nginx
# /etc/nginx/conf.d/cache.conf
location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf)$ {
expires 1y;
add_header Cache-Control "public, immutable";
add_header Vary "Accept-Encoding";
}
location ~* \.(html|xml|txt)$ {
expires 1h;
add_header Cache-Control "public, must-revalidate";
}
الخطوة 4: تفعيل Compression
# في nginx.conf
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_types
text/plain
text/css
text/javascript
application/javascript
application/json
image/svg+xml;
CDN مع Laravel
// config/filesystems.php
// توجيه assets إلى CDN URL
'url' => env('CDN_URL', env('APP_URL')),
# .env
CDN_URL=https://cdn.yoursite.com
// في Blade templates
// بدل asset('/css/app.css')
// سيُنتج: https://cdn.yoursite.com/css/app.css
asset('/css/app.css')
// Vite config لـ production CDN
// vite.config.js
export default defineConfig({
build: {
rollupOptions: {
output: {
// hash في اسم الملف لـ cache busting
entryFileNames: 'js/[name]-[hash].js',
chunkFileNames: 'js/[chunk]-[hash].js',
assetFileNames: 'assets/[name]-[hash].[ext]',
}
}
}
});
قياس تأثير CDN
# قبل CDN - قياس الـ latency من موقع بعيد
curl -w "@curl-format.txt" -o /dev/null -s https://yoursite.com/image.jpg
# أنشئ ملف curl-format.txt
cat > curl-format.txt << 'EOF'
time_namelookup: %{time_namelookup}s\n
time_connect: %{time_connect}s\n
time_appconnect: %{time_appconnect}s\n
time_pretransfer: %{time_pretransfer}s\n
time_redirect: %{time_redirect}s\n
time_starttransfer: %{time_starttransfer}s\n
----------\n
time_total: %{time_total}s\n
EOF
نتائج متوقعة
| المقياس | بدون CDN | مع Cloudflare Free |
|---|---|---|
| LCP (Largest Contentful Paint) | 3-5s | 1-2s |
| Bandwidth المستهلك | 100% | 20-30% |
| TTFB للمحتوى الثابت | 200-500ms | 20-80ms |
| تحسن في Google PageSpeed | - | +15-30 نقطة |
ملاحظات مهمة
محتوى لا تضعه في CDN:
- صفحات الدفع والـ checkout
- بوابة المستخدم (
/portal/*) - API endpoints
- أي صفحة تحتوي بيانات مخصصة للمستخدم
محتوى مناسب للـ CDN:
- صور المنتجات
- CSS وJS مبنية
- Fonts
- ملفات PDF وDocuments عامة
- صفحات landing ثابتة
الربط مع سيرفرات كلاود
كلاود (cloud.net.sa) توفر سيرفرات في الرياض وجدة بـ latency زمن استجابة منخفض جداً داخل السعودية. عند استخدام CDN مع سيرفرات كلاود، تحصل على أفضل التجارب: سرعة داخل السعودية من السيرفرات المحلية، وسرعة خارجها من شبكة CDN.
خلاصة
CDN ليس ترفاً — هو استثمار في تجربة المستخدم. Cloudflare Free يكفي للبداية ولا يكلف شيئاً. الإعداد يأخذ ساعة وتأثيره فوري ومستمر.
ابدأ الآن
تبي تجرب بنفسك؟ اختر باقة الاستضافة المناسبة أو صمم سيرفرك الخاص بالمواصفات اللي تبيها.
