screenshot of inLinks Internal Link audit

InLinks has the ability to fix or redirect your static internal (and external) links on your site. When you have added the javascript code. This can be extremely handy because, over time, web pages change URLs, and links can break for a number of reasons. But trying to get the attention of the development team or the original writer of an article might be tough. Understanding “Status codes” of links is very helpful (and pretty simple, even if you do not program).

Common Status Codes Explained

Table of All Status Codes

What is a Status Code of a URL?

A Status Code is checked whenever your web browser (such as Chrome or Safari) tries to load a web page. Most of the time, the code returned should be a “200” response. This means there is a proper web page at that URL and the browser can go ahead and load the page.

Sometimes, however, something goes wrong and there is no actual page on the other end of the link. When this happens, the user (or a bot like GoogleBot) will not see a web page. InLinks audits hard coded (static) links and checks to see if any are not showing the expected “200” response. Knowing what these status codes mean can also help you fix them easily, either within InLinks or directly on the site.

Most Common Status Codes (For SEO)

200 Status Codes

You would normally like EVERY link on your site to resolve as a “200” code. It means a web page is expected. If you run an internal linking audit and ALL your links are 200 responses, give your developers a pat on the back. Go and enjoy a cup of tea.

3XX Status Codes

A 301, 302 or 307 status code implies that the page you are linking to is redirecting to another URL. This is usually fine, as long as the redirection is to a “200” response, but is not so good if it jumps through multiple redirections before the user sees a web page. Multiple redirects can slow down the user experience and can also reduce a search engine’s confidence in the link. If you are an SEO, the objective is to make all redirections a “single hop” 301 response. This means that if you have to redirect a link, you do it once, and you do it permanently. A 302 is also usually fine for search engines, but in fact means that the redirection is “temporary” and may at some point change. A 307 is rare, but is a more explicit statement that the redirection is only temporary. Do not use a 307 unless you mean it.

4XX Status Codes

By far the most common code in this category is a “404” status code. This means no page was found at the URL requested. This, then, is the very definition of a broken link! It is a good thing you are on hand to fix it. You should aim to reduce 4XX codes to nil, by using 301 redirects (or by fixing the broken links directly). Redirect these broken links to more appropriate pages or remove the links altogether.

If there are hundreds of 4XX errors on your site, it is likely that a page that was previously linked by all pages has been removed from the site. In these cases, a better idea might be to resurrect the deleted page. You will have to look at how the broken links look on the site to make that call. It might be a menu link or footer link, which is best fixed at source.

Another newbie error for SEOs is to redirect ALL 404 errors back to the home page or create a situation where no 404 pages exist because the 404 error message page itself redirects. Google calls this a “soft 404” and generally does not like this. You will find they report this issue in Google Search Console.

5XX Status Codes

5XX status codes (usually 500 status codes) are generally a more serious problem. It means there is an error accessing the server of the domain itself. If you see these in an External static links report, just fix them with a 301 redirect or remove them in InLinks or on the site. If, however, you see these reports on your internal static links report, then you should take the time to understand what is happening. It might simply be a mistyped link to a subdomain, but it could also mean that some database is broken on the site itself. In this case, you should probably escalate the issue to the development team or system administrator if you have one.

999 Status Code

The 999 status code is usually seen on Linkedin profiles. It means that the server is being hit too hard. Try again later and things might be better.

All Status Codes

Status Code Category          Description                                                                                  
 1xx         Informational        Request received, continuing process.
 100         Continue             Server received request headers; client should send request body.
 101         Switching Protocols  Requester asked server to switch protocols and server acknowledged.
 102         Processing           Server received and is processing request, but no response available yet.
 103         Early Hints          Early Hints
 2xx         Successful           Action successfully received, understood, and accepted.
 200         OK                   Standard response for successful HTTP requests.
 201         Created              Request fulfilled, resulting in new resource being created.
 202         Accepted             Request accepted for processing, but not completed.
 203         Non-Authoritative InfoServer is transforming proxy that received 200 OK from origin but is returning modified version.
 204         No Content           Server processed request successfully and is not returning content.
 205         Reset Content        Server processed request successfully, asks requester to reset document view.
 206         Partial Content      Server delivering only part of resource due to range header sent by client.
 207         Multi-Status         Message body is XML message and can contain multiple response codes.
 3xx         Redirection          Further action needed to complete request.
 300         Multiple Choices     Indicates multiple options for resource that client may follow.
 301         Moved Permanently    This and future requests should be directed to given URI.
 302         Found                Tells client to look at another URL.
 303         See Other            Response to request can be found under another URI using GET method.
 304         Not Modified         Resource not modified since version specified by request headers.
 305         Use Proxy            Requested resource available only through proxy, address provided in response.
 307         Temporary Redirect   Request should be repeated with another URI, future requests can use original URI.
 308         Permanent Redirect   Request and future requests should be repeated using another URI.
 4xx         Client Error         Request contains bad syntax or cannot be fulfilled.
 400         Bad Request          Server cannot or will not process request due to perceived client error.
 401         Unauthorized         Similar to 403 Forbidden, but for use when authentication required and has failed or not provided.
 403         Forbidden            Request valid, but server refusing to respond.
 404         Not Found            Requested resource not found but may be available again in future.
 405         Method Not Allowed   Request made of resource using method not supported by resource.
 406         Not Acceptable       Requested resource only capable of generating content not acceptable according to Accept headers.
 407         Proxy Authentication RequiredClient must first authenticate with proxy.
 408         Request Timeout      Server timed out waiting for request.
 409         Conflict             Request could not be processed due to conflict.
 410         Gone                 Requested resource no longer available and will not be available again.
 411         Length Required      Request did not specify length of content, required by requested resource.
 412         Precondition Failed  Server does not meet one of preconditions put on request.
 413         Payload Too Large    Request larger than server willing or able to process.
 414         URI Too Long         URI provided too long for server to process.
 415         UnsupportedMedia TypeRequest entity has media type not supported by server or resource.
 416         Range Not SatisfiableClient asked for portion of file, but server cannot supply it.
 417         Expectation Failed   Server cannot meet requirements of Expect request-header field.
 5xx         Server Error         Server failed to fulfill apparently valid request.
 500         Internal Server ErrorGeneric error message, given when no more specific message suitable.
 501         Not Implemented      Server does not recognize request method or lacks ability to fulfill request.
 502         Bad Gateway          Server acting as gateway or proxy and received invalid response from upstream server.
 503         Service Unavailable   The server is currently unavailable (because it is overloaded or down for maintenance).          
 504         Gateway Timeout       The server was acting as a gateway or proxy and did not receive a timely response from the upstream server.
999Request DeniedUsually this means “slow down” especially on Linkedin
Source: Wikipedia as of April 2024, annotated

InLinks easily checks all internal links on a site as well as external links pointing out of a site. With this Internal link audit, you can easily see:

  • internal linking opportunities and gaps
  • Redirect or remove static lnks that are not correct
  • Automatically insert links into a site, with a single line of JavaScript!

Sign up or log in to inlinks here.