HTTP 301 Moved Permanently
The resource has moved to a new URL permanently. Clients should update bookmarks; search engines transfer link equity.
What it means
301 is the redirect to use when you've moved content permanently. Browsers update bookmarks. Search engines pass ~all of the link equity from the old URL to the new one. Mobile carriers and proxies may cache aggressively, so 301s are essentially uncacheable in reverse — the user can't easily get back to the old URL after a 301.
Use 301 for permanent moves: changing a URL structure, consolidating duplicate URLs to a canonical, or migrating to a new domain. For temporary moves (A/B tests, maintenance), use 302 instead.
Common causes
- URL structure changed (e.g. /old-path → /new-path)
- Domain migration (e.g. uptime.example.com → uptimera.com)
- HTTPS upgrade redirect from http:// to https://
- Trailing slash normalization
How to fix it
- 1Update internal links to point at the new URL directly to avoid the redirect hop
- 2Confirm the Location header is an absolute URL or correctly-formed relative path
- 3If undesired, find the redirect rule (in nginx/Caddy/Cloudflare/your app) and remove or correct it
How Uptimera reports 301
Uptimera follows 301/302 redirects by default and reports the final status. You can disable redirect-following per monitor if you specifically need to detect when a redirect appears.
Related codes
Found
Temporary redirect. Resource is at a different URL right now but will be back at the original.
Temporary Redirect
Like 302 but explicitly preserves the original HTTP method and body.
Permanent Redirect
Permanent version of 307. Method is preserved across the redirect, link equity transfers.
Catch 301s before your customers do
Uptimera monitors your URLs from multiple regions and alerts the moment a 301 starts firing. Free plan included.