La respuesta corta
Framer resuelve solo buena parte del SEO técnico: sirve cada página como HTML prerrenderizado, genera el sitemap, el robots.txt, las canónicas y el hreflang, y además publica una copia en Markdown de cada página para agentes de IA. Lo que pones tú es la capa de contenido: títulos y descripciones de páginas y del CMS, imágenes para redes, textos alternativos, JSON-LD y, en el plan Pro, las redirecciones.
Sus límites son de control, no de visibilidad: no hay canónica por página, el hreflang no se edita, el sitemap no trae fechas lastmod y no puedes excluir un ítem del CMS por separado. Y lo que esté dentro de un overlay no existe para los buscadores. Si tu sitio necesita ese control, Webflow o un sitio programado encajan mejor.
Qué hace Framer solo y qué configuras tú
Según el centro de ayuda y la página de precios de Framer, consultados el 21 de octubre de 2026. Precios por sitio al mes con pago anual: Basic USD 10 y Pro USD 30, unos COP 31.638 y COP 94.913 con la TRM de COP 3.163,76 de ese día (Superintendencia Financiera, datos abiertos). Un guion significa que la documentación no exige un plan.
| Función | Lo que viene hecho | Lo que configuras | Plan |
|---|---|---|---|
| HTML | Páginas prerrenderizadas en el servidor | Nada | — |
| Sitemap XML | Se genera al publicar, uno por idioma | Noindex en lo que sobra | — |
| robots.txt | Permite todo y anuncia el sitemap | Subir tu propio archivo | Pro |
| Canónicas | Según el dominio conectado | URL canónica propia detrás de un proxy | Advanced Hosting |
| Títulos y descripciones | Uno por defecto para el sitio | Por página; variables del CMS | — |
| Redirecciones | Quita la barra final con un 308 | Reglas, comodines, carga masiva | Pro |
| Datos estructurados | Ninguno | JSON-LD en código personalizado | — |
hreflang y lang | Automáticos por idioma | Nada (no se editan) | Complemento de idioma |
| Markdown para IA | Automático | Subir llms.txt | llms.txt: Pro |
Renderizado: lo que Google ve de verdad
Framer está hecho con React, y eso preocupa a quien recuerda sitios en JavaScript que los buscadores veían en blanco. El centro de ayuda dice que cada página se prerrenderiza a HTML en sus servidores, y coincide con lo que medimos: el blog de Framer, descargado el 21 de octubre de 2026 sin ejecutar JavaScript, traía 1.325 palabras, 434 enlaces y un H1 en el HTML.
Cuatro detalles:
- Prerrenderizado según tráfico. Según la guía de hosting, Framer renderiza al publicar las páginas más visitadas y el resto en la primera visita, y lo guarda en caché; menos del 1% de las visitas suele ver una versión sin optimizar (optimización dinámica). Cuando publiques una página nueva, ábrela tú una vez antes de que llegue Googlebot.
- Los overlays no están en el HTML. Su contenido no se renderiza en la primera carga, y Framer dice que hoy no hay forma de hacerlo rastreable. Un menú que solo existe en un overlay esconde todas las páginas a las que enlaza.
- El scroll infinito tiene techo. Googlebot renderiza una ventana de unos 12.000 px de alto y Framer carga los ítems que caben ahí (scroll infinito y SEO). Lo que queda más abajo necesita otro enlace: anterior/siguiente, categorías o un mapa del sitio en HTML.
- Los H1 repetidos son normales. Framer duplica elementos por breakpoint y los oculta con CSS; las herramientas de auditoría ven varios H1, pero Google renderiza la página e ignora los ocultos.
Copias en Markdown para agentes de IA
Framer sirve una versión en Markdown de cada página optimizada en la misma URL, cuando la petición pide Accept: text/markdown o cuando agregas ?md, con una sección de navegación al final. De 21 sitios hechos en Framer que tomamos de su galería y probamos el 21 de octubre de 2026, 20 devolvieron Markdown; la excepción pasa por un proxy. Webflow, en cambio, aloja un llms.txt pero aclara que no genera Markdown por página. No está probado que esto te haga aparecer más en respuestas de IA, pero sí le facilita la lectura a los agentes; más en nuestra guía para aparecer en respuestas de IA.
Sitemap y robots.txt
Framer genera /sitemap.xml al publicar, sin nada que configurar. En un sitio con idiomas se convierte en un índice con un archivo por idioma, y el hreflang va en el <head> de cada página.
Lo que la ayuda dice y no pudimos confirmar: describe un sitemap con la fecha de última actualización, pero ninguno de los 20 sitemaps que leímos traía <lastmod>. Google usa esa fecha cuando es verificablemente exacta para decidir qué volver a rastrear, así que en un blog grande pierdes una pista que Webflow o un sitio programado sí dan. En un sitio de 20 páginas casi no importa.
Para sacar una página de los buscadores, apaga Search engines en su configuración: Framer agrega <meta name="robots" content="noindex"> en vez de tocar el robots.txt (documentación), que es lo que recomienda Google. En una página del CMS ese ajuste es de la plantilla y aplica a todos los ítems; no encontramos un interruptor por ítem en la ayuda de Framer.
El robots.txt por defecto de los 20 sitios era el mismo: permitir todo y anunciar el sitemap. Para cambiarlo, sube tu propio robots.txt como archivo estático en Pro o Enterprise (50 archivos en Pro, 500 con Advanced Hosting); reemplaza el generado. Por la misma vía se publican llms.txt y archivos .well-known. Antes de bloquear bots de IA, revisa el costo en nuestra guía para bloquear rastreadores de IA.
Canónicas y dominios
Framer escribe una canónica para cada página a partir del dominio conectado. Quita los parámetros (/blog?x=1 declara /blog) y redirige la versión con barra final a la que no la tiene.
Lo que no puedes es apuntar la canónica de una página a otra URL. Framer documenta solo una URL canónica propia para todo el sitio cuando se sirve detrás de un proxy inverso, y viene con el complemento Advanced Hosting (USD 200 al mes con pago anual, unos COP 632.752). Sin él, las etiquetas de un sitio con proxy pueden quedar apuntando a la dirección .framer.website del proyecto, justo lo que hacía uno de los 21 sitios que revisamos. Agregar otra canónica con código deja dos etiquetas en conflicto, algo que Google pide no hacer.
Tres dominios que no hay que confundir:
- Tu dominio propio: el que debe posicionar.
.framer.app: el dominio base de cada proyecto; Framer dice que no se indexa..framer.website: los dominios gratuitos. Estos sí se indexan: las plantillas que revisamos permitían el rastreo y se declaraban canónicas. Si construiste ahí antes de conectar tu dominio, ponle noindex o redirígelo cuando te mudes.
Redirecciones
Las redirecciones son de Pro: Basic no tiene, y eso importa si tu sitio reemplaza uno anterior. Se crean en Site Settings › Hosting › Redirects (documentación):
*cubre cualquier tramo:/blog/*atrapa/blog/holay/blog/2022/07/18/hola.:1,:2reutilizan lo capturado:/blog/*/post/*→/articulo/:1/entrada/:2.- Las reglas se ejecutan en el orden en que las arrastras.
- Si cambias una ruta que usa una regla, la regla no se actualiza sola.
- Solo redirigen rutas del dominio actual; cambiar de dominio exige una redirección en el proveedor del dominio viejo.
Framer responde con 308, que Google trata como redirección permanente igual que un 301. Para cargas masivas, el plugin Redirect Sync importa y exporta CSV con columnas from y to; a diferencia de Webflow, que borra todo al importar, actualiza las reglas cuyo from coincide. Nuestro generador de redirecciones 301 arma la lista a partir de tus sitemaps viejo y nuevo.
Títulos, descripciones e imágenes para redes
Framer parte de un título y una descripción para todo el sitio y deja sobrescribirlos por página (guía de metadatos). La comodidad tiene trampa: cada página que olvides comparte la descripción general y los resultados muestran el mismo texto para todas.
En el CMS usa variables: {{Titulo}} – Blog en el título, {{Descripcion}} en la descripción y un campo de imagen para la vista previa, que Framer dimensiona en 1200 × 630. Crea campos de texto propios para "Título SEO" y "Descripción SEO" en cada colección en vez de reutilizar el titular visible.
Datos estructurados
No hay editor de schema. El JSON-LD va en código personalizado, asignado a las páginas que describe, y en el CMS se llena con campos usando el filtro | json (guía de JSON-LD); {{Created}} y {{Updated}} existen en todos los ítems:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": {{Title | json}},
"description": {{Excerpt | json}},
"image": {{Cover_Image | json}},
"datePublished": {{Created | json}},
"dateModified": {{Updated | json}},
"author": { "@type": "Person", "name": {{Author_Name | json}} }
}
</script>A diferencia del campo de schema de Webflow, aquí sí funcionan los campos de una colección referenciada, como el autor del ejemplo oficial. Valida la página publicada con la prueba de resultados enriquecidos de Google.
Idiomas: hreflang y rutas traducidas
Cada idioma cuesta USD 20 al mes con pago anual (unos COP 63.275), con hasta 20 en Basic y Pro, según la página de precios. Un sitio colombiano en Pro con versión en inglés para clientes de Estados Unidos paga USD 30 + USD 20 = USD 50 al mes, unos COP 158.188. Agregar idiomas y escribir las traducciones no consume créditos; la traducción con IA sí (agregar un idioma).
- El hreflang y el
langson automáticos y no se editan (atributo de idioma). En los tres sitios multilingües de Framer que revisamos, cada página listaba todos sus idiomas más unx-defaulthacia el idioma principal. - Las rutas se traducen. Activa Translate Page Paths y dale a cada idioma su ruta (
/empleosen español,/careersen inglés); los slugs del CMS también (rutas localizadas). En Webflow eso exige el plan Localize Advanced. - Lo no traducido cae al idioma de respaldo. Un idioma publicado con textos sin traducir es casi un duplicado con hreflang. Traduce antes de publicar.
- Ocultar páginas tiene límites. Según la documentación, desde noviembre de 2025 solo se pueden ocultar páginas en idiomas recién agregados, nunca en el principal; la página oculta da 404.
- La redirección automática ocurre en el navegador. Usa los idiomas del navegador, nunca la geolocalización, y solo redirige a quien llega al idioma principal (cómo funciona). Cuando pedimos la portada de Framer con
Accept-Languageen japonés, el servidor respondió 200.
Las decisiones de URL y hreflang detrás de todo esto están en nuestra guía de SEO multilingüe.
Velocidad: cómo les va a los sitios en Framer con usuarios reales
El informe de tecnologías del HTTP Archive, basado en datos reales de Chrome, da el porcentaje de sitios que aprueba los tres Core Web Vitals en móvil en septiembre de 2026, según el país de los visitantes:
| Visitantes en | Framer | Webflow | Todos los sitios | Sitios en Framer medidos |
|---|---|---|---|---|
| Colombia | 36,2% | 43,6% | 32,4% | 152 |
| México | 54,7% | 50,1% | 40,5% | 338 |
| Argentina | 47,9% | 41,5% | 37,9% | 315 |
| Chile | 62,2% | 52,5% | 38,5% | 119 |
| Perú | 45,5% | 44,4% | 29,1% | 112 |
| España | 67,6% | 59,7% | 53,1% | 417 |
| Estados Unidos | 81,7% | 80,2% | 63,3% | 1.966 |
Framer supera a Webflow en casi todos los países, pero no en Colombia, donde además bajó de 43,9% en septiembre de 2025 a 36,2% (con una muestra pequeña de 152 sitios, así que tómalo con cautela). El punto débil es la interactividad: solo el 37,9% de los sitios en Framer tiene un INP bueno para visitantes colombianos y el 56,8% en México, frente al 80,3% en el mundo. Según los datos de peso de página, la portada mediana en Framer pesa 3,1 MB en móvil con 816 KB de JavaScript; animaciones de scroll y embeds pesados en teléfonos de gama media son la causa probable.
Lo que ayuda, según las recomendaciones de Framer: efectos Appear en vez de animaciones de scroll en la parte superior, desenfoques por debajo de 10, videos en YouTube o Vimeo (Framer sirve el video en su resolución original) y scripts externos con defer. Nuestra guía para mejorar el INP muestra cómo encontrar la interacción lenta, y el informe de velocidad de plataformas web compara plataformas en cada país.
Los límites de Framer frente a Webflow y un sitio programado
| Framer | Webflow | Sitio programado (p. ej. Astro) | |
|---|---|---|---|
| Canónica por página | No | Páginas estáticas | Cualquier página |
lastmod en el sitemap | No en los 20 que leímos | Sí | Si lo agregas |
| Excluir un ítem del CMS | Sin interruptor por ítem | Sí (Premium) | Sí |
| Redirecciones | Pro; la importación combina | Planes pagos; la importación reemplaza | Archivo de configuración |
| robots.txt | Subir un archivo (Pro) | Editor (pago) | Archivo en el repositorio |
| Schema con campos referenciados | Sí, en código | No | Sí |
| hreflang | Automático, fijo | Automático, se puede apagar | Lo escribes tú |
| Slugs traducidos | Incluidos con los idiomas | Localize Advanced | Sí |
| RSS | No viene incluido | Premium | Si lo construyes |
| Markdown por página | Automático | No | Si lo construyes |
"Sitio programado" significa que tú o tu desarrollador construyen cada una de estas piezas: más control y más mantenimiento. dardo.studio, por ejemplo, es un sitio en Astro que publica llms.txt y una copia en Markdown de cada página porque las programamos. Una guía de Framer reconoce que no genera feeds RSS de forma nativa. La comparación completa de costos y flujo de trabajo está en Webflow vs Framer, y si ya decidiste salir, en migrar de Framer a Astro.
Los problemas más comunes
- Navegación dentro de un overlay. Las páginas enlazadas solo desde ahí quedan huérfanas para Google. Repite los enlaces en el pie de página o en el contenido.
- Sitio con proxy y canónica equivocada. Mira el código fuente; si la canónica dice
.framer.website, configura la URL canónica propia o conecta el dominio directamente. - Una copia vieja en
.framer.websitesigue indexada. Buscasite:tunombre.framer.websitey ponle noindex o redirígela. - Sin redirecciones en Basic. Un sitio que reemplaza a otro necesita Pro al menos el primer año.
- Slugs renombrados. Después de cambiar una ruta, verifica que la vieja redirija.
- Listas largas del CMS. El scroll infinito deja ítems sin enlace rastreable; agrega categorías y enlaces anterior/siguiente.
- Idiomas sin traducir. Textos de respaldo bajo un idioma publicado son contenido duplicado con hreflang.
Checklist de SEO en Framer
- Dominio propio conectado y sin copia viva en
.framer.website. - Con proxy: URL canónica propia configurada y revisada en el código fuente.
- Título y descripción propios en cada página; nada depende del valor general.
- Páginas del CMS con campos de título y descripción SEO e imagen de 1200 × 630.
- Texto alternativo en cada imagen con significado, escrito por idioma.
- Un H1 visible por breakpoint.
- Ningún contenido o enlace que exista solo en un overlay.
- Páginas de utilidad y de gracias con noindex.
- JSON-LD en código personalizado, asignado a las páginas correctas y con
| json. - Plan Pro si tienes URL viejas; redirecciones probadas y exportadas.
- Sitemap enviado en Search Console.
- robots.txt cambiado solo si hace falta, con la decisión sobre bots de IA tomada.
- Idiomas traducidos por completo, con rutas traducidas, antes de publicarlos.
- Páginas nuevas abiertas una vez después de publicar.
- INP móvil revisado en Search Console al mes de tráfico.
Qué hacer ahora
Pasa la lista por tu sitio y compara Framer con otras plataformas para los visitantes de tu país en el informe de velocidad de plataformas web; los costos de planes y complementos están en precios de Framer. Si quieres que Dardo construya o audite tu sitio en Framer, mira nuestros servicios de desarrollo en Framer y de SEO técnico.
Preguntas frecuentes
¿Framer es bueno para SEO?
Para la mayoría de sitios de marketing, sí. Framer sirve HTML prerrenderizado y genera sitemap, canónicas, robots.txt y hreflang, y sus sitios aprueban los Core Web Vitals tan seguido como los de Webflow a nivel mundial. Se queda corto cuando necesitas control fino: canónicas por página, hreflang editable, fechas lastmod o excluir ítems sueltos del CMS.
¿Google puede indexar un sitio en Framer hecho con React?
Sí. Framer prerrenderiza cada página a HTML en sus servidores, así que el texto y los enlaces están en el HTML antes de que corra cualquier JavaScript. La excepción es el contenido dentro de overlays, que no se renderiza en la primera carga y que Framer dice que no se puede hacer rastreable.
¿Framer tiene redirecciones 301?
Sí, desde el plan Pro, en Site Settings › Hosting › Redirects, con comodines y grupos de captura. Framer responde con códigos 308, que Google trata como permanentes igual que un 301. El plan Basic no tiene redirecciones, y no puedes redirigir un dominio completo desde Framer.
¿Cómo agrego schema en Framer?
Agrega un script JSON-LD en el código personalizado y asígnalo a las páginas que describe. En las páginas del CMS inserta campos con la sintaxis {{Campo | json}} para que cada ítem tenga sus propios valores; las fechas {{Created}} y {{Updated}} vienen incluidas. Valida la página publicada con la prueba de resultados enriquecidos de Google.
¿Puedo editar el hreflang en Framer?
No. Framer genera el atributo lang y las etiquetas hreflang de cada idioma, incluido un x-default hacia el idioma principal, y no se pueden editar desde la interfaz. Tú decides qué idiomas existen, sus rutas traducidas y qué páginas se ocultan en cada idioma.
¿Cuánto cuesta un sitio bilingüe en Framer?
En el plan Pro con un idioma adicional, USD 30 más USD 20 al mes con pago anual, es decir USD 50, unos COP 158.188 con la TRM del 21 de octubre de 2026. Las redirecciones vienen en Pro; si además lo sirves detrás de un proxy, Advanced Hosting suma USD 200 al mes.
Fuentes y lecturas
Fuentes de esta página, con más detalles de sus publicaciones originales.
- Framer: Pricingframer.com
- Superintendencia Financiera de Colombia (datos abiertos): Tasa de Cambio Representativa del Mercadodatos.gov.co
- Framer Help: Make your site readable by AI agentsframer.com
- Framer Help: Guide to Framer's hosting infrastructureframer.com
- Framer Help: What is Traffic-aware Pre-Rendering (TPR)?framer.com
- Framer Help: Fixing uncrawlable overlay contentframer.com
- Framer Help: Infinite scrolling and SEOframer.com
- Framer: Gallery (sitios revisados el 21 de octubre de 2026)framer.com
- Webflow Help: Upload an llms.txt file to your sitehelp.webflow.com
- Framer Help: How to access your sitemapframer.com
- Google Search Central: Crea y envía un sitemapdevelopers.google.com
- Framer Help: Prevent pages from being indexed by search enginesframer.com
- Framer Help: Static filesframer.com
- Framer Help: Set up a custom canonical URLframer.com
- Google Search Central: Cómo especificar una URL canónicadevelopers.google.com
- Framer Help: How to self host using a reverse proxyframer.com
- Framer Help: How to set up redirects to maintain SEO rankingframer.com
- Google Search Central: Redirecciones y la Búsqueda de Googledevelopers.google.com
- Framer Help: Bulk exporting and importing redirectsframer.com
- Framer Help: How to update page titles, descriptions, and social imagesframer.com
- Framer Help: Structured data through JSON-LDframer.com
- Framer Help: Adding a new localeframer.com
- Framer Help: Language attributeframer.com
- Framer Help: Localized page pathsframer.com
- Framer Help: How to exclude items from localesframer.com
- Framer Help: How does Automatic Locale workframer.com
- HTTP Archive: API del informe de tecnologías, Core Web Vitals de Framer y Webflow por país (septiembre de 2026)cdn.httparchive.org
- HTTP Archive: API del informe de tecnologías, peso de página (septiembre de 2026)cdn.httparchive.org
- Framer Help: Optimizing your site for speed and performanceframer.com
- Framer Guides: Reduce SEO risk during a WordPress to Framer migrationframer.com
