Eagle Vision Language Institute
A language school's website had been hacked (RCE via debug mode left on in production), then was barely visible on Google. Full security lockdown, followed by an SEO and performance overhaul in three months: 36 optimized pages, 100/100 accessibility.
- Client
- Eagle Vision Language Institute — English school in Accra, Ghana
- Role
- Full-stack development: security, Laravel back end, technical SEO, performance, deployment
- Duration
- 3 months · 2026
- Stack
- Laravel 10, Filament, Tailwind CSS, Alpine.js, Vite
- Team
- Me, working directly with the school
Hacked,
then invisible
Eagle Vision Language Institute is an English school in Accra, Ghana, recruiting French-speaking candidates from West Africa preparing for the TOEFL, IELTS and TOEIC exams. The previous site had been compromised through an RCE flaw: Ignition’s debug mode had been left active in production, exposing remote code execution.
Once the breach was closed, the audit uncovered a second, quieter problem: the site had almost no SEO strategy at all. A single generic <title> covered all 34 URLs on the site, no hreflang signaled its French/English versions, and no structured data helped Google understand its content.
Secure first,
then get found
First workstream: security. Removed SQL dumps containing real production data that had been committed by mistake (admin passwords, contacts, enrollees), hardened the contact form (honeypot, time-trap anti-spam, rate limiting), and wrote strict documentation enforcing APP_DEBUG=false in production.
Second workstream: technical SEO. Unique title and meta description across 36 FR/EN pages, full canonical and hreflang coverage, Open Graph and Twitter Cards, a dynamic sitemap.xml built from the site’s 56 URLs, JSON-LD structured data (organization, FAQ, courses, breadcrumbs), and a heading-structure fix: 32 routes moved from three <h1> tags down to one.
Third workstream: performance. 24.6 MB of dead images removed from the repo, the hero banner compressed to WebP (570 KB → 61 KB), the logo resized (195 KB → 30 KB), compiled CSS cut from 141 KB to 60.5 KB by inlining Font Awesome icons as SVG, and server and application caching turned on.