How to Perform an Index Redirect: Redirecting index.html and index.php to Your Home Page: When migrating or updating a website (especially moving from a static site to a CMS like WordPress) one common SEO task is properly redirecting old URLs to new ones. This includes redirecting your index.html
or index.php
files to the root of your domain (the homepage) to avoid duplicate content issues and improve user experience.
I recently did some website work for a local business. The business was using a static html website and we wanted to convert the site to a WordPress based platform for multiple reasons.
Homepage Index Redirection

During the conversion, I needed to not only perform 301 redirects for all of the currently indexed html pages, but also perform a redirect for the index.html page. This was a bit more complicated as you cannot simply perform a 301 redirect on an index page. Here is how I did it.
Why Redirect index.html or index.php to the Home Page?
Many servers serve index.html
or index.php
files as the default homepage. However, these URLs can be indexed separately by search engines, creating duplicate content. Redirecting these files to the root URL (e.g., https://www.yoursite.com/
) helps:
- Consolidate page authority and ranking signals to a single URL.
- Prevent duplicate content penalties.
- Ensure consistent URLs for users and search engines.
- Improve crawl efficiency.
How to Redirect index.html and index.php to the Root/Home Page Using .htaccess
If your website is running on an Apache server, you can use the .htaccess
file to set up 301 (permanent) redirects that tell search engines and browsers that the content has moved permanently.
Step-by-Step Guide:
- Access your server files via FTP or hosting control panel
Use an FTP client (like FileZilla) or your hosting file manager to connect to your website’s root directory. - Download your existing
.htaccess
file
Make a backup by downloading the current.htaccess
file to your computer before making changes. - Open
.htaccess
in a text editor
Use a plain text editor like Notepad++ or similar. - Add the following redirect rules to the top of the file:
Options +FollowSymLinks RewriteEngine On # Redirect index.html to root RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^\s]+)?/index\.html [NC] RewriteRule ^(.*)index\.html$ https://www.yoursite.com/$1 [R=301,L] # Redirect index.php to root RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^\s]+)?/index\.php [NC] RewriteRule ^(.*)index\.php$ https://www.yoursite.com/$1 [R=301,L]
Replace
www.yoursite.com
with your actual domain name. - Save and upload the
.htaccess
file back to the server
Overwrite the existing file to apply the changes.
Notes:
- These redirects use HTTP 301 status codes, which indicate a permanent redirect and pass SEO value to the new URL.
- If you’re using WordPress, it may already handle
index.php
redirects, but adding these rules ensures consistency and better SEO. - Test your redirects after uploading to confirm they work properly using tools like HTTP Status Checker.
By following this guide, you ensure that any requests to index.html
or index.php
will be properly redirected to your homepage, improving your site’s SEO and user experience.
Enjoy!