CodeNewbie Community 🌱

tasobo
tasobo

Posted on

Flywheel Growth Suite White Label Managed WordPress Hosting

Grow your agency more quickly and predictably

Growth Suite replaces unorganized spreadsheets and extra costs with one dashboard for client and site management, reporting, billing, reselling managed WordPress hosting, and more.
With our personalized dashboard and easy-to-digest data at your fingertips, you’ll have the information and confidence you crave to earn monthly recurring revenue and scale your agency.

Level up your client management

As your agency grows, managing all active clients can become tricky—Growth Suite’s client management tools can help! With our client portal, agency-branded client reports integrated with Google Analytics, CRM, and email communication, you can easily scale your agency as you take on new clients and look professional while doing so.

Prove your value to clients with branded reports

Stop manually preparing and sending out client reports. With Growth Suite, you can easily create and schedule agency-branded reports for your clients with integrated Google Analytics, site performance updates, and any recent work done on their site. Proving your value to clients has never been easier!

Resell managed WordPress hosting and more

Earn monthly recurring revenue by including Flywheel’s services in your monthly maintenance packages, like managed WordPress hosting, Managed Plugin Updates, and more! Sell our services on top of existing services you’re already offering, of course.

This Hosting Supports Leverage Caching in Browser For Apache Server

#Customize expires caching start - adjust the period according to your needs
<IfModule mod_expires.c>
  FileETag MTime Size
  AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
  ExpiresActive On
  ExpiresByType text/html "access 600 seconds"
  ExpiresByType application/xhtml+xml "access 600 seconds"
  ExpiresByType text/css "access 1 month"
  ExpiresByType text/javascript "access 1 month"
  ExpiresByType text/x-javascript "access 1 month"
  ExpiresByType application/javascript "access 1 month"
  ExpiresByType application/x-javascript "access 1 month"
  ExpiresByType application/x-shockwave-flash "access 1 month"
  ExpiresByType application/pdf "access 1 month"
  ExpiresByType image/x-icon "access 1 year"
  ExpiresByType image/jpg "access 1 year"  
  ExpiresByType image/jpeg "access 1 year"
  ExpiresByType image/png "access 1 year"
  ExpiresByType image/gif "access 1 year"
  ExpiresDefault "access 1 month"
</IfModule>
#Expires caching end
Enter fullscreen mode Exit fullscreen mode

This Hosting Also Supports Leverage Caching in Browser For Nginx Server

1. Open NGINX Server configuration

Open terminal and run the following command to open NGINX server configuration file.

$ sudo vi /etc/nginx/nginx.conf
Enter fullscreen mode Exit fullscreen mode

If you have configured separate virtual hosts for your website (e.g www.example.com), such as /etc/nginx/sites-enabled/website.conf then open its configuration with the following command

$ sudo vi /etc/nginx/sites-enabled/website.conf
Enter fullscreen mode Exit fullscreen mode

Bonus Read : How to Remove Trailing Slash in NGINX

2. Enable Leverage Browser Caching

Add the following 3 lines in your NGINX server configuration file to cache static content in NGINX

expires 30d;
add_header Pragma "public";
add_header Cache-Control "public";
The first line instructs NGINX to cache content in client browser for 30 days (30d). You can change this cache duration as per your requirement. After this period, any new request from user will result in cache re-validation and update from the client browser.

The next couple of lines are used to set cache related headers.

You can place the above lines in location, server or http blocks.

location /static/ {
 expires 30d;
 add_header Pragma "public";
 add_header Cache-Control "public";
}
Enter fullscreen mode Exit fullscreen mode

When you place them in location block, only the content served by that location will be cached. In the above case, only requests to /static/ will be cached.

If you want to cache specific file types, you can do so using location block.

location ~* \.(js|jpg|jpeg|gif|png|css|tgz|gz|rar|bz2|doc|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|woff|woff2|svg)$ {
 expires 30d;
 add_header Pragma "public";
 add_header Cache-Control "public";
}
Enter fullscreen mode Exit fullscreen mode

In the above example, we are caching various file types such as js, jpg, css, etc.

Similarly, you can place cache configuration in server block before any location block. In this case, all responses from this server will be cached.

server {
 ...
 expires 30d;
 add_header Pragma "public";
 add_header Cache-Control "public";
 ...
}
Enter fullscreen mode Exit fullscreen mode

You can may also place the cache configuration in http block, before any server block.

http {
 ...
 expires 30d;
 add_header Pragma "public";
 add_header Cache-Control "public";
 ...
}
Enter fullscreen mode Exit fullscreen mode

In this case, all server requests supported by the configuration file will be cached.

Typically, websites cache content from a specific folder, or having specific file extensions, using location block.

3. Restart NGINX Server

Run the following command to check syntax of your updated config file.

$ sudo nginx -t
Enter fullscreen mode Exit fullscreen mode

If there are no errors, run the following command to restart NGINX server.

$ sudo service nginx reload #debian/ubuntu
$ systemctl restart nginx #redhat/centos
Enter fullscreen mode Exit fullscreen mode

Hopefully, this article will help you enable leverage browser caching in NGINX.

Reference Blog
Flywheel Growth Suite White Label Managed WordPress Hosting

Top comments (0)