Retained records: {{ retained }} / {{ capacity }}
{% if not recording_enabled %}404 recording is disabled in the server configuration. Existing records are kept.
{% endif %} {% if retained >= capacity %}Capacity reached. New paths are no longer recorded.
Run 404 record cleanup to remove dismissed or redirected records, or raise the configured limit.
Ignored records also count toward capacity. To deliberately remove their suppression and hit history,
preview with bragi notfound prune --site {{ site.slug }} --include-ignored --dry-run,
then confirm with bragi notfound prune --site {{ site.slug }} --include-ignored --yes.
Removed ignored paths can be recorded again.
Recording is rate-limited and may be skipped when the database is busy. Counts and times reflect recorded hits only.
{% if entries %}| Path | Recorded hits | Last recorded | Referrer | Suggestion | Actions | |
|---|---|---|---|---|---|---|
{{ nf.path }} |
{{ nf.count }} | {{ nf.last_seen.strftime('%Y-%m-%d') }} | {% if nf.last_referrer %} {% if e.referrer_edit_url %} {{ nf.last_referrer }} {% else %} {{ nf.last_referrer }} {% endif %} {% else %}(none){% endif %} |
{% if e.suggestion and e.suggestion.kind == 'redirect' %}
→ {{ e.suggestion.candidate.url }}
{% elif e.suggestion and e.suggestion.kind == 'archived' %}
archived: {{ e.suggestion.candidate.title }}
{% else %}
(none)
{% endif %}
|
{# The resolving actions collapse into one dropdown so the row
isn't a wall of buttons; the permanent Ignore stays standalone
(destructive, one click). Panel items are plain menu rows (no
`btn` class) so `.dropdown-panel` styles them. #}
Actions ▾
{# Create redirect: pre-fills source_path and (when we have a
confident target) the suggested URL, via the redirects form. #}
Create redirect
{# Mark Gone: 410 ignores the target, but the form validates a
relative one, so pass the dead path itself. #}
Mark Gone (410)
New page
New post
{# Dismiss = soft: clears it now, but it returns if the path
404s again. #}
|
No detected 404s for this site.
{% endif %}