What is a 303 Redirect?
- 1 What is a 303 Redirect?
- 2 What Causes a 303 Status Code?
- 3 Problems With the 303 Status Code
- 4 How Do You Fix a 303 Status Code?
- 5 Wrapping Up
When you enter a URL in your browser but end up on a different URL, a redirect has occurred. Often, these redirects are purposeful and function correctly. You want to land on a certain blog post or web page, and you end up on the content you’re after, even if the URL looks different.
The internet doesn’t always work flawlessly, though. Sometimes, you don’t end up where you wanted. In this case, you may see an HTTP 303 status code.
What is a 303 Redirect?
According to Mozilla, a 303 redirect response code “indicates that the redirects don’t [sic] link to the requested resource itself.” Instead, it links to a different page.
Techopedia further explains, “A 303 redirect is a response to an HTTP status code 303, which is also called a ‘See Other’ status code.” This type of redirect is “a response to a request for a Unified Resource Identifier (URI) that identifies a real-world object.”
Put another way, if you’re trying to navigate to a URL, but the browser can’t find that URL because the page has been moved, you’ll see a 303 status code.
We have to get further into the topic to explain how this works. In general, though, a 303 status code means (a) there’s a redirection set up and (b) it’s not working as intended.
Servers and Status Codes
Without a fundamental understanding of servers and status codes, it’s hard to grasp the meaning of a 303 redirect.
All the components of a website live (or are “hosted”) on a web server. When a web browser needs a website file (as in, a web page), it uses HTTP to ask the server for the file. The server then finds the file and sends it to the browser via HTTP.
Here’s a graphic from Mozilla that illustrates the process:
A three-digit status code (or HTTP status code) is part of the server’s response to the browser request. The status code tells the browser either “everything is fine, here’s your file!” or “something’s wrong and needs to be addressed.”
300-Level Redirection Status Codes
Status codes that begin with “3” mean a redirection occurred — the request was received by the server, but there’s some type of redirection. In other words:
- The browser requests a file from the server.
- The server receives the request.
- The server sends something back to the browser that’s different from what was requested.
That could mean that the server sends the right content to the browser, but it was in a different location than expected. It could also mean that the file was found in a different place than expected and the content is different from what was expected.
For example, let’s say you have two blog posts that cover similar topics. You combine them into one page to maximize the SEO potential. You don’t want to delete the blog post you’re no longer using — that’ll impact the link juice it’s already acquired. Instead, you redirect it to the new blog post using a 301 redirect.
Or, maybe you’re updating a web page, and you temporarily need visitors to go to another page until you’re finished. In that case, you’d use a 302 redirect.
In those cases, the 301 or 302 status code means everything is working fine. However, a 303 status code means that something’s not working as expected.
What Causes a 303 Status Code?
303 status codes aren’t common. If you see one when you try to navigate to a page on your website, it could mean that your web browser’s redirection software isn’t working correctly or that the server is glitching. It’s also possible that the redirection wasn’t set up correctly.
In technical terms, here’s what happens when you see a 303 status code:
- You try to go to a specific URL.
- The browser (probably) sends a PUT, POST or DELETE request.
- The server receives the request.
- The URL doesn’t go to the correct source. Instead, the redirect goes to a different page.
- The server uses a 303 status code to tell the browser the page isn’t available.
- The browser needs to send a new GET request to the server to get the correct page.
Note that a 303 status code doesn’t necessarily mean there’s an error. It just means that the server is sending you somewhere new. Yes, there may be an issue that you want to fix, but the status code itself isn’t saying “something’s broken.” For example, maybe the resource was moved to a different URL, or it’s no longer available to the public.
Problems With the 303 Status Code
In addition to not finding the information you’re after, a 303 status code can lead to the following problems:
- Caching: The caching proxy has trouble caching resources because it can only do so if there’s a 200 status code.
- Infinite Loops: When a page redirects back to the original resource (URL A > URL B > URL A), an infinite loop is created.
- Performance: Uncached 303 resources increase bandwidth, which can cause poor website performance.
On top of that, it can also impact the user experience (UX). When a visitor can’t find what they want, regardless of how well your website performs otherwise, they may click off, find the resource elsewhere and never bother returning to your site again.
How Do You Fix a 303 Status Code?
There are times when fixing a 303 status code is out of your hands, and there are also instances when you can troubleshoot the problem.
Reload the Page
If you have trouble with a link, try reloading the web page. For web browser or server glitches, simply reloading the page can fix the problem. It may not work right away, so wait a few minutes and then try again. Web browser and server problems are out of your hands, and sometimes this is all it takes to correct the problem.
Access the Link a Different Way
It’s possible that there’s a problem with the link and/or the redirection wasn’t set up properly. To recap, here’s how redirection works:
- You want users who click or type in a link for Page A to automatically go to Page B.
- You set up a redirect for Page A > Page B.
- Now, when a visitor navigates to Page A, they’re automatically taken to Page B. They may not even realize it happens.
But if there’s a problem with the Page B URL or if the redirection wasn’t set up correctly, you could see a 303 status code. First, go directly to Page B and make sure the link works. If it does, check the redirect you set up to make sure you didn’t enter something incorrectly.
View the Server Logs
Your web host should have a server log that tracks activity, including the pages requested and the results of those requests. Accessing the server log could help you figure out what’s triggering those 303 redirects. You can either contact your host for help or Google something like “how to find server logs [host name]” to try to find a how-to article that will walk you through the process.
Check the Server Configuration
From your host’s dashboard, you should be able to find your website’s SFTP files. You need to find the root directory, which may be your website name or something like public_html. From there, you want the .htaccess file.
Instead of making changes directly to the file, download it and then open it up. It’ll look something like this:
See if there’s “303” by any of the RewriteRule entries. If there is, contact your host to ask if they can comment it out, then check if that clears up the problem.
Debug Your Client Application
If there’s custom code that’s causing a 303 error, you’ll want to seek it out. The easiest and safest way to do this is by using the WP Debugging WordPress plugin (or a similar plugin). It finds issues and helps you debug your website without having to access the files yourself.
While you probably won’t see a 303 status code often, it can be frustrating to come across one on your own website. Knowing what’s causing the problem and how to resolve it can take time, patience and possibly more technical experience than you have. That’s where reliable customer support from your host comes in handy. To understand how redirects SEO, check out our article about it.