404 Did You Mean

Left-aligned 404 for documentation and marketing sites: the requested path is shown struck through in monospace above a did-you-mean box linking to the closest matching page.

FREE

Error9: 404 Did You Mean

A left-aligned 404 for sites where URLs move: the address that failed is printed struck through in monospace, and directly beneath it a did-you-mean box links to the closest matching page.

Free block

This block is free. No license or account is required: install it with the CLI and use it in unlimited projects.

Installation

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/error9"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/error9"

This installs the block to components/beste/block/error9.tsx, plus the button shadcn/ui primitive it uses for the closing action.

Quick start

The installed file exports error9Demo alongside the block: the exact props behind the preview above. Spread it to get a working page in one line.

tsx
import { Error9, error9Demo } from "@/components/beste/block/error9";

export default function NotFound() {
  return <Error9 {...error9Demo} />;
}

Feed it the real pathname and whatever your redirect map suggests:

tsx
"use client";

import { usePathname } from "next/navigation";
import { Error9 } from "@/components/beste/block/error9";

export default function NotFound() {
  const pathname = usePathname();

  return (
    <Error9
      code="404"
      heading="That page moved"
      description="We could not match this address, but one page comes close."
      requestedPath={pathname}
      suggestionLabel="Did you mean"
      suggestion={{ label: "/docs/getting-started", href: "/docs/getting-started" }}
      button={{ label: "Back to home", href: "/" }}
    />
  );
}

Props

PropTypeDefaultDescription
codestringSmall uppercase status label above the heading
headingstringMain page heading, rendered as an h1
descriptionstringExplanatory paragraph under the heading
requestedPathstringThe address that failed, printed struck through in monospace
suggestionLabelstringLead-in text inside the suggestion box
suggestionActionLinkThe closest matching page, linked from inside the box
buttonActionLinkOutline button at the bottom
classNamestringExtra classes for the outer <section>
ts
type ActionLink = {
  label: string;
  href: string;
};

Behavior notes

More Error blocks

View all Error
PRO

error13

404 With Site Directory

404 page that doubles as a sitemap: left-aligned messaging over four columns of grouped section links, so visitors on a large site can jump straight to the area they wanted.

PRO

error5

404 Support Panel

Card-style 404 panel that echoes the requested URL in monospace, pairs a browser-history back button with link actions, and closes with a support and status link row.

FREE

error2

404 With Site Search

Search-first 404 page: a controlled search field with a submit handler, plus a bordered list of suggested pages with titles, descriptions, and hover arrows.

PRO

error30

Search Led 404

Monochrome 404 that hands the visitor a search field: a display headline with a muted emphasis clause, a rounded search bar with a circular submit seal wired to a callback, and a ruled list of the most travelled routes.

PRO

error11

404 With Product Recommendations

Store 404 for dead product URLs: the message and shopping buttons sit above a four-up product grid with square imagery, prices, and optional strikethrough compare-at prices.

PRO

error32

404 With Recent Writing

Monochrome 404 for a renamed article: a display headline and pill call to action above three recent entries, each a full-colour image tile with a plain date line and a bold title.