رفتن به مطلب

مشکل استایل IPB و کاهش سرعت سایت


ارسال های توصیه شده

یه مشکل در استایل قالب پیشفرض IPB وجود داره و اون مشکل اینه که استایل یک فایل در پایان آن تعریف شده

<php>$this->isRtlLang = false;</php>
<foreach loop="langData:$this->cache->getCache('lang_data') as $data">
<if test="checkrtl:|:intval($this->member->language_id) == intval($data['lang_id'])">
         <if test="isrtl:|:$data['lang_isrtl']">
                 <if test="$this->isRtlLang = true"></if>
         </if>
</if>
</foreach>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl.css' )">
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css" />
<script type='text/javascript'>
         var rtlFull = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css";
         var isRTL = true;
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl.css' )">
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl.css" />
         <script type='text/javascript'>
                 var rtlFull = "{$this->settings['public_dir']}style_css/ipb_rtl.css";
                 var isRTL = true;
         </script>
</if>
</if>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl_ie.css' )">
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css" />
<![endif]-->
<script type='text/javascript'>
         var rtlIe = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css";
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl_ie.css' )">
         <!--[if lte IE 7]>
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl_ie.css" />
         <![endif]-->
         <script type='text/javascript'>
                 var rtlIe = "{$this->settings['public_dir']}style_css/ipb_rtl_ie.css";
         </script>
</if>
</if>
<if test="hasMemberTopicMax:|:$this->settings['member_topic_avatar_max']">
<!-- Forces topic photo to show without thumb -->
<style type='text/css'>
         .ipsUserPhoto_variable { max-width: {parse expression="intval($this->settings['member_topic_avatar_max'])"}px !important; }
         <if test="RTLMargin:|:$this->isRtlLang">
                 .post_body { margin-right: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         <else />
                 .post_body { margin-left: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         </if>
</style>
</if>

چطوری میشه کد استایل رو به بالای کد انتقال داد بدون این که باعث تخریب اون بشه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • مدیر کل بازنشسته سایت

این بیت کاملا مربوط به فایل ipb_rtl هست که کد های شرطی داره داره تعیین میکنه اگه حالت rtl فعال بود فایل ipb_rtl.css رو بخونه و بریا ie م استایل rtl رو لود کنه و .....اون تیکه اخر هم مربوط به قسمت تاپیک ها هست که بسته به ساز آواتار از سمت راست فاصله میده تا محتوا تو مشخصات کاربری نیان.

 

استایل تو این بیت بالا و پایین نداره.

 

تو Global template هم اگر اشنایی نداشته باشی بخوای مکان parse شدن این بیت رو تغییر بدی به مشکل برمیخوره انجمنت.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد زیر همون استایل کد بالا هست

<style type='text/css'>
         .ipsUserPhoto_variable { max-width: {parse expression="intval($this->settings['member_topic_avatar_max'])"}px !important; }
         <if test="RTLMargin:|:$this->isRtlLang">
                 .post_body { margin-right: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         <else />
                 .post_body { margin-left: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         </if>
</style>

این کد باعث میشه حدود 30 درصد از سرعت سایت رو کاهش بده و واسه جلوگیری از کاهش سرعت باید این تیکه کد قبل از کد زیر اجرا بشه

<script type='text/javascript'>
         var rtlFull = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css";
         var isRTL = true;
</script>

حالا راهی هست واسه اینکه کد استایل رو قبل از این کد اجرا کنیم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • مدیر کل بازنشسته سایت

 

این کد باعث میشه حدود 30 درصد از سرعت سایت رو کاهش بده و واسه جلوگیری از کاهش سرعت باید این تیکه کد قبل از کد زیر اجرا بشه

 

 

:DD:

شما از کجا به این نتیجه رسیدید که اون کد رو حذف کنید سایتتون 30درصد سریعتر لود میشه؟ اگر با ساختار کدها آشنایی داشته باشید خواهد دونست چیزی که فرمودید کاملا  نا مرتبط هست دوست عزیز و براتون سوء تفاهم شده.

در ضمن اون کد  اصلا تو ایندکس اجرا نمیشه و فقط تو تاپیک ها اعمال میشه (اونم در حالت خاصی اعمال میشه).حذفش هم کنید مورد خاصی پیش نمیاد.

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

:DD:

شما از کجا به این نتیجه رسیدید که اون کد رو حذف کنید سایتتون 30درصد سریعتر لود میشه؟ اگر با ساختار کدها آشنایی داشته باشید خواهد دونست چیزی که فرمودید کاملا  نا مرتبط هست دوست عزیز و براتون سوء تفاهم شده.

در ضمن اون کد  اصلا تو ایندکس اجرا نمیشه و فقط تو تاپیک ها اعمال میشه (اونم در حالت خاصی اعمال میشه).حذفش هم کنید مورد خاصی پیش نمیاد.

موفق باشید.

طبق گفته سایت gtmetrix این کد سرعت سایت رو کم میکنه و کاملا اشتباه نوشته شده (کسی که این کد رو نوشته حرفه ای نبوده)

http://gtmetrix.com/reports/www.kazeroon.org/0uwcWV62

من تونستم حجم سایتم رو کم کنم و سرعتش رو در حد قابل قبولی بالا ببرم (اگه بیاد روی یه سرور خوب, سرعتش عالی میشه)

حالا فقط همین مشکل هست که اگه برطرف بشه عالی میشه

 

The following external CSS files were included after an external JavaScript file in ... To ensure CSS files are downloaded in parallel, always include external CSS before external JavaScript.

 Optimize the order of styles and scripts Correctly ordering external stylesheets and external and inline scripts enables better parallelization of downloads and speeds up browser rendering time.

طبق گفته برنامه نویسان وردپرس و سایت gtmetrix باید کد استایل در بالای اون قرار بگیره (نمیخوام حذف بشه)

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • مدیر کل بازنشسته سایت

این نکته رو بگم شما کاملا اشتباه متوجه شدی از چیزی که جی تی متریکس میگه (اینکه استایل  خارجی از جاوااسکریپت خارجی باید بالاتر قرار بگیره درسته ولی راه حلش چیز دیگه هست که شما فکر کردی مشکل ازون تیکه کده که نیست که در ادامه میگم چی به چیه).البته هرچیزی هم که جی تی متریکس میگه در همه ی شرایط صحیح نیست.

ربطی به اون تیکه کد نداره چون کار خاصی انجام نمیده و فایلی هم لود نمیکنه.بیت includertl فقط شامل یکی دو چیزه و. اونم برای لود کردن فایل ipb_rtl هست و تو او ن فایل چیزی نباید دست بخوره. کل محتوای اون بیت  چک میکنه حالت rtl فعاله یا نه و اگر فعال بود فایل ipb_rtl.css رو لود کنه و فایل جاوااسکریپتی ازون بیت لود نمیشه .......

 

در نتیجه اصلا با محتوای این بیت اصلا کاری نیست و ربطی نداره.
 
فایل ها جاوااسکریپت تو یه بیت دیگه هستند.
 
حالا این فایل rtl ه کل محتوای بیت includertl واسه همینه پایین تر از بیت شامل فایل های جاوااسکریپت لود میشه.
 
در نتیجه برای اینکه این ip رو انجام بدید تو global template
	{parse template="includeRTL" group="global" params=""}

رو کات و بالاتر از 

	{parse template="includeJS" group="global" params=""}

قرار بدید. 

 

در صورت مشکل برگردون به حالت دیفالت.

 

سرعت سایتت رو هیچوقت از جی تی متریکس و امثالش معیار قرار نده مخصوصا زمانی که هاستت تو ایران باشه چون 

شما چند بار تست بگیری از سایتت هر دفعه زمان لود فرق میکنه و شما فکر میکین با انجام تغییرات این زمان ها حاصل شده.

 

 

 

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

The following inline script blocks were found in http://www.kazeroon.org/ between an external CSS file and another resource. To allow parallel downloading, move the inline script before the external CSS file, or after the next resource.

همین کاری رو که گفتید انجام دادم. جواب داد اما هیچ تغییری در سرعت بارگذاری سایت نداشت

چون توی کدی که در پست اول گذاشتم مشاهده میکنید که حتی اگه دستور اجرای کد style رو در اولویت قرار بدیم, باز هم فرقی نمیکنه! چون ابتدا میره آخر کد رو میخونه و سپس برمیگرده و اول کد رو میخونه که این روش هم جالب نیست

 

میشه در کد زیر استایل رو بالا قرار داد؟

<php>$this->isRtlLang = false;</php>
<foreach loop="langData:$this->cache->getCache('lang_data') as $data">
<if test="checkrtl:|:intval($this->member->language_id) == intval($data['lang_id'])">
         <if test="isrtl:|:$data['lang_isrtl']">
                 <if test="$this->isRtlLang = true"></if>
         </if>
</if>
</foreach>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl.css' )">
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css" />
<script type='text/javascript'>
         var rtlFull = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css";
         var isRTL = true;
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl.css' )">
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl.css" />
         <script type='text/javascript'>
                 var rtlFull = "{$this->settings['public_dir']}style_css/ipb_rtl.css";
                 var isRTL = true;
         </script>
</if>
</if>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl_ie.css' )">
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css" />
<![endif]-->
<script type='text/javascript'>
         var rtlIe = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css";
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl_ie.css' )">
         <!--[if lte IE 7]>
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl_ie.css" />
         <![endif]-->
         <script type='text/javascript'>
                 var rtlIe = "{$this->settings['public_dir']}style_css/ipb_rtl_ie.css";
         </script>
</if>
</if>
<if test="hasMemberTopicMax:|:$this->settings['member_topic_avatar_max']">
<!-- Forces topic photo to show without thumb -->
<style type='text/css'>
         .ipsUserPhoto_variable { max-width: {parse expression="intval($this->settings['member_topic_avatar_max'])"}px !important; }
         <if test="RTLMargin:|:$this->isRtlLang">
                 .post_body { margin-right: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         <else />
                 .post_body { margin-left: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         </if>
</style>
</if>

به این صورت:

<style type='text/css'>
         .ipsUserPhoto_variable { max-width: {parse expression="intval($this->settings['member_topic_avatar_max'])"}px !important; }
         <if test="RTLMargin:|:$this->isRtlLang">
                 .post_body { margin-right: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         <else />
                 .post_body { margin-left: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         </if>
</style>

<php>$this->isRtlLang = false;</php>
<foreach loop="langData:$this->cache->getCache('lang_data') as $data">
<if test="checkrtl:|:intval($this->member->language_id) == intval($data['lang_id'])">
         <if test="isrtl:|:$data['lang_isrtl']">
                 <if test="$this->isRtlLang = true"></if>
         </if>
</if>
</foreach>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl.css' )">
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css" />
<script type='text/javascript'>
         var rtlFull = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css";
         var isRTL = true;
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl.css' )">
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl.css" />
         <script type='text/javascript'>
                 var rtlFull = "{$this->settings['public_dir']}style_css/ipb_rtl.css";
                 var isRTL = true;
         </script>
</if>
</if>
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/' . $this->registry->output->skin['_csscacheid'] . '/ipb_rtl_ie.css' )">
<!--[if lte IE 7]>
<link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css" />
<![endif]-->
<script type='text/javascript'>
         var rtlIe = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl_ie.css";
</script>
<else />
<if test="importrtlcss:|:$this->isRtlLang AND is_file( DOC_IPS_ROOT_PATH . '/' . PUBLIC_DIRECTORY . '/style_css/ipb_rtl_ie.css' )">
         <!--[if lte IE 7]>
         <link rel="stylesheet" type="text/css" media="screen" href="{$this->settings['public_dir']}style_css/ipb_rtl_ie.css" />
         <![endif]-->
         <script type='text/javascript'>
                 var rtlIe = "{$this->settings['public_dir']}style_css/ipb_rtl_ie.css";
         </script>
</if>
</if>
<if test="hasMemberTopicMax:|:$this->settings['member_topic_avatar_max']">
<!-- Forces topic photo to show without thumb -->
مکان قبلی کد استایل
</if>
لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • مدیر کل بازنشسته سایت

من در بالا هم گفتم.هیچ تاثیر خاص و مشهودی تو سرعت لود نداره دوست عزیز.کاملا غیر مرتبط هست.با انجام اون کار چیزی که جی تی متریکس گفته انجام میشه و دیگه تو پیشنهادات اون مورد رو ذکر نمیکنه.کامل چیزهایی که پایین نوشتم رو بخون تا سوء تفاهمی که ازین قضیه برات پیش اومده رفع بشه:

 

جی تی متریکس میگه فایل های استایلی که لینک داده میشن و به صفحه مون نباید بعد از فایل های جاوااسکریپتی باشن که لینک داده میشن.در حالت کلی درسته ولی نه هر جایی (به سبب محدودیت هایی که داریم).خوب هرچند چندان تاثیر خاصی نداره این مورد در آی پی بورد و در واقع اصلا نیاز نیست و اصلا هم پیشنهاد نمیشه دستکاری کنید چون چیزی تغییر نمیکنه با این حال شما اگر بخوای این چیزی که جی تی متریکس گفته رو انجام بدی کافیه بیت includeRTL رو کات کنی از تو globaltemplate و در بالای includeJS قرارش بدی که در بالا توضیح دادم و اصلا هم توصیه به انجامش نمیکنم.با این کار اون چیزی که جی تی متریکس گفته در واقع انجام دادیم.ولی اینکته رو به یا دداشت ه باش این کار تو آی پی بورد هیچ تاثیر خاصی نداره و باعث افزایش سرعت لود سایتت نمیشه.

 

شما چیزی که اصلا خودت میگی رو چند بار خودت تست بگیر تا برای خودت به اثبات برسه.

 

سازندگان آی پی بورد علاوه بر دانش برنامه نویسی خیلی بالا  تجربشون خیلی زیاده.خود مدیران اصلیش بیش از ۱۵ سال به طور حرفه ای دارن برنامه نویسی انجام میدن.چندتا دیگه از مدیرانش مدارک certified engineer زبان php از شرکت سازنده یعنی zend  دارند.اونوقت اون افراد که ماها پیششون صفر هستیم یعنی متوجه نمیشن ؟ بعد ما بگیم بلد نیستن و یا حرفه ای نبودن؟! مشکل به خودمون برمیگرده چون نمیدونیم و از مکانیسم کار خبر نداریم صرفا با ‌tip هایی که یک سایت میگه که بیشترشون برای موارد کلی هست میام میگیم اشتباه کردند و حرفه ای نیستند در واقع ما خودمون داریم اشتباه میکنیم.

 

من خودم همیشه دنبال بهینه سازی هستم بدون اگر تاثیر داشت این کارها من خودم قبلا این کارها رو انجام داده بودم.رکورد ۹۹درصد روهم تو جی تی متریکس با نسخه ی خاصی از پوسته ی کوانتوم زدم که عکس هاش تو امضام تو انجمن phpfoxclubهست.روش های بهینه سازی هم خاص بوده و این موارد نبوده چون در واقع تاثیر نداره در IPB .

 

---------------------

 

اون تیکه کدی که برداشتید هم اینکه تو اون تگ if باید باشه که داخلش متن فارسی رو نوشتید

<if test="hasMemberTopicMax:|:$this->settings['member_topic_avatar_max']">
<!-- Forces topic photo to show without thumb -->
مکان قبلی کد استایل
</if>

و هم اینکه اصلا این کد تو ایندکس انجمن اجرا نمیشه و هم اینکه ربطی نداره ازینکه بخواد تو سرعت لود کندی و مشکلی ایجاد کنه.این کد فقط تو تاپیک ها اجرا میشه (از سمت سرور اون کد وقتی تو ایندکس انجمن باشید حذف میشه و در واقع مرورگر تو ایندکس انجمن اصلا این کد رو نمی بینه که اصلا بخواد تاثیری ایجاد کنه.)

 

 

به طور خلاصه : کل تمپلیت های آی پی بورد  در اصل تو فایل های php هستند.یعنی وقتی اجرا میشن ابتدا سمت سرور اجرا میشن (اصلا ربطی به سمت کاربر و سرعت لود و ... نداره و همه چیز توسرور اتفاق میفته) که متغیر ها و تگ های شرطی ای پی بورد و ... همشون تفسیر میشن و  خروجیش به جای اون قرار میگیره.حالا این خروجی که به صورت متن میتونه باشه یا کد های سمت کاربر مثل html برامون فرستاده میشه.ویا اینکه شرط ها مورد برسی قرار میگیرن و ....

 

بعد برای مرورگر فرستاده میشه.در واقع چیزی که به مرورگر میرسه از اون بیت includeRTL در واقع همین تیکه هست:

<link rel="stylesheet" type="text/css" media="screen" href="http://ipsfarsi.com/public/style_css/css_47/ipb_rtl.css">
<script type="text/javascript">
		var rtlFull	= "http://ipsfarsi.com/public/style_css/css_47/ipb_rtl.css";
		var isRTL	= true;
	</script>

کد هایی که برای مرورگر ie هست رو skip کردم.در واقع میبینید همین دو تا کد تو مرورگر خونده میشن. 

 

اگر اون شرط خاص برقرار بشه در اخر یه کد هم تو تگ style پایینش اضافه میشه که یکی دوتا کد css توش قرار میگیره.

 

این فایل ها بالا بودن یا پایین بودنشون هیچتاثیری تو سرعت لود و .... نداره.

 

من دیگه نمیدونم چه مدل باید توضیح بدم و بگم که چیزی که ذرک کردید کاملا نامرتبط هست...میتونید همین سوال رو تو فروم خود شرکت IPS بپرسید تا دوباره به همین جواب برسید.

 

 

موفق باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد زیر همون استایل کد بالا هست

<style type='text/css'>
         .ipsUserPhoto_variable { max-width: {parse expression="intval($this->settings['member_topic_avatar_max'])"}px !important; }
         <if test="RTLMargin:|:$this->isRtlLang">
                 .post_body { margin-right: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         <else />
                 .post_body { margin-left: {parse expression="((intval($this->settings['member_topic_avatar_max'] + 25 ) < 185 ) ? 185 : intval($this->settings['member_topic_avatar_max'] + 25 ) )"}px !important; }
         </if>
</style>

این کد باعث میشه حدود 30 درصد از سرعت سایت رو کاهش بده و واسه جلوگیری از کاهش سرعت باید این تیکه کد قبل از کد زیر اجرا بشه

<script type='text/javascript'>
         var rtlFull = "{$this->settings['public_dir']}style_css/{$this->registry->output->skin['_csscacheid']}/ipb_rtl.css";
         var isRTL = true;
</script>

حالا راهی هست واسه اینکه کد استایل رو قبل از این کد اجرا کنیم؟

 

دوست عزیز این ۳۰ درصد رو از کجا بدست اوردی ... بگو ماهم معلوماتمون زیاد شه :wink1:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز این ۳۰ درصد رو از کجا بدست اوردی ... بگو ماهم معلوماتمون زیاد شه :wink1:

 

توی IPB برخی کار های عجیب رو دیدم

مثلا:

منو بالای قالب پیش فرض انجمن دارای یه بک گراند از تصویر هست که اگه اون رو به رنگ مشکی تغییر بدید هیچ تغییری نمیکنه و سرعت هم بالاتر میره

خیلی جاها میتونست بجای استفاده از تصویر, از کد رنگ های css استفاده کنه که واقعا سرعت انجمن رو بالاتر میبره. مثل بک گراند هدر انجمن

 

تصاویر ثابت قالب پیشفرض هم بهینه نبودن که با یه ابزار 300 کیلوبایت حجم تصاویر رو کمتر کردم

 

کد های css و javascript هم بهینه نبودن که بهینه کردم (اون مورد رو بهشون حق میدم)

 

وقتی مشاهده کردم که IPB به این موارد توجه نکرده, فکر کردم به این مورد هم توجه نکرده باشه

 

البته از نظر بهینه سازی بهینه ترین انجمن ساز دنیا هست! اما به راحتی میتونست قالب رو هنوز بهینه تر کنه

 

توی بخش Optimize the order of styles and scripts سایت gtmetrix حدود 25 درصد از سرعت همین بخش رو گرفته که اگه این کامل بشه, 100 میشه و یکی از مشکلات سرعت به کلی برطرف میشه

البته بعید میدونم این بی توجهی IPB باشه. چون از نطر برنامه نویسی هیچ مشکلی نداره!

 

اما به فکر این هستم اگه بتونم سرعت انجمن رو به A نزدیک کنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...

اطلاعات مهم

ما مجبور شدیم تا از کوکی ها و فناوری های مشابه برای اجرای این وب سایت استفاده کنیم تا بتوانیم تجربه بهتری در زمان استفاده از سایت برای شما ایجاد نماییم. سیاست حریم خصوصی.