Jump to content

How to speed up IPB sites?


Gauravk

Recommended Posts

I would consider that chart completely useless without data or observation how your site actually performs. That chart doesn’t show that. How fast does your server respond? When does it start rendering? When it it finished? How much useful information is shown to the user while that is happening? That is what matters. 

Going by just the graph and what is easily feasible:
1. Why are there redirects? I would check that out. 
2. Browser caching. You absolutely want to have that and it can usually be solved with a few lines in the htaccess file. 

Link to comment
Share on other sites

Thanks for your suggestions, I tried adding below lines in htaccess and it jumped from 52-60.

Still few files are not leveraging browser cache, any clue how I can add those specific files in htaccess?

What's this mean?

 

<IfModule mod_expires.c>
  ExpiresActive On

  # Images
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType image/x-icon "access plus 1 year"

  # Video
  ExpiresByType video/mp4 "access plus 1 year"
  ExpiresByType video/mpeg "access plus 1 year"

  # CSS, JavaScript
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"

  # Others
  ExpiresByType application/pdf "access plus 1 month"
  ExpiresByType application/x-shockwave-flash "access plus 1 month"
</IfModule>

 

Link to comment
Share on other sites

34 minutes ago, Gauravk said:

Any tips on how to speed up IPB sites based on 8 most pressing issues?

Result of several quick tests
1. Many validation errors html5

https://validator.w3.org/nu/?doc=https%3A%2F%2Fcarnity.com%2F

2. Errors in validation CSS Level 3

http://jigsaw.w3.org/css-validator/validator?uri=https%3A%2F%2Fcarnity.com%2F&amp;profile=css3svg&amp;usermedium=all&amp;warning=1&amp;vextwarning=&amp;lang=bg

3. Complete report of resources in your site. Each row with a click shows more information.

https://yellowlab.tools/result/f6sg7azukt

4. For a GtMetrix report - you use a cloudflare - this makes analysis difficult.
Perhaps it is good to stop a cloudflare, to do a good optimization of everything your site uses, then to activate cloudflare.

5. Also, see Lighthouse report your performance.

1246065657_Screenshotat2018-11-18174203.thumb.png.e12a5e09ef0d617653c0583f0ee892d4.png

Link to comment
Share on other sites

 

1 hour ago, Gauravk said:

Any tips on how to speed up IPB sites based on 8 most pressing issues?

image.thumb.png.ce976377dd97bb99ebc53d542cbd2442.png

 

 

 

 

Use a free CDN service such as Cloudflare, configure it and that should take care of most of your issues which are not image related..

For defer parsing of Javascript. Login into your ACP, go to your default theme and under Custom, change JavaScript include location to Just before body tag.

Edited by TDBF
Link to comment
Share on other sites

47 minutes ago, Gauravk said:

This

<div id="google_translate_element">

1323418557_Screenshotat2018-11-18192154.png.90d22bb2531b9cc8ec980d19d7edff22.png

provokes your defer parsing.


Move it before the JavaScript code for loading, along with the google translate script.

Link to comment
Share on other sites

Link to comment
Share on other sites

1 minute ago, Gauravk said:

Not in the head,

Move it bottom global template, before

{template="includeJS" if="theme.js_include == 'footer'" app="core" group="global" location="global" params=""}
{template="viglink" if="settings.viglink_enabled" app="core" group="global" params=""}

 

Link to comment
Share on other sites

I moved it in the footer just above theme.js like you said and still no difference

939.3KiB of JavaScript is parsed during initial page load. Defer parsing JavaScript to reduce blocking of page rendering.

Link to comment
Share on other sites

Apology for the confusion, I have placed it just above the includJS line but in my codes, I couldn't find guestTermsBar. Please check if its fine?

2 hours ago, TDBF said:

Use a free CDN service such as Cloudflare, configure it and that should take care of most of your issues which are not image related..

1

I am using the cloudflare paid and unpaid version for two years.

2 hours ago, TDBF said:

For defer parsing of Javascript. Login into your ACP, go to your default theme and under Custom, change JavaScript include location to Just before body tag.

1

You mean in globaltemplate right....? I have moved all 7 except 1 JS before the </body> and still defer message shows up.

Link to comment
Share on other sites

4 minutes ago, Gauravk said:

Apology for the confusion, I have placed it just above the includJS line but in my codes, I couldn't find guestTermsBar. Please check if its fine? 

Now it's in the right place, but change the code.
Now your code loads like this

<script type="text/javascript" data-cfasync="false"> 
 var _foxpush = _foxpush || []; 
 _foxpush.push(['_setDomain', 'carnitycom']); 
 (function(){ 
 var foxscript = document.createElement('script'); 
 foxscript.src = '//cdn.foxpush.net/sdk/foxpush_SDK_min.js'; 
 foxscript.type = 'text/javascript'; 
 foxscript.async = 'true'; 
 var fox_s = document.getElementsByTagName('script')[0]; 
 fox_s.parentNode.insertBefore(foxscript, fox_s);})(); 
 </script>
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL}, 'google_translate_element');
}
</script>

Do it this way

<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL}, 'google_translate_element');
}
</script>
<script type="text/javascript" data-cfasync="false"> 
 var _foxpush = _foxpush || []; 
 _foxpush.push(['_setDomain', 'carnitycom']); 
 (function(){ 
 var foxscript = document.createElement('script'); 
 foxscript.src = '//cdn.foxpush.net/sdk/foxpush_SDK_min.js'; 
 foxscript.type = 'text/javascript'; 
 foxscript.async = 'true'; 
 var fox_s = document.getElementsByTagName('script')[0]; 
 fox_s.parentNode.insertBefore(foxscript, fox_s);})(); 
 </script>

Or, move the first script here after the second

Link to comment
Share on other sites

Thanks Adlago for all your great help, really appreciate it.

I have switched on all possible caching options in cloudflare and changed IPB datastore from file to MySQL cache even as this page load and wait was really disturbing. 

Also Im in a process now to get Memcached or Redis install on the server and facing some issues with extension installation. 

Just curious to know in case I fail, MySQL caching is better than the file system, right....?

image.thumb.png.51676e9336f3c0c86c81f580fb4d3429.png

Link to comment
Share on other sites

Im desperately waiting for images issue to be solved - reported so many times already.

  • To delete enormous size images that slow down server
  • To serve optimize images that is compressed and use lossless compression.

Guys yesterday I turned every possible option in cloudflare and saw improvement, but after that my site loads in textual format in IE (edge), chrome was fine though.

So slowly have to disable many cloudflare options to get back the site and now will turn one option at a time to see what causes site to load so funny

Adlago, once I turned off cloudflare those options, defer issue is back (sadly).

Link to comment
Share on other sites

Things I switched on that showed improvement and then switched off due to site loading like a plain text in IE are below.

Any guess, which could be the main culprit....?

Brotli

Speed up page load times for your visitor’s HTTPS traffic by applying Brotli compression.

Rocket Loader™

Improve the paint time for pages that include JavaScript.

Mobile Redirect

Redirect visitors that are using mobile devices to a mobile-optimized website.

Enable Accelerated Mobile Links Beta

Enable Accelerated Mobile Links to enhance your mobile visitor’s experience for external content. Accelerated Mobile Links allow your users to open external AMP links from your website in AMP. AMP makes your website’s mobile experience at least three times faster than normal.

Workers

Run JavaScript Service Workers in Cloudflare’s 150+ data centers around the world. Modify a site’s HTTP requests and responses, make parallel requests, or generate responses from the edge.

 

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Upcoming Events

    No upcoming events found
×
×
  • Create New...