Server Side Includes (SSI) is a useful feature that allows webmasters to dynamically include content on web pages without manually updating each file. This is particularly helpful for managing headers, footers, and other recurring elements across multiple pages. If you’re hosting your website on cPanel and want to enable SSI, follow this step-by-step guide to configure it correctly.
What is Server Side Includes (SSI)?
SSI is a simple server-side scripting language used to insert content from one file into another before the page is sent to the user’s browser. It helps with:
- Reducing redundancy by reusing the same code across multiple pages.
- Making site maintenance easier by updating a single file instead of multiple pages.
- Improving efficiency by simplifying content management.
By default, SSI is not always enabled in cPanel. The following steps will guide you through enabling it on your domain.
Step-by-Step Guide to Enabling SSI on cPanel
Step 1: Log into cPanel
First, you need to access your cPanel account:
- Go to your cPanel login page (usually yourdomain.com/cpanel).
- Enter your username and password, then click Log In.
Step 2: Verify Apache Server Supports SSI
Ensure your web hosting provider allows SSI. Most cPanel-based hosting providers support it, but it may need to be manually enabled.

If SSI is not enabled on your server, contact your hosting provider for assistance.
Step 3: Enable .htaccess Overrides
To enable SSI, you must allow the .htaccess
file to process directives:
- In cPanel, go to the File Manager under the Files section.
- Navigate to the root directory of your website (usually
public_html
). - Look for an existing
.htaccess
file. If you don’t see one, enable hidden files by clicking Settings (top right) and checking Show Hidden Files. - If there is no
.htaccess
file, create a new one by clicking New File and naming it.htaccess
.
Step 4: Modify the .htaccess File
Open the .htaccess
file and add the following directives to enable SSI:
Options +Includes AddType text/html .shtml AddOutputFilter INCLUDES .shtml
These lines do the following:
- Enable
Includes
for the server. - Recognize
.shtml
files as HTML files. - Allow Apache to parse
.shtml
files for SSI commands.
Step 5: Test SSI With an Example Page
Now that SSI is enabled, you need to test if it’s working:
- Go to the File Manager in cPanel.
- Create a new file named
index.shtml
in yourpublic_html
directory. - Edit this file and add the following code:
<html> <body> <h1>SSI Test Page</h1> <!--#include virtual="footer.html" --> </body> </html>
Next, create a file named footer.html
in the same directory and add the following content:
<p>This is the included footer file.</p>

Save both files and visit yourdomain.com/index.shtml
in a browser. If SSI is working correctly, you should see the footer text displayed on the page.
Step 6: Ensure SSI Works for Other Pages
To use SSI in your HTML files, rename your files with the .shtml
extension and use the <!--#include virtual="file.html" -->
directive wherever you want to dynamically include content.
Troubleshooting Common Issues
If SSI isn’t working, check the following:
- Ensure the
.htaccess
modifications were saved correctly. - Verify that files requiring SSI use the
.shtml
extension. - Check for typos in your
include
directives. - Confirm that your server supports SSI by contacting your hosting provider.
Conclusion
Enabling Server Side Includes on a cPanel-hosted website is a straightforward process that can greatly improve your site’s maintainability by allowing content reuse across multiple pages. By properly configuring .htaccess
and using the correct file extensions, you can take full advantage of SSI’s capabilities.

If you encounter any issues, speak with your hosting provider or consult the Apache documentation for further assistance.