| Path | Hits | Last seen | Referrer | Suggestion | Actions | |
|---|---|---|---|---|---|---|
{{ nf.path }} |
{{ nf.count }} | {{ nf.last_seen.strftime('%Y-%m-%d') }} | {% if nf.last_referrer %}{{ nf.last_referrer }} {% 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 %}