تقدم كل من CloudFlare و GitHub استضافة ويب فائقة السرعة مجانًا، ولكن أيهما الفائز الحقيقي؟ في هذا المقال، أقارن بين خيارات الاستضافة هذه التي لا تحظى بالتقدير الكافي من CloudFlare Pages و GitHub Pages لتحديد الخيار المناسب لك.
بعض القيود الأولية
بدايةً، يجب أن أوضح بعض القيود. GitHub مخصص فقط لاستضافة الملفات الثابتة، مما يعني أن دوال “serverless” غير مدعومة أصلاً. أما CloudFlare Pages فهي منصة JAMstack، لذا يمكنك تشغيل دوال “serverless” باستخدام CloudFlare workers. على الرغم من إمكانية تشغيل دوال JavaScript محددة باستخدام CloudFlare workers، إلا أن هذه المنصات مخصصة بشكل أساسي لاستضافة المواقع الثابتة.
إعداد التجربة
لقد قمت بتنزيل قالب HTML من HTML5 UP! لنشره على كلا الحلين. إنه ليس موقعًا محسنًا تمامًا، لكنني أردت مثالًا عمليًا وواقعيًا للحصول على فكرة عن السرعة الحقيقية.
النشر على CloudFlare Pages
للنشر على CloudFlare Pages، انتقلت إلى علامة التبويب “Compute” واخترت “Workers & Pages”. هنا يمكنك إنشاء صفحة جديدة عن طريق استيراد مستودع Git موجود أو عن طريق رفع الأصول مباشرة. بعد تسمية مشروعك ورفع أصولك، يتم نشر موقعك على نطاق فرعي مجاني pages.dev
.
لإعداد نطاق مخصص، ما عليك سوى الانتقال إلى علامة التبويب “Custom domains” والنقر على الزر الذي يقول “Set up a custom domain”. إذا كان نطاقك متصلاً بالفعل بـ CloudFlare، فسيضيف سجل CNAME تلقائيًا نيابةً عنك.
النشر على GitHub Pages
إعداد GitHub Pages أكثر تعقيدًا. أولاً، ستحتاج إلى مستودع GitHub يحتوي على ملفات موقعك. يجب تسمية المستودع الخاص بك بالصيغة الدقيقة your-username.github.io
. سيصبح هذا هو النطاق الفرعي حيث يتم نشر موقعك. بعد رفع ملفاتك الثابتة، يمكنك الانتقال إلى إعدادات المستودع والنشر على GitHub Pages.
ملاحظات هامة:
- إحدى غرائب GitHub Pages هي أن المستودعات يجب أن تكون عامة إذا كنت تستخدم حسابًا مجانيًا. يمكنك استضافة GitHub Pages من مستودع خاص، لكنك ستحتاج إلى حساب احترافي، وعند هذه النقطة لن تكون الاستضافة مجانية.
- لتكوين نطاق مخصص، ستحتاج إلى إضافة سجل CNAME إلى DNS الخاص بك يشير إلى
username.github.io
. - واجهت بعض الصعوبات في تحميل موقعي عبر HTTPS. ثم اكتشفت أنه يجب عليك تحديد مربع “Enforce HTTPS” ليعمل بشكل صحيح.
التعامل مع مواقع متعددة على GitHub Pages
تعتبر GitHub Pages أيضًا غير عملية عندما ترغب في نشر مواقع متعددة. يُسمح لك فقط بنطاق فرعي واحد لكل حساب، لكنك تحتاج إلى مستودع فريد لكل موقع. إذن كيف يعمل ذلك؟
لنشر موقع إضافي، يمكنك إنشاء مستودع جديد، ورفع ملفاتك، والانتقال إلى صفحة الإعدادات، وتحديد الفرع الرئيسي. بعد ذلك، سيتم نشر موقع الويب الخاص بك ضمن دليل فرعي من نطاق GitHub الفرعي الخاص بك. لا يزال بإمكانك ربطه بنطاق مخصص باستخدام نفس العملية. لذا، من الممكن أن يكون لديك عدة مواقع GitHub Pages على نطاقات منفصلة تمامًا، لكنها تبدو عملية معقدة بشكل غير ضروري.
ماذا عن المواقع الديناميكية مثل WordPress؟
تتطلب كل من CloudFlare Pages و GitHub Pages أن تكون المواقع ثابتة. إذا كنت ترغب في نشر موقع WordPress، فإن أسهل طريقة للقيام بذلك هي تشغيل WordPress محليًا باستخدام أداة مثل Local WP. ثم استخدم إضافة مثل Simply Static لتصدير الموقع كملفات HTML ورفع الملفات إلى CloudFlare أو GitHub. لن تتمكن من استخدام الإضافات الديناميكية مثل WooCommerce على موقعك، ولكن لا يزال بإمكانك استخدام نماذج الاتصال أو نماذج الاشتراك في النشرات الإخبارية إذا قمت بتضمين HTML مع نموذج مستضاف في مكان آخر.
مقارنة السرعة
كلا المنصتين سريعتان للغاية، لكن CloudFlare Pages تستفيد من شبكة توصيل المحتوى (CDN) الضخمة الخاصة بـ Cloudflare مع خوادم في 335 مدينة. لدى GitHub Pages أيضًا شبكة موثوقة، على الرغم من أنها ليست مثيرة للإعجاب على الورق.
ومع ذلك، فإن سرعة CloudFlare Pages و GitHub Pages متماثلة تقريبًا وفقًا لاختبارات أداء GTmetrix التي أجريتها.
نتائج الاختبار:
- لوحظت نتيجة غير متوقعة في سان أنطونيو، حيث استغرق تحميل صفحة CloudFlare Pages حوالي 12 ثانية. بعد إعادة الاختبار عدة مرات، بقيت النتيجة كما هي. مع الأخذ في الاعتبار موثوقية شبكة CloudFlare، من المفترض أن يتم تحميل هذه الصفحة في حوالي ثانيتين، مما يشير إلى أن هذه النتيجة قد تكون حالة شاذة.
- إذا تجاهلنا تلك النتيجة التي يُحتمل أن تكون خاطئة، فإن سرعات CloudFlare Pages و GitHub Pages متسقة نسبيًا في كل موقع.
- تتمتع CloudFlare بتقدم ملحوظ يبلغ 1.1 ثانية في هونغ كونغ، ومن المحتمل أن يكون ذلك بفضل شبكة Cloudflare القوية في الصين.
لكن هذه الاختبارات متقاربة جدًا لدرجة أننا ندقق في تفاصيل صغيرة. ستحصل على موقع سريع للغاية ويمكن الوصول إليه عالميًا مع كلتا المنصتين.
سهولة النشر
تسمح لك كل من CloudFlare و GitHub برفع الأصول على الويب. تتمتع GitHub Pages بجميع مزايا النشر عبر GitHub. ففي النهاية، أنت تستضيف ملفات الموقع في مستودع GitHub. لكن CloudFlare Pages تدعم أيضًا النشر عبر GitHub، ويمكنك إنشاء بيئات معاينة لرؤية نسخة حية من تغييراتك قبل دمجها مع الإنتاج. هذه ميزة هائلة لـ CloudFlare Pages التي أستغرب أن GitHub Pages تفتقدها.
الحكم النهائي: CloudFlare Pages أم GitHub Pages؟
في النهاية، أعتقد أن لدينا فائزًا واضحًا جدًا.
CloudFlare Pages هي الخيار الأفضل للأسباب التالية:
- أسهل في الإعداد: العملية أبسط وأكثر مباشرة.
- شبكة عالمية أكبر: تستفيد من شبكة CDN الواسعة لـ Cloudflare.
- دوال Serverless: يمكنك تشغيل دوال serverless محددة باستخدام CloudFlare Workers.
- نشر مرن: لا تزال تستطيع النشر عبر مستودعات GitHub مع ميزات إضافية مثل بيئات المعاينة.
بصراحة، أنا مندهش من مدى تخلف GitHub Pages. واجهت مشاكل متكررة في تشغيل HTTPS، ولا أفهم لماذا أنت مقيد بنطاق فرعي واحد github.io
لكل حساب.
الميزة الرئيسية التي يمكنني التفكير فيها لـ GitHub Pages هي أنها تدعم Jekyll أصلاً. Jekyll هو منشئ مواقع ثابتة مفتوح المصدر. لا يزال من الممكن استضافة مواقع Jekyll على CloudFlare Pages، لكنك ستحتاج إلى تشغيل أوامر البناء والقيام ببعض الإعدادات اليدوية.
بشكل عام، تبدو CloudFlare Pages الخيار الأفضل في معظم الحالات.
ذكر شرفي: bunny.net
أريد أن أقدم ذكرًا شرفيًا لـ bunny.net. لقد بدأت ببطء في ترحيل مواقعي من CloudFlare إلى Bunny لإدارة CDN و DNS، ومن الممكن استضافة مواقع ثابتة على Bunny باستخدام Bunny Storage و CDN pull zone.
إعداده ليس سهلاً مثل CloudFlare Pages، لكنه أسهل من GitHub Pages. ما عليك سوى إنشاء منطقة تخزين، ورفع ملفاتك، وتوصيل منطقة سحب CDN. كانت Bunny بنفس سرعة CloudFlare، إن لم تكن أسرع، في اختباراتي، وهي بديل قوي إذا كنت ترغب في دعم شركة ناشئة ذات خدمة عملاء جيدة.
العيب هو أن Bunny ليست مجانية، لكنها ميسورة التكلفة للغاية.
- أسعار التخزين: 0.02 دولار لكل جيجابايت شهريًا لكل منطقة.
- أسعار CDN: تتراوح بين 0.01 و 0.06 دولار لكل جيجابايت، حسب المنطقة.
- الحد الأدنى: لدى Bunny حد أدنى شهري قدره 1 دولار، لذلك إذا كنت قد بدأت للتو، فمن المحتمل أن تدفع دولارًا واحدًا شهريًا.
المفاضلة النهائية
الجانب السلبي لجميع هذه المنصات هو أنه يمكنك فقط استضافة مواقع ثابتة. إذا كنت تحاول استضافة WordPress بتكلفة معقولة، فقد يكون من المفيد التفكير في بعض خيارات استضافة WordPress منخفضة التكلفة من Hostinger أو DreamHost.
إنها مفاضلة. ستكون الاستضافة المشتركة ميسورة التكلفة أبطأ من استضافة الحافة الثابتة المجانية، ولكن يمكنك تشغيل الإضافات الديناميكية وإجراء تغييرات على موقعك دون عناء النشر الإضافي. وبصراحة، عندما أفكر في حقيقة أن استضافة الويب المجانية غالبًا ما تكون أسرع من الاستضافة المشتركة أو حتى المُدارة، يذكرني ذلك بأن هذه المنصات هي جواهر حقيقية: استضافة حافة مجانية فائقة السرعة، يمكن الوصول إليها من أي مكان في العالم.