## TL;DR
A search widget that 404s on articles is usually serving stale results: the article was unpublished, moved, or permission-restricted after the widget indexed it. Check the article's published state and visibility first, then whether the widget index is stale, then whether the viewer's permissions differ from the searcher's. The widget and the help center must agree on what exists.

## The query

```text
"knowledge base article not found" 404 in help center search widget
```

## Use this when

- Widget search results link to 404 pages
- Results disagree with browsing the help center directly
- The 404s started after article reorganization
- You are configuring a help-center search widget

## Not for

- Writing or structuring KB articles
- Help-center SEO
- Tuning search relevance ranking
- Building a custom search backend

## Steps

### 1. Check the article's published state

Open the article in the admin. Draft, archived, or unpublished articles 404 for end users while still appearing in stale indexes. Confirm it is published in the locale the widget serves.

Expected output: article state confirmed published (or found unpublished).

### 2. Check visibility and permissions

Articles restricted to signed-in users, specific segments, or agents 404 for everyone else. Compare the widget's viewer context against the article's access settings. A widget on a public page cannot show restricted articles.

Expected output: article visibility matches the widget's audience.

### 3. Check for moves and renames

Reorganized categories and renamed articles change URLs. If the widget caches result links, old links 404. Verify the article's current URL and compare with what the widget served.

Expected output: current URL confirmed, stale cached link identified.

### 4. Force a widget index refresh

If the article is published, visible, and at a stable URL but the widget still 404s, the widget's index is stale. Trigger a reindex and verify the result set afterward. Schedule reindexing after bulk article operations.

Expected output: fresh index, widget results match the help center.

### 5. Handle the 404 gracefully in the widget

Even with a fresh index there is a window where links die. Make the widget's article view show a helpful "this article moved or was removed" state with search suggestions instead of a bare 404.

Expected output: a designed dead-link state in the widget.

## Template: the checklist

```text
Widget article 404:
[ ] Article published in the widget's locale
[ ] Visibility matches the widget's audience
[ ] Article not moved or renamed (URL current)
[ ] Widget index refreshed after any bulk changes
[ ] Graceful dead-link state in the widget
```

## Variant phrasings

### help center search results 404

Steps 1 and 4. Published state plus index freshness.

### widget links to unpublished articles

Steps 1 and 2. State and visibility.

### search widget stale results

Step 4. Reindex, and schedule it after bulk ops.

## Why it happens

The widget's search index is a copy of the help center's content, and copies go stale. Unpublishing, restricting, moving, or renaming an article changes the source of truth while the copy still points at the old reality. The 404 is the gap between the two, and reorganization projects widen it.

## Edge cases

- Multi-locale articles: published in one locale, missing in another. The widget must fall back or filter by locale.
- Scheduled publishing: an article scheduled for tomorrow is a draft today. The widget should not index it yet.
- Redirects: if the platform supports URL redirects on move, use them. They cover every stale link at once.
- Permission changes mid-session: a user who signs out mid-browse loses access to restricted articles. Handle the transition, not just the initial state.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_5du8-GR7N3M_X_LTlz_R7A
