Search
Enter at least two characters without personal information.

    LibraryArticles & FAQ Your projectRequest a quote
    LanguageEN
    Practical guides

    Fix 404 pages and broken links usefully

    A missing page is not always a fault: content may have been removed deliberately. Trouble starts when a promised link ends abruptly or a redirect misleads the visitor.

    Go to the method

    Illustration of website project planning: Fix 404 pages and broken links usefully

    Distinguish error sources

    Fictional URL split into HTTP target GET /guide-demo/?lang=fr and fragment #documents to find in the rendered page.
    Illustration · Fictional example: the navigation request keeps the lang=fr query; #documents targets an HTML element in the browser here. A 200 does not check that element.

    Record the requested URL, referring page, frequency and date. A typo in an internal link should be fixed at source; an old external link may warrant a redirect; a guessed address does not automatically need a new page.

    Check slash variants, old campaigns and downloads. Server logs and monitoring tools reveal different cases. Prioritise addresses linked from the site or actually requested.

    Fictional exercise: /guide-demo/?lang=fr#documents should open an HTML section. The navigation request target contains /guide-demo/?lang=fr; the browser handles #documents separately. A 200 status can therefore be correct even if id="documents" has disappeared from the rendered HTML. A status-only check misses that broken destination.

    Test the HTTP response, returned content and promised location separately. For a conventional HTML anchor, check the ID in the rendered page and arrival by keyboard, including after translation. Correct the source link or restore a stable ID where appropriate. A server rule cannot choose a redirect from a fragment absent from the request target; distinguish this from application routing handled by JavaScript.

    • URL and source recorded.
    • Internal link fixed at source.
    • Priority follows real use.

    Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.

    Page, content and anchor: three distinct checks
    Fictional observationWhat the result establishesCheck or correction
    Page URL returns 404The server reports a missing resourceCorrect the source or select a genuinely equivalent replacement
    Page returns 200, id="documents" absentThe page responds but the promised section is missingCheck rendered HTML and correct the link or its ID
    Page returns 200 in another languageHTTP success does not validate the intended languageCheck destination and wording in each edition
    301 then 200 to an unrelated pageThe redirect completes without proving equivalenceCompare final content with the link’s intention

    Choose status and destination

    If content has a clear equivalent, redirect directly to it. If it disappeared without replacement, keep a genuine 404 or 410 as appropriate and offer useful navigation. Sending every error to the homepage loses context.

    Avoid redirect chains and loops. During a migration, use a map of old and new addresses. The migration guide explains this choice.

    • Real equivalent before redirect.
    • Missing status retained where needed.
    • No chains or loops.

    Help on the error page

    The 404 page should plainly say the address has no matching content, then offer reliable routes: main navigation, search, categories or contact as appropriate. Do not promise the page will return unless that decision has been made.

    Test the error page on phone and by keyboard. It must retain the correct HTTP status, a clear heading and working links. An attractive illustration cannot replace a concrete way forward.

    • Clear, non-blaming message.
    • Exit links work.
    • HTTP status correct.

    Watch after changes

    After publishing, renaming or removing content, check internal links, sitemap and several important old addresses. Repeat a few days later: links from emails, bookmarks and partners may then emerge.

    Record the fix and its outcome. A still-visited URL may indicate an external link to update or a content need. The content operations guide helps plan removals.

    • Post-release check.
    • Old URLs tested.
    • Fixes documented.

    Choose a relevant repair

    Cards linked with thread, with one connection interrupted
    Choose a destination that still answers the original request.

    Proposed case: an old link points to the homepage after an offer disappears. The visitor reaches a valid page but loses the expected answer.

    Find an equivalent destination or clearly explain withdrawal. Check incoming links, server state and final journey; successful redirection does not establish content equivalence.

    • Identify the link's intent
    • Justify the chosen destination
    • Test arrival and content

    Reference documents

    Content updated on

    Read an HTTP response before fixing the page

    Choose a situation to separate the status meaning, the useful check and the pitfall. This reader explains cases; it does not test any address.

    Choose a response for the state of the resource
    The response status and the displayed content should tell the same story.
    200Available page
    What it means
    The request succeeded. For an HTML page, also examine the returned content.
    What to check
    Check the title, main content and language, then the canonical and indexing directives.
    Watch out for
    A “not found” page returning 200 may become a soft 404. HTTP success does not guarantee indexing.
    301 / 308Permanent move
    What it means
    301 and 308 indicate a permanent new address. 308 explicitly preserves the method and body; with 301, a client may change POST to GET.
    What to check
    Open the old URL and check Location, a relevant destination and the absence of chains or loops.
    Watch out for
    Do not redirect every old page to the home page. For a form, also check the method expected at the destination.
    302 / 307Temporary move
    What it means
    302 and 307 indicate a temporary change. 307 preserves the method and body; with 302, a client may change POST to GET.
    What to check
    Check that the destination is available and that a return to the original address is planned.
    Watch out for
    A temporary redirect does not describe permanent removal. Do not replay a payment or order without checking its state.
    404 / 410Missing or removed resource
    What it means
    404 does not say whether the absence is temporary or permanent. 410 indicates a likely permanent removal.
    What to check
    Look for a broken link, a changed URL or deliberate removal. Offer a replacement only when it meets the same need.
    Watch out for
    A helpful error page must retain the actual 404 or 410 status. An error message with 200 does not fix the absence.
    429Too many requests
    What it means
    429 indicates request rate limiting. A Retry-After header may say when to try again.
    What to check
    Examine the limit’s scope and Retry-After. Slow down requests and bound retries.
    Watch out for
    Avoid immediate retry loops. Without an HTTP response, a network failure is not a 429 status.
    503Temporarily unavailable service
    What it means
    503 fits temporary unavailability, such as maintenance or overload. Retry-After may provide a delay or date.
    What to check
    Check the actual status, affected scope and return to normal service. Remove the notice after recovery.
    Watch out for
    Do not replace all pages with an error indefinitely. Persistent 5xx responses can eventually cause Google to remove URLs from its index.

    Technical references : RFC 9110 §15 · RFC 6585 §4 · Google · HTTP.

    Acceptance matrix to adapt to your project

    These proposed checks use synthetic cases. Decide the required behaviour with the team, record the result and assign unresolved gaps before release.

    Scroll the table horizontally to read every column. With a keyboard, focus the table area and use the arrow keys.

    Test cases, expected outcomes and useful evidence
    CaseExpected outcomeEvidence to retain
    An invented address displays the home page with HTTP 200.It returns 404 with relevant guidance.Requested nonexistent URL, received 404 status and working recovery links in the response.

    Frequently asked questions

    Should missing pages return HTTP 200?

    Useful guidance can retain a missing-page status. False success hides the problem from tools and search engines. Redirect when an actual relevant replacement exists. Otherwise explain the issue and offer navigation or contact without pretending the resource exists.