Managing WordPress Redirects at the Server-Level (No Plugin)

WordPress redirects are always a pain to have to manage. I have hundreds (probably thousands) of 301 redirects scattered across multiple sites due to changing URLs, forwarding content to new places, etc. For the past couple years I have simply been using the free Simple 301 Redirects plugin. But this evening I migrated all of my 301 redirects to Kinsta’s dashboard. Check out how I am now managing my WordPress redirects at the server-level and some of the benefits of doing so.

WordPress Redirects – Performance Issues

To put it simply, every redirect you add to your site is going to affect performance, even if just a little bit. The big problem with a lot of the popular WordPress plugins is that they use the wp_redirect function (especially for those of you running on NGINX). This means every incoming redirect is going to have to execute PHP code on your server to process and forward the request.

redirects are slow
Img src: compressed GIPHY

While this might not sound bad, imagine you have 2,000 redirects (which is more common than you think) and your site gets 500,000 visitors per month. More than likely there are going to be a lot of people hitting your redirects. Especially if you have moved a lot of content around and 3rd party sites have backlinks which are now redirected. A better way to handle WordPress redirects is at the server-level. This way you can bypass a layer and not have to execute any code on your site.

Migrating WordPress Redirects to Kinsta

I migrated all of my 301 redirects to Kinsta within a matter of a few minutes thanks to a few simple tricks. I was then able to delete my Simple 301 Redirects plugin and never have to worry about that slowing down my dashboard or affecting the front-end ever again. Another benefit is that I no longer have to worry about running plugin updates for the plugin or ensuring that the developer keeps it in compliance with changes in WordPress core. Getting rid of a plugin is always a good thing!

And in fact, I much prefer managing the redirects now from the Kinsta dashboard as it is simple, clean, and fast. Follow the steps below that I took to migrate my redirects.

Step 1

The first thing I did was download and install the free Export Simple 301 Redirects to CSV plugin. This makes it super easy to grab all your redirect data in a matter of seconds!

Step 2

I then went into my plugin list and clicked on “Export” on the plugin’s options.

export wordpress redirects to csv
Export WordPress redirects to CSV

This downloads a CSV file for you which contains all of your redirects. You can see a snippet of mine below.

301 redirects CSV
301 redirects CSV

Step 3

Kinsta has a bulk CSV import feature which works great, but it has to be in the supported format for the import to work properly. Here is an example:

301,all,/oldpath,https://newlocation.com/newpath

I open it in Google Sheets and simply add a column with the 301 status and the “all” for the domains I want it on, www or non-www. I want it to apply to both.

Edit 301 CSV
Edit 301 CSV

Step 4

I then download it as a CSV file (comma-separated values).

download comma separated values
Download comma separated values

Step 5

I then login to the MyKinsta dashboard, click into Redirects on my site, and then on “Bulk Import.”

bulk import redirects kinsta
Bulk import redirects in Kinsta dashboard

Step 6

I then open up the CSV I just downloaded, copy the contents, and paste into the “Import Redirect Rules” box in the Kinsta dashboard. I then click on “Import Redirects.”

add wordpress redirect rules
Add WordPress redirect rules

And that’s it! I can then manage all of the redirects from right within the Kinsta dashboard.

manage wordpress redirects
Manage WordPress redirects

Step 7

I then double check a few redirects to ensure they are working properly. What I do is remove a few individually from the Simple 301 Redirects plugin page. I then throw in the original URL into the redirect checker tool. For a proper 301 redirect you want to see a status of “301 moved permanently” on the original request and then a status 200 on the final request.

check 301 redirect
Check 301 redirect

Step 8

And last but not least, I delete my Simple 301 Redirects plugin, as well as the Export Simple 301 Redirects to CSV plugin from my WordPress site.

Summary

As you can see, migrating my 301 redirects to Kinsta only took a few minutes. I was then able get rid of my 301 redirect plugin and now have one less thing to worry about on my WordPress site. I would love to hear your thoughts. Are you currently using a 301 redirect plugin? What are your thoughts on managing them from the server-level?

author bio
Brian Jackson

I craft actionable content and develop performance-driven WordPress plugins. Connect on X, subscribe to my newsletter (once a month), or buy me coffee.

2 thoughts on “Managing WordPress Redirects at the Server-Level (No Plugin)”

  1. Brian, I totally agree with not using a plugin/wp_redirect. I wonder how what Kinsta is doing here compares to redirecting from an .htaccess file, performance-wise? I just redirected a handful of subdirectories for a client using that method.

    Also, as an aside, I just perused your site with the Brave browser and the page load speeds were mind-boggling. Most pages were loading at .72-ish seconds. (Brave actually tells you the page load speed in the address bar by default.) Nice work! Brave is pretty amazing, too. I’m a big fan so far. Have you checked it out?

    Reply
    • Using .htaccess would be very similiar, however NGINX is much faster than Apache in my opinion. There is a reason Kinsta, WP Engine, WordPress VIP, Pagely, Pantheon, etc… all use NGINX :)

      Awesome, glad you are seeing fast load times on this site. I haven’t tried Brave yet. Will have to do that.

      Reply

Leave a Comment