Content · Legends and SEO

Cuando Nadie VeEcuadorian legends and real-life testimonies, in a silo architecture built for search engines and AI assistants

Astro site for a horror show: Ecuadorian legends by region and from Quito, episodes with full transcripts and the narrator set up as an entity.

Technologies

  • Astro 7
  • TypeScript
  • Content Collections + Zod
  • Markdown
  • @astrojs/sitemap
  • Fontsource (Anton + Montserrat)
  • sharp
  • nginx
  • Docker
  • Railway
  • Cloudflare
  • Google Analytics 4
  • JSON-LD
Cuando Nadie Ve website home page, a show about Ecuadorian legends and horror stories
  • 38

    sitemap URLs

  • 4

    content pillars

  • 9

    full legends

  • 17

    episodes with transcripts

  • 2

    informational articles

My role

Design and development of the site at Azirgo SAS for the production company La Jungla: silo architecture, content templates, technical and AI-search SEO, performance and deployment.

The problem

Cuando Nadie Ve is a YouTube show about legends and paranormal testimonies narrated by Tomás Delgado. The channel had the stories, but on video: none of it showed up when someone searched for the legends of Quito for a school assignment, what a doppelgänger is or the full story of the Dama Tapada. The site had to turn the channel into something people can read and find, without losing the show's tone, and send that audience back to the video.

What I built

  • Two legend pillars: Legends of Ecuador, organized by region (Coast, Highlands and Amazon), and Legends of Quito, with the full stories, their short versions and a fear map of the historic center.
  • Nine full legends - Cantuña, La Dama Tapada, La Tunda, El Riviel, La Viuda del Tamarindo, El Padre Almeida, El Gallo de la Catedral, La Caja Ronca and La Olla del Panecillo -, each with a direct summary, the full story, a short version, what is known about its real origin and frequently asked questions.
  • Seventeen episodes from the channel with their full transcript, the video, the narrator's byline and, when the episode answers a real question, its FAQ. Episodes from the «Relatos de una bruja» series are signed by the guest who hosts them.
  • A real-stories hub that gathers the show's testimonies as a thematic entry point, and informational articles at the root of the site: what a doppelgänger is and the Day of the Dead (Finados) in Ecuador.
  • An entity page for the narrator, Tomás Delgado, with his verifiable profiles, what he talks about on the show, the stories that happened to him and his latest episodes.
  • A funnel to the channel at the end of every page, a sponsorship card pinned to the sidebar of articles, a sponsorship page with the ad formats and a form that opens WhatsApp with the details already written and, on content pages, the page it was sent from.
  • Branded Open Graph images for the legends - the image, the title in Anton and the show's logo - generated by a script, and YouTube thumbnails downloaded and served from the site's own domain.

How it's structured

A static Astro 7 site with four Markdown content collections - legends, episodes, articles and stories -, each validated by its own schema. It builds in Docker and is served by nginx on Railway, behind Cloudflare.

  • Routes: the home page, /leyendas-de-ecuador and /leyendas-de-quito with their legends underneath, /historias-reales, /episodios and each episode page, the articles at the root, plus /tomas-delgado, /sobre-el-programa, /auspicios, /contacto and the privacy policy.
  • From video to site: each episode stores the YouTube ID, the video's date and duration, the series and the narrator when it is not Tomás. The body is the transcript, and its first paragraph is split from the already rendered HTML to open the page next to the video and the author's byline.
  • Video behind a lightweight facade: it shows the local thumbnail and loads the youtube-nocookie iframe only on click.
  • JSON-LD per template: Article, VideoObject, FAQPage, BreadcrumbList, ItemList, Person, ProfilePage, Organization, WebSite and PodcastSeries, plus ContactPage with LocalBusiness and the studio's coordinates.
  • GA4 funnel events through a single delegated listener - click to YouTube, click to subscribe and click to email -, which also covers links coming from the Markdown.
  • nginx with HSTS, CSP, nosniff, X-Frame-Options and Referrer-Policy; 301s from trailing-slash URLs to their slashless version, a one-year immutable cache for hashed assets and a short edge cache for the HTML.
  • Design with rules written into the repository: blood red on black, only Anton and Montserrat, AA contrast checked for micro-text and zero letter-spacing.

Legends: content built for search engines and AI

The legends are the heart of the site's SEO: each one answers a specific search and links to the rest of its silo.

  • The Ecuador pillar is split by region - Coast, Highlands and Amazon -, the last one with its introduction ready to grow with new stories.
  • The Quito pillar in three layers: the full legends, one-minute short versions for whoever needs them for class, and the Quito fear map that places them in the historic center.
  • A fixed template per legend: direct summary, full story, short summary and real origin, with the FAQ in the frontmatter, rendered both as a section and as FAQPage.
  • A title of up to 60 characters with the keyword first and a meta description of up to 155, validated by the collection schema.
  • Six legends featured on the home page, under «Las leyendas que más buscan», and related legends at the end of each one: «Sigue leyendo, si te atreves».
  • Cover images with responsive srcset variants, in-story images and Article data with several images in the legends that have them.
  • An llms.txt at the root that describes the pillars, each legend and the episodes in one line each.

Inside the site

  • Cuando Nadie Ve: The legend of Cantuña: direct summary and the full story
    The legend of Cantuña: direct summary and the full story.
  • Cuando Nadie Ve: The Legends of Quito pillar with the full stories
    The Legends of Quito pillar with the full stories.

Technical decisions

  • Silo architecture: four pillars - legends of Ecuador, legends of Quito, real stories and episodes - with their satellite articles. Each legend's route comes from the pillar declared in its frontmatter, and linking between pillar and satellites is a written rule of the project.
  • Every legend and every article opens with a one- or two-sentence summary that directly answers what was searched: that is what ChatGPT Search, Perplexity and AI Overviews extract and cite. Then come the full story, the short version and the real origin.
  • The narrator is an entity, not a loose name: Tomás Delgado has his ProfilePage and a Person with a stable @id - with Wikipedia and Wikidata in sameAs - that is the author of every Article and VideoObject. Guest narrators sign with a Person of their own, with no @id, so the show's entity is never lent to anyone else.
  • Performance as a rule: Google Analytics loads on the first interaction or 3.5 seconds after load, both fonts are served from the site's own domain with preload, CSS is inlined and LCP candidates only slide in, never starting from zero opacity.
  • The sitemap lastmod comes from each piece of content's updatedDate, the same date as the schema's dateModified, so both signals match.

Challenges

  • Separating legend from testimony without confusing readers or search engines: legends close with their real origin, and the real-stories hub explains the difference before listing the testimonies.
  • Keeping a heavy atmosphere - red glow, candle flicker, the pulsing red dot - without hurting LCP: those animations only touch opacity and transform, never shadows.
  • Avoiding near-duplication between the show's page and the narrator's page, which competed for the same thing, by separating which question each one answers.

Result

The site is in production with both legend pillars, the episodes with their transcripts, the real stories, the articles and the narrator's page, plus an llms.txt that summarizes the site for AI assistants. Every new episode is published as one more Markdown file, and every page ends by sending the reader back to the YouTube channel.

Need something like this?

Tell me what you're building and I'll come back with scope, stack and a realistic timeline.