Performance guide

Table of contents

  1. Optimize the portal loading time
    1. navigation
    2. Microsoft 365 CDN
    3. Image size
    4. Widgets
    5. Multilingual Portal (variation)

  2. Architecture & Devices

    1. Introduction

    2. Browsers

    3. Browser Cache

    4. Recommanded device configuration

    5. Network & bandwidth

    6. Performance analytics

  3. Additional resources


Optimize the portal loading time

  • Navigation

By default, the Global and Current navigations of your site are probably using the « structural navigation » SharePoint setting. Or, as Microsoft is explaining, this kind of navigation can affect the performances:


That’s why we’ll advise you to not use this kind of navigation and select the « Managed navigation » one for both Global and Current navigations. Then, you’ll have to create a new Term Set used with this navigation but you don’t need to really use this Term Set, this is just to unselect the « Structural navigation » setting.

Moreover, this setting is only linked to the Publishing experience, so if you’re in Modern experience you won’t have any impact in your navigation, but you’ll see the difference on the page load. If you are in publishing and you don’t want to use the features linked to this Managed navigation, you can continue to use your navigation exactly like before in creating/editing links.

You’ll have to do the modification on each site and subsite.

To access this setting, here is the url:

For more information, here is the Microsoft documentation.

  • Microsoft 365 CDN

Using Microsoft 365 Private and Public CDNs are Microsoft best practices to improve your site performances. You can refer the URLs you want to add to the Office 365 CDNs with a PowerShell script or from Powell Manager in your tenant settings as followed:


If you need any information, please refer to the Microsoft documentation :

  • Image size

In SharePoint On-line, the size of the images have a huge impact on performance. You need to use images under 200kb.

Microsoft recommendation:

A simple way to check the image sizes in a page : under Chrome or Edge, with the developer toolbar, go in the network and select img.


After the activation of the Office 365 CDNs, you can still improve the performances linked to images in using renditions.

Indeed, in the mapping of your search & graph webparts, you can select a rendition:


To understand the images rendition impact in SharePoint, a good article on the subject: 

  • Widgets

First of all, our recommendation regarding the number of webparts per page is 6. If you use more than 6 webparts, you can have performance issues linked to it.

Then, you have to know that all the webparts are not taking the same load time.

- The embed webparts (Instagram, Twitter, Stream, etc..) for example who access external APIs are taking more time to load. So if it’s possible, we’ll advise you to not use it on home pages.

- The Search webparts can take some time to load as well depending the number of items. So that’s why you need to enable the cache. From 15 min to 30 min is good. We know that it can be difficult to manage for the contributors to have the cache activated on all the webparts. So if it’s not possible to enable it for all the webparts on your pages, you can select webparts where the content is not changing a lot, like for example “Useful links” and so on.


  • Multilingual Portal (variation)

If you’re using variations in your portal, a quick change can be done on the main logo redirection to improve the loading time.

Today when you click on the logo, you’re directly redirected to the root site, then the language is calculated to redirect you to the right subsite. Sometimes it can take some time, so what can be done is the modify that URL to by default redirect to the same language of the current site.

For example:
Today, if I’m English and I click on the logo from anywhere in the portal, I’ll be redirected to the English home page. But with this change, if I’m in the French HR site and I click on the logo, I’ll be redirected to the French home page, even if I’m English.

This modification will change the current way of working of that link but if you’re ok with it, that can improve the performances.

To do so, you have to clone the Header HTML in Powell Manager and replace <cdn-logo></cdn-logo> by: <cdn-logo url="{{'[TENANT_ABSOLUTE_URL]/sites/[VARIATION_RELATIVE_URL]' | replaceNavigationToken}}"></cdn-logo>

Then, select your new custom HTML Header in your Powell Manager theme.


Architecture & Devices

  • Introduction

    • On premises architecture versus online architecture


    • Server side development versus Client side development 


    • To ensure good performance

You need a good bandwidth (cloud solution with a lot of traffic)

You need a good device (front end development)

You need a good browser (front end development)


  • Browsers

Powell Intranet is compatible and supports the latest version of Chrome / Safari / Firefox & Edge

For the best security and functionalities, keep your web browser up to date. All modern browsers should update automatically, but please make sure your browser has auto-updates enabled.


For IE11, the end of the  support for Microsoft 365 apps and services is coming soon as Microsoft announced before (

As Powell Intranet is based on Microsoft SharePoint, from this date we will be no longer able to guarantee you support on this browser too.


  • Browser Cache

To ensure good performance for the page load, Powell Intranet uses the browser cache for storing the different JavaScript. Some examples:

-AngularJS library  

-Moment library

-jQuery library

-All JavaScript web parts code

-Search queries, display templates…

All the users need to have the browser cache enabled to store these files, in the other case they will load the different resources each time for each loading page from the CDN with a huge impact on the response time and the bandwidth.

  • Recommanded device configuration

All rendering, following the Microsoft best practices, are executing in JavaScript/HTML5/CSS3.

The display and most of the calculations for the page rendering  is processed by the user’s device.

A recent device will have better performances to display a page than an outdated one.

We recommend to optimized the page rendering:

- Windows 10

- Core I5 Processor

- 8 Go RAM

- SSD Disk

  • Network & bandwidth

- Network planning and performance tuning for Office 365.

- Firewall: check that there is no IPS (Intrusion Prevention System) filter that could slow down the page rendering.

- Identify if you have a Proxy in your network. Check if it does not cause a bottleneck and if it manages resource caching (JS / images / CSS ..). If the proxy manage the authentication, Removing this part on the Proxy can greatly improve performance.

The best is to not use a proxy for Office 365 resources.

- Check DNS resolution time: resolution route can be optimized

- Optimize / Prioritize the network flows (SharePoint, Yammer)

- Additional Microsoft resources:
Office 365 performance tuning using baselines and performance history

Performance troubleshooting plan for Office 365

  • Performance analytics

We recommend to use Azure Application Insights from the Application Performance Management (APM) service used to monitor live applications

- Detect performance anomalies

- Get powerful analytics tools to help you diagnose issues and understand what users actually do with your app

- It's designed to help you continuously improve performance and usability


Powell supports Azure Application Insights Analytics:

-Page loading time per Browser

-Page loading time per Location

We recommend to use Azure Application Insights to have the complete report of your access and not to have a test done by a single user.

Azure App insights key can be set at site collection level in Powell Manager.

Here is the documentation to generate your own App Insights key : 


Additional resources

As a partner or customer, discover additional resources on our private Learning Center like performance check lists and more...

Was this article helpful?
0 out of 0 found this helpful