كيفية تنفيذ الجلب المسبق لـ DNS في ووردبريس لتحميل أسرع
هل سئمت من موقع بطيء؟
يمكنك بسهولة زيادة بعض درجات الأداء في gtmerix و tool.pingdom و google pagespeed insight من خلال تنفيذ الجلب المسبق لنظام أسماء النطاقات DNS في موقع ووردبريس الإلكتروني. لذا قبل أن نبدأ ، دعنا نحصل على بعض الوصف الأساسي.
جدول المحتويات
ما هو الجلب المسبق لـ DNS؟
الجلب المسبق ، المعروف أيضًا باسم الجلب المسبق لـ DNS ، هو عملية حل عنوان IP لموقع الويب قبل أن ينقر المستخدم على الرابط الخاص به. يحاول حل مشكلات وقت الاستجابة المرتبطة بحل DNS (أي الوقت الذي يستغرقه حل اسم مجال موقعك إلى عنوان IP) ، والذي يمكن أن يضيف عدة ثوانٍ إلى وقت تحميل صفحة الموقع.
يمكن تقسيم الجلب المسبق على النحو التالي:
- يبدأ مستعرض الويب في تحليل الصفحة وعرضها
- يقوم المستعرض بالبحث عن أسماء المجالات المرتبطة بالروابط الموجودة على الصفحة ويحلها
- عندما ينقر المستخدم فوق ارتباط ، يكون عنوان IP المستهدف معروفًا بالفعل ويتم توجيه المتصفح على الفور إلى ذلك الخادم
يمكن لمعظم المتصفحات اكتشاف أسماء النطاقات وإحضارها مسبقًا داخل الارتباطات التشعبية الموجودة في الصفحة. ومع ذلك ، قد لا يعثرون على المجال المضمن في ملفات البرامج النصية والترميز الذي تم إدخاله بواسطة التحليلات ومنصات المشاركة الاجتماعية. يمكن أن تتخطى العناوين التي تمت إعادة توجيهها إلى مجالات أخرى أيضًا الجلب المسبق التلقائي.
في مثل هذه الحالات ، يمكن لمطوري الويب تحديد المجال يدويًا للمتصفح للجلب المسبق. يرقى هذا إلى إضافة توجيهات في قسم <head> الصفحة . فمثلا:
<link rel="dns-prefetch" href="//server.com">
بالإضافة إلى الجلب المسبق لـ DNS ، فإن التحميل المسبق "preloading" والعرض المسبق "pre-rendering" هما طريقتان أخريان تستخدمان غالبًا في تحسين موقع الويب . على الرغم من أن الثلاثة تعمل على تحسين سرعة تحميل الصفحة ، إلا أن هناك اختلافات جوهرية في وظائفهم وحالات الاستخدام.
الجلب المسبق مقابل التحميل المسبق
التحميل المسبق هو طريقة لتحميل الموارد (على سبيل المثال ، ملفات البرامج النصية والصور وأوراق الأنماط) مسبقًا عن طريق تخزينها في ذاكرة التخزين المؤقت المحلية للمتصفح. يمكن لمطوري المواقع إرشاد المستعرضات إلى تحميل الموارد مسبقًا عن طريق إضافة <link rel=”preload”> توجيهات في قسم <head> الصفحة . فمثلا:
<link rel="preload" href="http://cdn.example.com/library.js">
يؤدي ذلك إلى تسريع طلبات الصفحة اللاحقة عن طريق تحميل الموارد المطلوبة من ذاكرة التخزين المؤقت المحلية بدلاً من تنزيلها من خادم بعيد .
التحميل المسبق هو أكثر كثافة للموارد والشبكة من الجلب المسبق لنظام أسماء النطاقات. لذلك ، يجب تطبيقه بحذر وفقط عندما تكون هناك ثقة عالية بالحاجة إلى مورد في المستقبل القريب. وإلا فإنه يفرض ضرائب على موارد العميل والخادم دون جدوى.
الجلب المسبق مقابل العرض المسبق
يختلف العرض المسبق عن التحميل المسبق ؛ يقوم بتحميل صفحة كاملة - بما في ذلك مواردها - أثناء عرضها في الخلفية. ينتج عن هذا تقليل كبير في وقت التحميل وظهور شبه فوري للصفحة المستهدفة بمجرد طلبها. توجيهات العرض المسبق هي:
<link rel="prerender" href="http://server.com/page.html">
بينما يوفر العرض المسبق دفعة كبيرة لسرعات تحميل الصفحة ، إلا أنه يمثل ضرائب أكبر بكثير من كل من الجلب المسبق والتحميل المسبق. يجب استخدامه فقط عندما تكون متأكدًا من أن المستخدم سينتقل إلى الصفحة.
كيفية العثور على كل المجالات التي يجب جلبها مسبقًا
لمعرفة اسم المجال نوصيك باستخدام tool.pingdom . امسح موقع الويب الخاص بك أولاً. بمجرد الانتهاء من المسح. تحتاج إلى العثور على قسم " Requests by domain" وجمع جميع طلبات نظام أسماء النطاقات للجهات الخارجية.
قائمة نطاقات طلبات الجلب المسبق DNS الشهيرة هي
//maps.googleapis.com
//maps.gstatic.com
//fonts.googleapis.com
//fonts.gstatic.com
//ajax.googleapis.com
//apis.google.com
//google-analytics.com
//www.google-analytics.com
//ssl.google-analytics.com
//youtube.com
//api.pinterest.com
//cdnjs.cloudflare.com
//pixel.wp.com
//connect.facebook.net
//platform.twitter.com
//syndication.twitter.com
//platform.instagram.com
//disqus.com
//sitename.disqus.com
//s7.addthis.com
//platform.linkedin.com
//w.sharethis.com
//s0.wp.com
//s1.wp.com
//s2.wp.com
//s.gravatar.com
//0.gravatar.com
//2.gravatar.com
//1.gravatar.com
//stats.wp.com
كيفية تنفيذ الجلب المسبق لـ DNS في ووردبريس ؟
هناك العديد من الطرق للقيام بهذا العمل. أكثر طريقتين يمكننا اتباعها.
الطريقة الأولى - باستخدام الإضافات
هناك العديد من المكونات الإضافية التي يمكن أن تساعدك في تنفيذ هذا الإجراء في موقع الويب الخاص بك. لذلك سأوضح لك على أهم 3 ملحقات كيف يمكنك القيام بذلك.
- Pre* Party Resource Hints (مجاني)
- Wp-rocket (مدفوع)
- perfmatters (مدفوع)
1. المكون الاضافي Pre* Party Resource Hints - قم بتثبيت هذا البرنامج المساعد >>> انقر فوق Pre* Party في لوحة تحكم ووردبريس ثم أدخل عنوان url في الحقل المحدد "Domain or URL" ثم اختر "DNS-Prefetch" وانقر على "insert".
2. Wp-rocket - يعتبر هذا المكون الاضافي الافضل في التخزين المؤقت والقيام ببعض التحسينات الاخرى لتحسين سرعة موقع ووردبريس.
في مقالة سابقة وضحت كيفية اعداد WP Rocket للحصول على افضل نتائج تسريع موقع ووردبريس الخاص بك.
من ضمن خدمة التخزين المؤقت التي يوفرها المكون الاضافي هنالك طريقة تساعد في الجلب المسبق لاسماء النطاقات DNS الخارجية وتحسين سرعة ووردبريس في ادوات اختبار السرعة المختلفة.
في اعدادت المكون الاضافي توجه الى علامة التبويب التحميل المسبق داخل مربع Prefetch DNS Requests . تحتاج إلى إضافة عناوين url للطلبات الخارجية دون استخدام http أو https
3. perfmatters - هذا مكون اضافي ممتاز ايضًا تم تطويره بواسطة kinsta يحتوي على العديد من المزايا لتسريع موقع ووردبريس ومن ضمنها الجلب المسبق لـ DNS.
بمجرد تنشيط البرنامج المساعد ، ستظهر علامة التبويب Preloading داخل علامة التبويب تلك ، ستجد مربع حوار لإدخال عنوان url كما هو موضح في الصورة
هناك العديد من المكونات الإضافية التي يمكنها تنفيذ هذا الإجراء مثل autoptimize وغيرها الكثير.
الطريقة الثانية - بدون استخدام الإضافات
تحتاج إلى لصق الكود التالي داخل ملف function.php أو المكون الاضافي الخاص بالموقع. ولكن تأكد من استخدام عنوان url الخاص بالطرف الثالث بدلاً من https://3rd-party-domain1.com/ . لذلك لا تنس استبدال عنوان url داخل الكود.
ملاحظة - في الكود التالي ينتهي الكود الأخير بـ '; لذلك يجب ان يكون الدومين الاخير الذي تضيفه هنا دائما.
function gomahamaya_dns_prefetch() {
echo '<meta http-equiv="x-dns-prefetch-control" content="on">
<link rel="dns-prefetch" href="//3rd-party-domain1.com" />
<link rel="dns-prefetch" href="//3rd-party-domain2.com" />
<link rel="dns-prefetch" href="//3rd-party-domain3.com" />'; // last step has '; make sure it should be therein last
}
add_action('wp_head', 'gomahamaya_dns_prefetch', 0);
الآن تعلمنا أخيرًا كيفية تنفيذ الجلب المسبق لـ DNS في ووردبريس لتحميل أسرع.
أحدث المقالات