how to remove index.php from url in WordPress

Last Updated: Jan 31, 2024 by

If you have a WordPress website, you may have noticed that your URLs contain “index.php” in them. This can be a hindrance to your SEO efforts, as it can make your URLs longer and less user-friendly. In this article, we will discuss how to remove “index.php” from your WordPress URLs and improve your website’s SEO.

Why Remove “index.php” from URLs?

Before we dive into the steps to remove “index.php” from your WordPress URLs, let’s first understand why it’s important to do so. Having “index.php” in your URLs can make them longer and more complex, which can be a turn-off for users. It also makes it harder for search engines to crawl and index your website, which can negatively impact your SEO efforts. By removing “index.php” from your URLs, you can make them shorter, cleaner, and more user-friendly, which can improve your website’s SEO.

Step 1: Enable URL Rewriting

Wordpress SEOby Justin Morgan (

The first step to removing “index.php” from your WordPress URLs is to enable URL rewriting. This can be done by going to your WordPress dashboard and navigating to Settings > Permalinks. From there, select the “Post name” option and click “Save Changes”. This will enable URL rewriting on your website.

Step 2: Edit .htaccess File

Next, you will need to edit your website’s .htaccess file. This file is responsible for URL rewriting on your website. You can access this file through your website’s cPanel or FTP. Once you have located the .htaccess file, add the following code to the top of the file:

RewriteEngine On

RewriteBase / RewriteRule ^index.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

Save the changes to the .htaccess file and upload it back to your website.

Step 3: Test Your URLs

Once you have enabled URL rewriting and edited your .htaccess file, it’s time to test your URLs. Go to your website and click on a few links to make sure that “index.php” is no longer present in the URLs. If you encounter any issues, you may need to contact your web host for assistance.

Step 4: Update Internal Links

After removing “index.php” from your URLs, you will need to update any internal links on your website that may still contain it. This includes links in your blog posts, pages, and menus. You can use a plugin like Velvet Blues Update URLs to easily update all internal links on your website.

Step 5: Submit Sitemap to Search Engines

Once you have successfully removed “index.php” from your URLs, it’s important to let search engines know about the changes. You can do this by submitting an updated sitemap to search engines like Google and Bing. This will help them crawl and index your website more efficiently.

By following these steps, you can easily remove “index.php” from your WordPress URLs and improve your website’s SEO. This will not only make your URLs more user-friendly, but it will also help search engines better understand and rank your website. Have you tried this method? Let us know in the comments.

Moadood Ahmad

About the Author: Moadood Ahmad

Leave a Reply

Your email address will not be published. Required fields are marked *