A backlink analysis platform for monitoring, reporting and tracking link growth over time.

Platform Documentation

A self-hosted backlink management and reporting platform for SEO teams. Upload, analyze and monitor backlink profiles from multiple sources with real-time indexing, workflow tracking, competitor comparisons and shareable read-only client reports.

PHP + SQLite Role-based Auth Multi-source Backlinks Ubersuggest MCP SpeedyIndex Client Read-only View Workflow Tracking CSV Import/Export
7.0
Current Version
6
Backlink Sources
3
User Roles
5
Client Tabs

Application Architecture

Three distinct entry points serve different audiences and access levels, backed by SQLite storage with WAL journaling.

đŸ› ī¸
/admin/project.php?id=â€Ļ

Internal Workspace

Full working environment for admin and assigned user accounts. Access to all tabs, data uploads, workflow management, indexing, and MCP refresh actions.

âš™ī¸
/admin/project_setting.php?id=â€Ļ

Project Settings

Accessible to admin and assigned user accounts only. Configure assignments, filters, shared donor rules, wiki content, branding, and client token management.

đŸ‘ī¸
/view.php?token=â€Ļ

Client Read-only View

Token-based external view exposing only safe tabs: Overview, Backlinks, Competitors. No write operations. Client-role users assigned to a project are also redirected here.

đŸ—ƒī¸
data/database.sqlite

SQLite Storage

Primary data store (WAL mode, foreign keys enabled). Stores projects, backlinks, workflow items, users, shared donors, settings, and audit log. Optimized with composite indexes for large backlink tables.

📁
dist/ → builds/<version>/

Version Workflow

Active runtime always lives in dist/. Snapshots are copied to builds/ manually. Rollback by restoring a snapshot to dist/.

🔒
/admin/login.php

Auth & Branding

Session-based role authentication. Branding settings (team name, colors, logo, client link template) are applied platform-wide and visible on the public-facing client view.


User Roles

Three roles with strictly separated access scopes. Roles are assigned per-user and can also be scoped per-project for client-facing accounts.

● Admin

Administrator

  • Full access to all projects and settings
  • User management (create / edit / password)
  • Branding & global settings
  • Ubersuggest MCP configuration
  • SpeedyIndex balance & usage view
  • Legacy import tools & DB health check
  • All admin pages without restriction
● User

Team Member

  • Access to assigned projects only
  • Full workspace: all tabs, upload, workflow
  • Can edit workflow items and run indexing
  • Access to project settings for assigned projects
  • Cannot manage users or global settings
  • Workflow actor tracking (created_by / updated_by)
● Client

External Client

  • Read-only access via token URL or session
  • Sees: Overview, Backlinks, Competitors tabs
  • Cannot access project settings or admin
  • Session login redirects to workspace (read-only)
  • Token link redirects to /view.php (read-only)
  • No write operations available

Client View — Tabs & Options

The client area (both internal workspace and external token view) is organized into tabs. Each tab loads lazily on first visit for performance on large datasets.

Client Tabs
Overview
Backlinks
Competitors
Workflow
Reports

📊 Overview

Project summary dashboard. Shows domain authority metrics from MCP, backlinks-over-time chart, referring domain comparison, project wiki, and documents. Placed (final) workflow links are surfaced here.

SectionDescriptionOptions / Values
Domain Overview (MCP) KPI cards pulled from Ubersuggest MCP: Domain Authority, Referring Domains, Backlinks, NoFollow. Collapsible raw field table. DARef DomainsBacklinksNoFollow
Backlinks Over Time Chart built from MCP timeline data. Shows monthly backlinks and referring domains. Falls back to row-history reconstruction when explicit timeline is unavailable. BacklinksRef Domains
Traffic Chart Search traffic and search keywords trend from MCP domain overview payload. Search TrafficKeywords
Referring Domains Comparison Project vs all imported competitors. Competitors grouped by root domain with subdomains as children. Source column shows MCP vs imported distinction. MCP domain_overviewImported ref domains
Project Wiki Rendered markdown notes written by the team in admin → project settings. Visible to all roles in the client view. —
Documents Attached files (PDF, CSV, etc.) uploaded in project settings. Accessible via secure asset endpoint with role check. —
Overview
Backlinks
Competitors
Workflow
Reports

🔗 Backlinks

Full backlink table for the project. Importable from multiple sources. Filterable, sortable, with per-row indexing actions and spam/DA/PA scoring.

Supported Import Sources

📄 Manual CSV/TXT đŸ”ļ Ubersuggest đŸŸĸ Google Search Console 🔴 Ahrefs đŸ“Ļ Vendors (Common DB)
Filter / ColumnDescriptionOptions / Values
Source Filter Filter rows by upload source. Auto-detected from CSV headers at import. manualubersuggestgscahrefsvendorsworkflow
Sort By Sortable columns with SQL-level indexes for performance on large tables. PADASpamHTTP Status
Source Domain Linking domain (donor). Normalized to root domain for deduplication. —
Source URL Full URL of the page containing the backlink. —
Target URL Destination URL on the project site being linked to. —
Anchor Text Link anchor text. Unified column name across Overview and Workflow views. —
First Seen / Last Seen Dates read from imported CSV and stored in the backlinks table. —
DA / PA / Spam Domain Authority, Page Authority, Spam score from imported data. DB-indexed for fast sorting. —
HTTP Status HTTP response code for the backlink source URL. DB-indexed. 200301404â€Ļ
Index (Standard) Submit URL to SpeedyIndex via single-link endpoint. Cost: 1 credit. Standard — 1 credit
Index+ (Guaranteed) Submit URL with guaranteed indexing mode (pay-per-indexed). Cost: 100 credits. Guaranteed — 100 credits
Check Index Status Query SpeedyIndex for current index status. Result persists across page reloads. Cost: 2 credits. IndexedNot IndexedProcessing
Overview
Backlinks
Competitors
Workflow
Reports

🏁 Competitors

Competitor backlink table stored in the same normalized project_backlinks table with SQL-native filtering. Data can be refreshed from Ubersuggest MCP for all competitor groups.

FeatureDescriptionOptions / Values
Competitor Import Sources Upload competitor backlink files in the same formats as the main project. UbersuggestGSCAhrefsGeneric CSV
MCP Refresh Fetch domain_overview / backlinks_overview for all imported competitor groups from Ubersuggest MCP. No group cap. —
Grouping Competitors grouped by root domain. Subdomains appear as children of their root domain. —
Competitor Metrics Backlinks and Referring Domains from MCP when available. Falls back to imported row counts with source label. MCP domain_overviewImported ref domains
Queue Action Add competitor backlinks directly to project workflow. Guard ensures safe behavior when workflow panel is on another tab. —
Overview
Backlinks
Competitors
Workflow
Reports

📋 Workflow

Link-building pipeline tracker. Each workflow item represents an outreach or placement task. Items progress through statuses; only Placed items surface in the Overview backlinks table.

Item Statuses

Queued In Progress Placed Rejected Cancelled
Column / OptionDescriptionNotes
Source Domain Donor domain for the planned link. Matches Overview naming
Source URL Placement URL — the specific page where the link is (or will be) placed. Maps to placement_url
Target URL Destination page on the project site being linked. Maps to target_url
Anchor Text The anchor text for the link. Empty by default for new additions; filled manually. Unified label with Overview
Created By / Updated By Actor tracking — records which user created or last updated each item. —
Add Source Items can be added from Competitors tab, Analysis, or Shared Donors library. URL/anchor fields start empty to prevent auto-fill errors. Competitors / Analysis / Shared
Overview
Backlinks
Competitors
Workflow
Reports

📅 Reports

Monthly report archive. Reports are generated server-side and listed as cards by month. Exportable per month.

FeatureDescription
Monthly Cards Each month displayed as a card with summary metrics. Replaces the legacy dropdown UI.
View Report Open detailed monthly report via API (list / view / export endpoints).
Export Download a monthly report as a file for sharing outside the platform.

Admin Workspace — Tabs & Options

The internal admin project view (/admin/project.php) is organized into four tabs for managing project data, settings, and activity.

Admin Project Tabs
Info
Data
Settings
Activity

â„šī¸ Info Tab

Project identity and documentation. Client share link, project wiki, logo, and attached documents.

OptionDescription
Client Share URL Auto-generated token URL (/view.php?token=â€Ļ) shown in the project header. Copy and share with clients.
Project Logo Upload a logo/favicon. Shown in the project header and in the client report header. Removable.
Project Wiki (Markdown) Markdown editor for internal notes and documentation. Preview rendered inline. Max-height with scroll for long content.
Document Attachments Upload multiple PDF/CSV/etc. files as project documentation. Accessible via secure asset endpoint. Visible in client Overview → Documents.
Update from MCP Per-project button to fetch domain_overview from Ubersuggest MCP. Stores snapshot in project meta.
Info
Data
Settings
Activity

📂 Data Tab

Backlink CSV upload, uploaded file management, and data rebuild actions. Split into Main Site and Competitors columns.

Accepted File Sources

Main Site Uploads

Manual CSV/TXT, Ubersuggest export, Google Search Console export, Ahrefs export. Source auto-detected from CSV headers.

Competitor Uploads

Generic CSV, Ubersuggest, GSC, Ahrefs. Multiple competitor files can be uploaded independently.

ActionDescription
Upload CSV Upload a new backlink file. Replaces existing data for that source. Auto-detects source from headers (Ubersuggest, GSC, Ahrefs, Manual). Updates DB immediately.
Re-read Existing Data Recalculate all DB rows from already-uploaded files without re-uploading. Useful after mapping or schema changes.
Uploaded Files List Shows each uploaded file with its final detected source label. Downloadable and replaceable individually.
Workflow Summary Quick counts of workflow items by status, shown at the top of the Data tab.
Info
Data
Settings
Activity

âš™ī¸ Settings Tab

Project configuration: user assignments, filters, and shared donor integration rules.

OptionDescription
Assigned Users Select which admin/user/client accounts have access to this project. Client accounts get read-only workspace access.
Backlink Filters Project-level default filters applied to the backlink table (e.g. minimum DA, exclude certain domains).
Shared Donor Rules Rules for how the global Link Vendors (shared donor) library interacts with this project's workflow suggestions.
Client Domain The root domain for this project. Used as the default domain for MCP discovery and competitor comparisons.
Info
Data
Settings
Activity

🕐 Activity Tab

Audit log of all actions performed on the project. Tracks actor, timestamp, action type, and details.

Tracked EventDescription
Backlink Uploads Records each CSV upload event with source type and row count.
Workflow Changes Status changes, new items added, deletions — with actor and timestamp.
MCP Refresh Logs each MCP domain_overview / competitor refresh with timestamp.
Indexing Actions SpeedyIndex submissions (Standard / Guaranteed) and Check actions logged with URL and result.
Settings Changes Assignment and configuration changes logged with actor.

Integrations & Global Settings

Platform-wide settings managed under /admin/settings.php. Accessible to admins only.

đŸ”ļ
Ubersuggest MCP

MCP Integration

OAuth-based connection to Ubersuggest MCP. Options: Connect / Disconnect, Test Connection, Discovery (backlinks sample with one-per-domain toggle), Raw Dataset fetch, Capability checks (limit probes, argument variants), Token refresh.

⚡
SpeedyIndex API

Link Indexer

Per-project indexing from the Backlinks tab. Global usage counter and current balance visible in admin. Three operations:

1Standard
100Guaranteed
2Check
đŸ“Ļ
/admin/shared_donors.php

Link Vendors Library

Global shared donor database. Fields: Domain, DR, Ahrefs Rank, Follow type, Industries, Scope, Risk, Link Type, Example URL, Instructions, Internal Notes. CSV import/export. Importable to DB from legacy JSON.

🎨
/admin/branding.php

Branding

Team name, colors, logo, client link template, custom HTML for the public index and admin index pages. Applied platform-wide including the client report view.

đŸ‘Ĩ
/admin/users.php

User Management

Create and edit accounts. Roles: admin, user, client. Password management. Newly added admins automatically appear in project assignment checklists.

đŸŠē
/admin/db-health.php

DB Health

Diagnostic endpoint showing SQLite path, connection status, table presence, and index state. Used to verify bootstrap integrity after deployment.

Link Vendors — Field Options

All taxonomy values for the shared donor library fields.

FieldDescriptionAllowed Values
Follow Type Link follow attribute for this donor. dofollownofollowmixedunknown
Industry Scope How broadly the site covers topics. generalnichelocal
Risk Level Safety classification of the link source. cleangreyblackhat
Link Family Broad category of the link placement type. Custom per team
Link Type (Subtype) Specific placement format within the link family. Custom per team
DR / Ahrefs Rank Domain Rating and Ahrefs rank. Numeric. Shown in vendor list columns. 0–100
Industries Topic tags for the donor site. Multi-value. Used for relevance filtering in workflow suggestions. Multi-select text tags
Example URL A sample published link from this donor for reference. —
Instructions Submission or contact instructions for the link vendor. Visible to team members in workflow. —
Internal Notes Private notes for the team (pricing, contact, history). Not shown in client view. —

Need a custom SEO reporting or monitoring platform?

Tell us about your project