---
title: "#redirects — seo-mcp"
description: "SEO tips tagged Redirects."
url: "https://seo-mcp.io/tag/redirects"
---

# #redirects

8 published tips tagged “Redirects”.

- [Fix internal links to 404 pages](https://seo-mcp.io/t/fix-internal-links-to-404-pages) — Internal links to 404 pages waste crawl budget and strand visitors. Crawl the site, list every target that returns 404 or 410, and trace the linking pages. Then either update the link to a live URL or add a redirect when a real replacement exists. Re-crawl to confirm zero broken internal links.
- [Fix soft 404 pages properly](https://seo-mcp.io/t/fix-soft-404-pages-properly) — A soft 404 returns HTTP 200 while showing missing-content copy. Google keeps it indexed and wastes crawl budget on empty templates. Find these URLs in the Page indexing report, then make missing content return a real 404 or 410 and keep 200 only for pages with genuine value.
- [Use descriptive URL slugs](https://seo-mcp.io/t/use-descriptive-url-slugs) — Descriptive slugs help users and give crawlers a topical hint. Keep them short, lowercase, hyphenated and stable. When a slug must change, redirect the old path with a single 301 and update internal links. Avoid dates, session IDs and uppercase characters that create duplicate URLs.
- [Fix redirect chains and loops](https://seo-mcp.io/t/fix-redirect-chains-and-loops) — A redirect chain adds latency and leaks crawl signals. Point each legacy URL directly at the final destination, use 301 or 308 for permanent moves, and keep the map in source control. Audit with curl -IL and update internal links so chains stop growing.
- [Return true 404s with notFound()](https://seo-mcp.io/t/return-true-404s-with-notfound) — A route that renders an empty template with status 200 is a soft 404: crawlers index it and users see nothing. Call notFound() when a record is missing or the slug is invalid, add app/not-found.tsx for the layout, and confirm the response status over HTTP. Keep redirects for moved content and reserve notFound() for genuinely absent pages.
- [Return correct status codes for removed pages](https://seo-mcp.io/t/return-correct-status-codes-for-removed-pages) — Status codes are the first thing a crawler reads. Use 404 for URLs that never existed or may return, 410 for content removed for good, and 301 only when a real replacement exists. Check the status at the edge, because CDNs and rewrites routinely turn a correct framework 404 into a 200.
- [Move redirects into next.config redirects()](https://seo-mcp.io/t/move-redirects-into-next-config-redirects) — next.config redirects run before rendering and return 308 for permanent rules, so old URLs keep their signals without shipping JavaScript. Move server-side redirect maps into redirects(), mark permanent changes permanent, scope rules with has and missing, and keep temporary campaigns separate. Verify with curl that each old path returns one hop and the expected status.
- [Shorten and clean URL slugs for on-page SEO](https://seo-mcp.io/t/shorten-and-clean-url-slugs-for-on-page-seo) — Rewrite each page's URL slug to two or three lowercase, hyphen-separated words built around the primary keyword. Drop underscores, capital letters and dates or numbers that do not describe time-sensitive content. Cleaner slugs are easier to read in search results and restate the target keyword in the URL; apply the rule to new content and templates first.
