يستخدم العديد من الأشخاص WordPress لإنشاء مواقع ويب تعتمد على الصور، والتي تتطلب عادةً تحميل العديد من الصور المرفقة التي تم تحميلها على الصفحة. على الرغم من أن مساحة WordPress يمكن أن تحدد المرفق كعنوان URL مطلق، إلا أنها ليست كافية لحل القيود المفروضة على آلية سلسلة تنزيل المتصفح. فيما يلي الحل الخاص بي لـ WordPress.
قبل أن نتحدث عن الطريقة، دعونا أولاً نفهم ما هو موضوع التنزيل الخاص بالمتصفح. لتبسيط الأمر، عند فتح صفحة ويب باستخدام متصفح، إذا كانت جميع الصور والأنماط وjs وما إلى ذلك الموجودة على الصفحة موضوعة تحت نفس اسم المجال، فيجب على المتصفح أن يطلب ملفًا تم تنزيله عندما يطلب الخادم اطلب التنزيل التالي (أو يمكنك طلب عدة تنزيلات في نفس الوقت ثم الاستمرار في الطلب، تختلف المتصفحات المختلفة). إذا تم وضع الصور والأنماط وjs والملفات الأخرى الموجودة ضمن هذه الصفحة في اسم مجال وكان هناك الكثير منها، فستكون قائمة الانتظار طويلة عند فتح صفحة الويب. (على سبيل المثال، النطاق العريض 2M الخاص بك ليس أسرع بكثير من النطاق العريض 4M الخاص بك)
الحل هو تنزيل المزيد من البيانات في نفس الوقت. يقتصر الأمر على مشكلة التقييد تحت نفس اسم النطاق، ويمكننا استخدام أسماء نطاقات متعددة لحلها.
إذا كانت مساحتك تسمح بربط عدة أدلة فرعية، فيمكنك تعيين أسماء نطاقات فرعية متعددة لربطها بمرفق WordPress wp-content/uploads/.
يرتبط نطاقي الفرعي http://pic0.tsov.net/ و http://pic1.tsov.net/ بـ wp-content/uploads/.
وفي الوقت نفسه، حدد اسم النطاق الفرعي الذي قمت بتعيينه في "الإعدادات" و"الوسائط" في الخلفية (إذا كانت مدونتك تحتوي بالفعل على بيانات، فيمكنك استخدام phpmyadmin لتنفيذ البيان وتحويل المرفقات مرة واحدة)،
على سبيل المثال، إعداداتي هي: (عنوان URL الكامل للملف: http://pic.tsov.net )
ثم قم بإضافة الكود التالي إلى ملف jobs.php ضمن القالب الخاص بك.
<?php
إعداد الوظيفة_pic_tsov_net(محتوى $) {
$pattern="/<img******************/" (لذا لا يمكن عرض الكود الكامل هنا، يرجى النقر لتنزيل الكود الكامل)
preg_match_all($pattern,$content,$match);
$iNumberOfPics = العد($match[0]);
لـ ( $i=0; $i < $iNumberOfPics ; $i++ ){
$tsovnet= str_replace('pic.tsov.net','pic'.rand(0,1).'.tsov.net',$match[1][$i]);
$content=str_replace($match[1][$i],$tsovnet,$content);
};
إرجاع محتوى $؛
}
add_filter('the_content','setting_pic_tsov_net',12);
?>
تتمثل وظيفة الكود أعلاه في استبدال مسارات الصور في السجل الخاص بك بشكل عشوائي.
الكل مرتبط بـ wp-content/uploads/.
إذا لم يكن لديك الكثير من الصور في صفحة واحدة. ليس لديك عدد كبير جدًا من أسماء النطاقات الفرعية (يستغرق تحليل اسم المجال وقتًا أيضًا). بشكل عام، 2-3 يكفي. يمكنك حسابه تقريبًا بهذه الطريقة: يمكن تنزيل النطاق الفرعي 5 مرات في نفس الوقت، فما عدد النطاقات التي تحتاج إلى تنزيلها في نفس الوقت؟ اقسم على 5 للحصول على عدد النطاقات الفرعية التي تريد استخدامها.
ما ورد أعلاه هو مجرد طريقة التنفيذ الأولية الخاصة بي. لاحقًا وجدت أن مسار الصورة باستخدام الأرقام العشوائية rand (0، 1) غالبًا ما يتغير، وهو ما قد لا يكون جيدًا لمحركات البحث، لذلك أستخدمه مثله:
$tsovnet= str_replace('pic.tsov.net','pic'.substr(decbin(md5($match[1][$i]))),-1).'.tsov.net',$match[1 ][$i]);
لن أشرح هذه الجملة، فهي مرهقة للغاية. لكنني أخيرًا حققت هدفي النهائي.
بالطبع، ما ورد أعلاه يتضمن العديد من مشكلات التحسين الأخرى، لذلك لن أخوض في التفاصيل.
بالإضافة إلى ذلك: على سبيل المثال، إذا قمت بتوجيه اسم النطاق الفرعي إلى مساحة مختلفة، ففي كل مرة تقوم فيها بنشر سجل يحتوي على مرفق، ستتم مزامنة المرفق مع مسافات أخرى. (لهذه المزامنة، يمكنك كتابة برنامج لتنزيله باستخدام 404 وطرق غريبة أخرى)
بعد أن قلت الكثير، لا بد أن الجميع في حيرة من أمرهم عند مشاهدته. ثم دعونا نختبر التأثير بعد التنفيذ.
النص الأصلي: http://tsov.net/category/album/
بفضل سيمونسو لمساهمتك