✅ Phase 1: Application Foundation (completed)
- FastAPI + React architecture
- MongoDB + Docker + GitLab CI/CD
- Google OAuth login system
- Crawl + technical SEO analysis
- Streaming progress + DB persistence
- SSE + live audit
🔧 Phase 2: Optimizations & Feature Completion
2.1. Frontend
- Dashboard: project list + project details
- SEO score table + filtering/search
- Page view (meta, title, headings, etc.)
- CSV + PDF report export
2.2. Backend
- Check for images without alt text
- Qualitative analysis of internal/external links
- Page-specific scores + global audit score
- Audit comparison (history)
💸 Phase 3: Monetization (SaaS Ready)
- User plans (free, PRO, agency, etc.)
- Limits per plan (number of projects, audits, pages)
- Stripe / payments / subscriptions
- Usage notifications + UI feedback
🧠 Phase 4: AI Features & Automation
- AI suggestions for each detected issue
- Automatic summary + SEO insights
- CMS detection (WordPress, Shopify, etc.)
- Adaptive analysis based on platform
🏷️ Phase 5: White-label Features
- Brand registration (logo, name, colors)
- PDF/CSV reports with custom branding
- Branded UI and emails
🔗 Phase 6: White-label API for Brands
- Custom frontend per brand (self-hosted or iframe)
- Public API with documentation (create audit, fetch results)
- Admin dashboard for API Key / traffic management
## About the Project
MarWeb SEO Audit is a fully automated web application that performs technical and on-page SEO audits for any website. The platform crawls all discoverable URLs and provides a detailed analysis for each page in real time.
🔍 Key Features
- Real-time scanning with live progress updates
- In-depth SEO analysis per page:
- HTTP response code, meta title, meta description
- Headings (H1-H6), canonical & hreflang
- Internal links, indexability
- robots.txt, meta robots
- schema types & images without
alt
- Audit progress streaming (SSE)
- Final site-level report
- CSV & PDF export
- Email verification system for access
🧰 Technologies Used
- Backend: Python, FastAPI, BeautifulSoup, MongoDB
- Frontend: React, Vite, TailwindCSS, Ant Design
- CI/CD: GitLab CI/CD
- Deployment: Docker, VPS on Google Cloud
- Authentication: Google OAuth 2.0
- Security: Rate limiting, unique token per email
- Others: Mongo Express, internal Slack alerts
🔐 Anti-abuse Flow
- User enters their email address.
- A unique token is sent via email.
- They can only scan the site associated with that token.
- SaaS variants with extended features can be provided on request.
- White-label version available on request.
- This functionality was for the first version, it is now obsolete—each user registers with a Gmail and token generation is no longer necessary.
Authentication & Security
Access to the app is handled via Google OAuth 2.0, offering a smooth experience without manual account creation. On first login, the user is automatically registered in the database and gets instant access to the scanning interface.
To prevent abuse (e.g., spam or mass crawling), the demo system allows only one project per user. The access token is tied to both the email and the scanned domain, meaning:
- each user can scan only one site
- data is stored temporarily
🧱 Data Structure
📁 Project (project
)
- Contains info about the scanned domain
- Each user has only one project (in demo mode)
- Linked to one or more audits (only one audit per project in demo)
📊 Audit (audit
)
- Represents a scanning session for a website
- Each audit has its own status (
IN_PROGRESS
, COMPLETED
)
- Connects all discovered pages
📄 Page (page
)
- Stores SEO data for each URL
- Contains meta info, headings, robots, status code, schema, etc.
🧠 App Logic
- User logs in via Google
- Enters the domain to be scanned
- System starts the crawl and shows live progress
- Pages are analyzed and saved in the database
- Final report is generated and displayed in the UI
- User can export the data as CSV or PDF
🖼️ UI Preview
First Version

Improved Version

