Skip to content
Dimitri Robiere PerrietD. R. PerrietCaen, FR — --:--:--EN · FR

SEO Mediapilote, an SEO analysis and reporting tool

Under contract · Mediapilote● Live
Client
Mediapilote
Role
Full-stack developer
Duration
ongoing
Year
2026
Stack
Next.js · TypeScript · Cloudflare Workers · Cloudflare D1 · Cloudflare R2 · DataForSEO · Google Search Console API · Google Analytics API
SEO Mediapilote, an SEO analysis and reporting tool — illustration
Fig. 01 — SEO Mediapilote, an SEO analysis and reporting tool, illustration
(00) — In short

SEO Mediapilote is the agency’s internal SEO analysis tool: domain comparison, keywords, crawl-based technical audits, local rank tracking and client reports.

(01)

Context

Mediapilote’s SEO consultants juggled several tools to analyse a site, compare competitors and prepare a client report. The agency wanted this data in one internal app, linked to its clients and their Google accounts.

The project started in February 2026 on GitHub and then moved to GitLab. It also supplies data to other agency tools, such as the GEO audit and the Backlinks platform.

(02)

Challenge

The data comes from paid, heterogeneous sources: DataForSEO for rankings, backlinks and SERPs, Search Console and Analytics for real traffic, PageSpeed for performance. Every call costs money, so expensive requests had to be cached and capped.

The move from MySQL to Cloudflare D1 in August 2026 added a constraint: large analyses no longer fit in the database and had to be stored elsewhere without breaking the report history.

(03)

Approach

I built the domain analysis with a switch between DataForSEO and Google data, multi-domain comparison with a Venn diagram of shared keywords, branded Excel exports, then semantic keyword clustering based on SERP overlap. A technical audit relies on a crawler running in Workflows with Browser Run, and a weekly tracker emails its results.

The local ranking API measures a business’s Google Maps position on a grid of 3, 5 or 7 points per side, with a hard cap on the number of requests. For the migration, analysis blobs moved to R2 and the rest to D1. Recent reports are written by AI and rendered as A4 PDFs or 16:9 decks.

(04) — Results

Key figures
75
commits
3 · 5 · 7
local grid size
Search Console · GA4
connected Google sources
PDF · 16:9 deck
report formats
← Previous project11 · GMB Mediapilote, a Google Business Profile toolNext project13Visioavenue, a Symfony video consultation platform