deselt wrote:I recently update this theme to 3.8.354.21965 version and run test at Google Speed inside.
and getting two recommendation to fix.
1. Leverage browser caching
https://www.cycleheart.com/PavilionTheme/RetrieveColorSquares (expiration not specified)
2. Prioritize visible content (screen shot below)
Hi deselt,
Please let me explain:
1. Leverage browser caching.
This is a URL that is used for making Ajax calls to get the color squares. It should not have any expiration date since it is not a static resource. I really don't know why google thinks it is a static resource and suggests you to add expiration date.
What does expiration date means?
It means that if you have static resources i.e images etc. The server should add expiration date that is used by the browser to cache these resources for the specified time.
Google usually suggest this to be at least 2 weeks.
Please note that nopCommerce adds expiration date to all static resources and the default value is 7 days which is defined in the Web.config file and could be changed.
We should not add expiration date to non-static resources.
It doesn't make sense to do this for ajax request i.e if we cache the color squares of the products then all products would have the same color squares which is not something that we want to be dynamic content depending on the products on the home page.
2. Prioritize visible content.
Google suggests that the visible part of the web page should not contain any data that is retrieved by making additional calls to the server, which is the case with the products from the smart product collections that you have on the Home page.
Of course we have made the Smart product collections to use Ajax on purpose, so that the products are loaded after the page is loaded and only when the collection becomes visible, which by the way greatly improves the loading of the page since only the products that are visible are loaded. So basically Google suggests you to remove the Smart Product collections from the visible part when the page is loaded. So you can put something above the Smart Collections and this way in the visible part of the page everything will be loaded at the time the page loads and no ajax called will be made to show that content.
Both suggestions are as google say "Consider fixing", which means that they will not have such a great impact.
I hope this information is useful!