Web Development · SEO 2025

josepabloperez.es

My personal brand website, optimised for SEO and performance

This very website: built with Flask, bilingual (es/en), content managed from JSON, complete technical SEO and optimised performance to turn visits into opportunities.

A view of this very website
95+
Lighthouse performance
< 1s
Initial load time

The problem

Most portfolios use generic templates: slow, poorly ranked and without structured data. A recruiter does not wait even two seconds.

The solution

A custom website: real content in JSON, premium design, complete technical SEO (schema.org, sitemap, RSS, hreflang) and measured, optimised performance.

Architecture

Server-rendered Flask + Jinja2, minified modular CSS and JavaScript, WebP images with lazy loading and preloaded fonts. No frontend frameworks.

Content lives in JSON files: updating the website requires no code changes at all. A fully static version is also generated for any hosting.

Features

  • Bilingual (es/en) with independent SEO and hreflang.
  • JSON-LD for Person, WebSite, Organization, BlogPosting and BreadcrumbList.
  • 30-second / 3-minute mode adapted to each visitor.
  • WCAG accessibility: keyboard navigation, ARIA and AA contrast.
  • A fully static version generated from the same project.

Tech stack

PythonFlaskJinja2HTML5CSS3JavaScriptWebP

Challenges overcome

  • Achieving excellent performance while keeping structured data and full accessibility.

Learnings

  • SEO is not an add-on: it is part of the architecture from day one.
  • Great performance and semantic richness can coexist.

Shall we talk about your project?