ترکیب فایل های css یا js می تواند تعداد درخواست های http را در صفحه شما به شدت کاهش دهد که این مورد میتواند بر سرعت و سبکی سایت شما تاثیر گذار باشد و . این یکی از ترفند هایی است که باعث افزایش بازدهی وبسایت شما و جذب ترافیک بیشتر و افزایش رتیه خود در gtmetrix و سئو می شود.که در مقاله “تست آنلاین سرعت سایت” در مورد آن صحبت کردیم.
minify چیست ؟
به عمل حذف فاصلهها و کدهای اضافی که باعث سنگینی صفحات سایت میشود minify گفته میشود، minify را با فشردهسازی کدهای سایت اشتباه نگیرید.
minify کاری هست که یک بهینهساز وبسایت باید انجام دهد، با minify میتوان حجم قالب را کم کرد و سرعت لود سایت را چندین برابر کرد. تأثیر این عمل بخوبی در سایتهای آنلالیز سئوی On Page نمایش داده میشود
در این آموزش ما با ترکیب فایل های css یا js توسط PHP آشنا می شویم ولی آن ها را minify یا به اصطلاح کم حجم و کوچک نمی کنیم . فقط تمام فایل ها را برای افزایش بازهی سایت ، در یک فایل قرار می دهیم.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function combine_my_files($array_files, $destination_dir, $dest_file_name){ if(!is_file($destination_dir . $dest_file_name)){ //continue only if file doesn't exist $content = ""; foreach ($array_files as $file){ //loop through array list $content .= file_get_contents($file); //read each file } //You can use some sort of minifier here //minify_my_js($content); $new_file = fopen($destination_dir . $dest_file_name, "w" ); //open file for writing fwrite($new_file , $content); //write to destination fclose($new_file); return '<script src="'. $destination_dir . $dest_file_name.'"></script>'; //output combined file }else{ //use stored file return '<script src="'. $destination_dir . $dest_file_name.'"></script>'; //output combine file } } |
نحوه استفاده
کافیست که لیستی از فایل های css یا js که قصد دارید آن ها را ترکیب کنید تهیه و سپس تابع ما تمام کار را انجام خواهد داد . مطمین باشید که مقصد فایل ها قابل نوشتن (writable) و صحیح باشد.
1 2 3 4 5 6 7 8 9 |
$files = array( 'http://example/files/sample_js_file_1.js', 'http://example/files/sample_js_file_2.js', 'http://example/files/beautyquote_functions.js', 'http://example/files/crop.js', 'http://example/files/jquery.autosize.min.js', ); echo combine_my_files($files, 'minified_files/', md5("my_mini_file").".js"); |
این یکی از مثال های ساده بود ولی از قبل اسکریپت های php و کتابخانه های زیادی مثل این و این برای ترکیب فایل های css یا js و minify کردن آنها نوشته شده که میتوانید استفاده کنید.
موفق باشید
سلام. وقتتون بخیر.
من یه قالب دارم که بیشتر از ۱۰ تا فایل سی اس اس داره و با هر برنامه ای تستش می کنم میگه تعداد فایل های سی اس اس خیلی زیاده. قالب رو هم خریداری کردم و متاسفانه پشتیبانی خوبی ندارن. افزونه وردپرسی هست که بدون دردسر این فایل ها رو یکی کنه؟
پیشاپیش از پاسخدهیتون ممنونم
سلام ممنون
داخل این سایت تب upload local files همه فایل های css رو فرار بدید و بعد دکمه Shrink! رو بزنید تا همه رو ترکیب کنه
http://www.shrinker.ch
سلام. این که بیاییم همه استایل های قالب رو داخل یه php قرار بدیم و در قالب معرفی کنیم قطعا سرعت لود رو کاهش میده اما از نظر امنیتی و به وجود اومدن باگ مشکلی نداره ؟ امن هست >؟
سلام. خیر هیچ مشکل امنیتی بوجود نمیاد و از این نظر می توانید مطمین باشید.
موفق باشید.