[PR #382] [CLOSED] Support explicit technical SEO audit states and surface task diagnostics in dashboard #689

Closed
opened 2026-03-13 21:04:00 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AJaySi/ALwrity/pull/382
Author: @AJaySi
Created: 3/5/2026
Status: Closed

Base: mainHead: codex/update-seo-audit-status-mapping


📝 Commits (1)

  • 4f058ee Update technical SEO audit statuses and dashboard UI

📊 Changes

2 files changed (+122 additions, -22 deletions)

View changed files

📝 backend/services/seo/dashboard_service.py (+25 -1)
📝 frontend/src/components/SEODashboard/SEODashboard.tsx (+97 -21)

📄 Description

Motivation

  • Make technical SEO audit status explicit and expressive so the dashboard can show precise states (ready, scheduled, failed, needs_intervention, paused, pending) and surface task diagnostics for troubleshooting.
  • Provide richer task telemetry (failure reason, consecutive failures, last success/failure timestamps) so frontend can render actionable messages and preserve backwards compatibility with existing response keys.

Description

  • Update _get_technical_seo_audit_overview to compute an explicit status with the priority: ready when pages_audited > 0, then mapping activescheduled, failedfailed, needs_interventionneeds_intervention, pausedpaused, and fallback pending when no task exists.
  • Add optional diagnostic fields returned from OnboardingFullWebsiteAnalysisTask: failure_reason, consecutive_failures, last_success, and last_failure (ISO timestamps), while preserving existing keys like task_status, next_execution, pages_audited, avg_score, fix_scheduled_pages, and worst_pages.
  • Update frontend SEODashboard.tsx to render chips for the new states and show state-specific alerts/messages for pending, paused, failed, and needs_intervention while keeping existing scheduled, ready, and error handling.
  • Display last success/failure timestamps in the Technical SEO Audit panel when available to aid debugging and diagnosis.

Testing

  • Ran python -m py_compile backend/services/seo/dashboard_service.py which completed successfully.
  • Ran frontend lint check via cd frontend && npm run -s eslint src/components/SEODashboard/SEODashboard.tsx which exited non-zero in this environment and produced no actionable output.
  • Attempted a Playwright page capture of the running frontend but navigation to http://localhost:3000 failed with net::ERR_EMPTY_RESPONSE, so no runtime screenshot artifact was produced.

Codex Task


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AJaySi/ALwrity/pull/382 **Author:** [@AJaySi](https://github.com/AJaySi) **Created:** 3/5/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/update-seo-audit-status-mapping` --- ### 📝 Commits (1) - [`4f058ee`](https://github.com/AJaySi/ALwrity/commit/4f058ee2e9584bf5c48e8d9d9617d2128dd74d16) Update technical SEO audit statuses and dashboard UI ### 📊 Changes **2 files changed** (+122 additions, -22 deletions) <details> <summary>View changed files</summary> 📝 `backend/services/seo/dashboard_service.py` (+25 -1) 📝 `frontend/src/components/SEODashboard/SEODashboard.tsx` (+97 -21) </details> ### 📄 Description ### Motivation - Make technical SEO audit status explicit and expressive so the dashboard can show precise states (ready, scheduled, failed, needs_intervention, paused, pending) and surface task diagnostics for troubleshooting. - Provide richer task telemetry (failure reason, consecutive failures, last success/failure timestamps) so frontend can render actionable messages and preserve backwards compatibility with existing response keys. ### Description - Update `_get_technical_seo_audit_overview` to compute an explicit `status` with the priority: `ready` when `pages_audited > 0`, then mapping `active`→`scheduled`, `failed`→`failed`, `needs_intervention`→`needs_intervention`, `paused`→`paused`, and fallback `pending` when no task exists. - Add optional diagnostic fields returned from `OnboardingFullWebsiteAnalysisTask`: `failure_reason`, `consecutive_failures`, `last_success`, and `last_failure` (ISO timestamps), while preserving existing keys like `task_status`, `next_execution`, `pages_audited`, `avg_score`, `fix_scheduled_pages`, and `worst_pages`. - Update frontend `SEODashboard.tsx` to render chips for the new states and show state-specific alerts/messages for `pending`, `paused`, `failed`, and `needs_intervention` while keeping existing `scheduled`, `ready`, and `error` handling. - Display last success/failure timestamps in the Technical SEO Audit panel when available to aid debugging and diagnosis. ### Testing - Ran `python -m py_compile backend/services/seo/dashboard_service.py` which completed successfully. - Ran frontend lint check via `cd frontend && npm run -s eslint src/components/SEODashboard/SEODashboard.tsx` which exited non-zero in this environment and produced no actionable output. - Attempted a Playwright page capture of the running frontend but navigation to `http://localhost:3000` failed with `net::ERR_EMPTY_RESPONSE`, so no runtime screenshot artifact was produced. ------ [Codex Task](https://chatgpt.com/codex/tasks/task_e_69a9a28fd95c8328bb3cb97025ad6650) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-13 21:04:00 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ALwrity#689
No description provided.