النطاقات المخصصة·5 min read·

كيف أُعدّ التخزين المؤقت في Cloudflare لمدونة Next.js دون تعطيل المسارات الديناميكية؟

تجاوز /api/* أولًا، ثم فعِّل 'Cache Everything' على المسار الجذر — الترتيب مهم. تحقق من خلال cf-cache-status: يجب أن يظهر BYPASS على استدعاءات API في أدوات المطور.

لإعداد التخزين المؤقت في Cloudflare لمدونة VeloCMS القائمة على Next.js دون تعطيل المسارات الديناميكية، عليك إنشاء قواعد صفحة مخصصة تتجاوز صراحةً التخزين المؤقت لنقاط API، بينما تُخزّن أصولك الثابتة بقوة في ذاكرة الحافة. هذا يكفل تحميل منشوراتك العامة بسرعة فائقة من شبكة الحافة دون تجميد الميزات الديناميكية وفي الوقت الفعلي التي تُشغّل المنصة.

لماذا يُعطّل التخزين المؤقت الشامل المسارات الديناميكية في Next.js؟

ربما لاحظت أن رفع مؤشر التخزين المؤقت في Cloudflare إلى أقصاه يبدو رائعًا من الناحية النظرية. أوقات تحميل أسرع تعني قراء أسعد وترتيبات بحث أفضل، أليس كذلك؟ الإشكال أن الأطر الحديثة كـ Next.js تعتمد اعتمادًا كبيرًا على طلبات محددة من جانب الخادم للتعامل مع أي شيء ديناميكي — كوظيفة البحث المباشر، ولوحات تحكم المشرف المحمية، ومسودات المحتوى التي يولّدها الذكاء الاصطناعي داخل VeloCMS. عندما يُخزّن Cloudflare النطاق بأكمله بلا تمييز، فإنه يحبس هذه الصفحات التفاعلية في الزمن. قد تنشر منشورًا جديدًا وتجد الصفحة الأمامية تعرض أخبار الأمس بعناد. لأن VeloCMS يستند إلى PocketBase لتقديم تلك السحرة قاعدة البيانات السريعة والآمنة، فإن نهج "تخزين كل شيء" الكسول تخنق بالضبط الميزات التي تجعل هذا الإعداد متفوقًا وأوفر تكلفةً بمراحل من تثبيت WordPress المتضخم. تتوقف شبكة توصيل المحتوى ببساطة عن طلب بيانات جديدة من خادمك.

ما قواعد Cloudflare Page Rules التي يجب إنشاؤها بالضبط؟

هنا نشمّر عن السواعد ونعالج عنق الزجاجة في التوجيه. سجّل الدخول إلى لوحة تحكم Cloudflare، انتقل إلى قسم Rules، ثم ادخل مباشرةً إلى Page Rules. أولى مهامك هي بناء درع حماية حول خادمك الخلفي. أنشئ قاعدة جديدة تستهدف *yourdomain.com/api/* وعيّن مستوى التخزين المؤقت على 'Bypass'. هذه التعديل الدقيق والقابل للتنفيذ هو منقذ حقيقي، لأنه يأمر Cloudflare بالتنحي والسماح لـ PocketBase وخادم Next.js بالتواصل بحرية. وبعد حفظ قاعدة تجاوز API بأمان، أضف قاعدة ثانية لـ *yourdomain.com/* مع رفع مستوى التخزين المؤقت إلى 'Cache Everything' وتعيين Edge Cache TTL لساعتين أو نحو ذلك. الأمر البالغ الأهمية: تأكد من وضع قاعدة التجاوز فوق القاعدة الشاملة في قائمة لوحة التحكم — فـ Cloudflare يقرأ هذه القواعد دائمًا من الأعلى إلى الأسفل. بهذا الترتيب تُقدَّم صفحات مدونتك الرئيسية فورًا من خوادم الحافة المحلية، بينما يجلب النظام بيانات جديدة مباشرةً من PocketBase في اللحظة التي تسجّل فيها الدخول لتعديل أي شيء.

كيف أتحقق من أن المحتوى الديناميكي يتجاوز التخزين المؤقت فعلًا؟

لا أحد يريد أن يعتمد على حسن الظن للتأكد من عمل الموقع بشكل صحيح. بعد حفظ قواعد التوجيه، افتح نافذة تصفح خاص وافتح أدوات المطور في المتصفح. اذهب إلى تبويب Network، حمِّل أحد مسارات المشرف الديناميكية، وانقر على طلب المستند الرئيسي في أعلى الشلال. تبحث عن ترويسة استجابة محددة تُسمى cf-cache-status. إن رأيت هذه الترويسة تقرأ BYPASS أو DYNAMIC على استدعاءات API الخاصة بك، فقد نجحت في الإعداد تمامًا. وإن ظهرت HIT، فثمة تشابك في ترتيب قواعد Page Rules تحتاج إلى مراجعته. أجري عادةً اختبارًا عمليًا بتعديل نص بسيط في سجل PocketBase ثم تحديث الصفحة المباشرة؛ إن ظهر التعديل فورًا، فمساراتك الديناميكية تعمل بارتياح.

ضبط هذه الإعدادات يستلزم بعض التجربة والخطأ، لكن تحقيق التوازن الصحيح يستحق هذا الجهد المؤقت. ستحظى بكل مزايا السرعة المذهلة لشبكة توصيل المحتوى العالمية دون التضحية بالبنية المدعومة بالذكاء الاصطناعي التي تجعل VeloCMS يتفوق على المنصات التقليدية القديمة. جرِّب مؤقتات انتهاء الصلاحية حين تشعر بالثقة، تابع ترويسات الشبكة، واستمتع بمدونتك الجديدة فائقة السرعة.