Site Checker Lab

Redirect checker

Every hop from the bare address to the page that finally answers, with its status code. Loops, long chains and drops to plain http are flagged.

Public websites only. We keep the hostname and drop the rest.Every redirect hop with its status code, plus loop and http flags.

How it works

We start at http:// and the hostname, so you see whether the site upgrades to https, then follow each redirect ourselves.

  1. 1Follow each LocationOne request per hop, at most 10 hops. Every new address is checked again, and private addresses are never followed.
  2. 2Flag what costs youMore than 3 hops, a hop that drops to plain http, a loop, or an address we won't follow.
  3. 3Show the final addressThe page that finally answered, with its status code. Query strings are cut from what we show.

Worked example: a login page that drops to http

Hop 1302 to https://shop.example.org/
Hop 2301 to http://shop.example.org/login, drops to plain http
Hop 3200 at https://shop.example.org/login
FixPoint the first redirect straight at https://shop.example.org/login

The chain ends on https, but the session cookie travelled unencrypted on the middle hop.

Frequently asked questions

How many redirects is too many?

One or two is normal, for example http to https and the bare domain to www. More than 3 adds a round trip each time and is flagged. More than 10 is treated as an error.

What is a redirect loop?

Two or more addresses that send the browser to each other forever. Browsers give up with an error. It is often caused by an https setting at a CDN and another at the server disagreeing.

Why is a drop to http a problem?

Anything sent on the http hop, cookies included, travels unencrypted and can be read or changed on the way. Redirect straight to the https address instead.

What is the difference between 301 and 302?

A 301 is permanent, so browsers and search engines remember it. A 302 or 307 is temporary. Use 301 or 308 for a move that will stay.

Do you show the full addresses?

We show each hop with its path but without the query string or fragment, because those can hold tokens.