Indexar tu Blog en Google: Guia Tecnica
Como indexar un blog en Google Search Console: sitemap, robots.txt, canonical URLs, structured data, Core Web Vitals e IndexNow. Guia tecnica completa.
Indexar tu Blog en Google: Guia Tecnica
Si publicaste tu blog y no aparece en Google, no es porque Google te ignore. Es porque hay un proceso tecnico entre "tu pagina existe" y "tu pagina aparece en resultados". Entender como indexar un blog en Google Search Console correctamente te ahorra semanas de espera y errores silenciosos que bloquean el rastreo sin que lo notes.
Esta guia cubre todo el proceso tecnico de principio a fin: desde configurar GSC y Bing Webmaster Tools, hasta sitemap, robots.txt, canonical URLs, structured data, Core Web Vitals e IndexNow. Este mismo blog (rodalexanderson.com) implementa todo esto en produccion, asi que los ejemplos son reales.
Rastreo vs indexacion: la diferencia que necesitas entender primero
Antes de cualquier configuracion, necesitas tener clara esta distincion porque mucha gente los confunde y termina buscando el problema en el lugar equivocado.
Rastreo es cuando Googlebot visita tu URL, descarga el HTML y sigue los links que encuentra. Es el equivalente a que alguien abra tu pagina en el navegador.
Indexacion es cuando Google decide agregar esa pagina a su base de datos de busqueda. Es una decision editorial del algoritmo, no automatica.
El flujo es secuencial y unidireccional:
Descubrimiento de URL -> Rastreo -> Procesamiento -> Indexacion -> RankingUna pagina puede ser rastreada y no indexada. Eso pasa cuando:
- Tiene una meta tag
<meta name="robots" content="noindex"> - Tiene
X-Robots-Tag: noindexen el header HTTP - Tiene contenido duplicado o de baja calidad que Google considera que no vale indexar
- El canonical apunta a otra URL
robots.txtbloquea el rastreo (en ese caso ni siquiera se rastrea)
La herramienta de Inspeccion de URL en Google Search Console te dice exactamente en que paso esta cada pagina. Si no la usas, estaras adivinando.
Configurar Google Search Console: verificacion de propiedad paso a paso
Google Search Console es la herramienta principal para monitorear como Google ve tu sitio. Sin ella, estaras ciegos.
Agregar tu propiedad
- Ve a search.google.com/search-console
- Haz clic en "Agregar propiedad"
- Elige "Prefijo de URL" (no "Dominio") si tu sitio tiene subdominos distintos, o "Dominio" si quieres cubrir todo bajo tu dominio en una sola propiedad
Para la mayoria de blogs, la propiedad de tipo Dominio es la correcta. Cubre www, sin www, http, https y subdominios en una sola vista.
Metodos de verificacion
Google ofrece varios. El mas practico para un blog en Next.js o cualquier framework moderno es el archivo HTML:
- Descarga el archivo de verificacion (algo como
google1234abc.html) - Coloca ese archivo en tu directorio
public/ - Deploy
- Haz clic en "Verificar" en GSC
Si usas Next.js con la Metadata API, tambien puedes usar el metodo de meta tag. Para una implementacion completa de metadata en Next.js, revisa la guia de SEO con Metadata API, Open Graph y Sitemap en Next.js.
// app/layout.tsx
import type { Metadata } from "next"
export const metadata: Metadata = {
verification: {
// El codigo que Google te da en GSC
google: "tu-codigo-de-verificacion-aqui",
},
}Que revisar primero en GSC
Una vez verificado, navega a estas secciones:
- Cobertura (o "Indexacion" en la version nueva): te muestra cuantas URLs estan indexadas, cuales tienen errores y cuales estan excluidas
- Sitemaps: para enviar tu sitemap y ver si tiene errores
- Inspeccion de URL: para verificar el estado de cualquier URL especifica
- Rendimiento: cuantos clics e impresiones obtienes por keyword
Configurar Bing Webmaster Tools (y por que no ignorarlo)
Bing tiene una participacion de mercado significativa en busquedas desktop (segun StatCounter, cerca del 10% global y mayor en EE.UU.) y es el motor detras de Copilot de Microsoft. Ignorarlo es dejar trafico real sobre la mesa, especialmente si tu audiencia esta en Latinoamerica donde Yahoo (que usa Bing) tambien tiene presencia.
Registro y verificacion
- Ve a bing.com/webmasters
- Puedes importar tu sitio directamente desde Google Search Console. Si ya tienes GSC configurado, esto tarda 2 minutos
- Alternativamente, agrega manualmente tu URL y verifica con el archivo HTML (igual que GSC) o con un meta tag
La ventaja de Bing sobre Google: IndexNow
Bing soporta IndexNow, un protocolo que te permite notificar al motor de busqueda cuando publicas o actualizas contenido. Esto reduce el tiempo de indexacion de dias a minutos. Lo cubrimos en detalle mas adelante en esta guia.
sitemap.xml: estructura correcta, errores comunes y como enviarlo
El sitemap.xml es un archivo que lista todas las URLs de tu sitio junto con metadatos opcionales como fecha de ultima modificacion y frecuencia de cambio. Le dice a Google que paginas existen, especialmente las que no tiene links directos.
Estructura minima correcta
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tu-blog.com/blog/primer-post</loc>
<lastmod>2026-03-01</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://tu-blog.com/blog/segundo-post</loc>
<lastmod>2026-03-05</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>Sitemap dinamico en Next.js
Si usas Next.js 13+, puedes generar el sitemap automaticamente desde app/sitemap.ts. No necesitas un paquete externo ni mantener un XML a mano:
// app/sitemap.ts
import type { MetadataRoute } from "next"
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
// Aqui cargas tus posts desde el filesystem, DB o CMS
const posts = await getAllPosts()
const postUrls = posts.map((post) => ({
url: `https://tu-blog.com/blog/${post.slug}`,
lastModified: new Date(post.updatedAt),
changeFrequency: "monthly" as const,
priority: 0.8,
}))
return [
{
url: "https://tu-blog.com",
lastModified: new Date(),
changeFrequency: "weekly",
priority: 1,
},
...postUrls,
]
}Next.js sirve esto automaticamente en /sitemap.xml. Para una implementacion mas completa con imagenes y multiples sitemaps, revisa la guia de sitemap automatico en Next.js.
Errores comunes en el sitemap
URLs bloqueadas por robots.txt en el sitemap. Si una URL esta en tu sitemap pero tu robots.txt la bloquea, estas enviando senales contradictorias. Google puede ignorar el sitemap o penalizarte por confusion.
URLs con canonical apuntando a otra pagina. Si /post-1 tiene un canonical a /post-1-version-nueva, incluye solo la URL canonical en el sitemap.
lastmod que no cambia. Si siempre pones la fecha de hoy como lastmod, Google aprende a ignorarlo. Usa la fecha real de ultima modificacion del contenido.
Sitemap demasiado grande. El limite es 50,000 URLs o 50MB por archivo. Si tienes mas, divide en multiples sitemaps y usa un sitemap index.
Enviar el sitemap a GSC
- En Google Search Console, ve a Sitemaps en el menu lateral
- Escribe la URL de tu sitemap (generalmente
/sitemap.xml) - Haz clic en "Enviar"
- GSC procesa el sitemap y te muestra cuantas URLs encontro y si hay errores
Tambien puedes enviar el sitemap a Bing desde su Webmaster Tools de la misma forma.
robots.txt: que bloquear, que no bloquear y errores que destruyen tu indexacion
El robots.txt es un archivo de texto en la raiz de tu dominio que le dice a los crawlers que pueden y que no pueden rastrear. Un error aqui puede bloquear tu sitio completo de Google sin ninguna advertencia visible.
Estructura basica
# robots.txt
User-agent: *
Allow: /
# Bloquear rutas que no necesitan indexarse
Disallow: /api/
Disallow: /_next/
Disallow: /admin/
# Sitemap
Sitemap: https://tu-blog.com/sitemap.xmlQue si debes bloquear
/api/-- tus endpoints de API no necesitan aparecer en Google/_next/-- archivos internos de Next.js/admin/-- cualquier panel de administracion- Rutas de preview o staging:
/preview/,/draft/ - Paginas de error o utilidades:
/404,/500
Que NO debes bloquear (errores fatales)
No bloquees / a menos que quieras desaparecer de Google. Parece obvio, pero he visto Disallow: / en sitios de produccion que alguien copio de un entorno de staging.
No bloquees los archivos CSS y JS. Google necesita renderizar tu pagina para entender su contenido. Si bloqueas los assets, Googlebot ve el HTML crudo sin estilos y puede evaluar tu contenido de forma incorrecta.
No bloquees URLs que esten en tu sitemap. Contradiccion directa entre los dos archivos.
X-Robots-Tag: el robots.txt oculto
Ademas del archivo robots.txt, puedes controlar el rastreo e indexacion via headers HTTP. El header X-Robots-Tag funciona igual que la meta tag noindex pero a nivel de servidor, lo que significa que aplica a cualquier tipo de archivo, no solo HTML.
Esto es relevante porque a veces tienes directivas de noindex configuradas en el middleware o en headers de seguridad sin darte cuenta.
# Verificar si tu URL tiene X-Robots-Tag
curl -I https://tu-blog.com/blog/tu-post | grep -i "x-robots-tag"Detecta X-Robots-Tag ocultos en tus headers
El verificador de headers HTTP de datahogo analiza todos los headers de respuesta de tu URL, incluyendo X-Robots-Tag. Si tienes una directiva noindex escondida en tus headers de seguridad, la herramienta la detecta. Funciona sin registro y es gratis.
robots.txt en Next.js
Puedes generar tu robots.txt dinamicamente desde app/robots.ts:
// app/robots.ts
import type { MetadataRoute } from "next"
export default function robots(): MetadataRoute.Robots {
return {
rules: [
{
userAgent: "*",
allow: "/",
disallow: ["/api/", "/_next/", "/admin/"],
},
// Whitelist de crawlers de IA (opcional pero recomendado)
{
userAgent: "GPTBot",
allow: "/",
},
{
userAgent: "ClaudeBot",
allow: "/",
},
],
sitemap: "https://tu-blog.com/sitemap.xml",
}
}Canonical URLs: cuando usarlas y como implementarlas
Una canonical URL le dice a Google "esta es la version definitiva de este contenido". Sin ella, si el mismo contenido es accesible desde multiples URLs, Google tiene que adivinar cual indexar, y puede elegir la equivocada o dividir la autoridad entre las dos.
Casos donde necesitas canonical
Parametros de URL. Si tu pagina de post es accesible en /blog/mi-post y en /blog/mi-post?ref=newsletter, son tecnicalmente URLs distintas con el mismo contenido.
www vs sin www. Aunque GSC te permite elegir la version preferida, el canonical refuerza la preferencia.
Paginas de paginacion. /blog?page=1, /blog?page=2 etc. El canonical de cada una deberia apuntar a si misma (no a la pagina 1), pero el contenido del tag <link rel="canonical"> debe ser exacto.
Contenido sindicado. Si publicas el mismo articulo en tu blog y en un medio externo, el medio externo deberia poner el canonical apuntando a tu URL original.
Implementacion en Next.js
// app/blog/[slug]/page.tsx
import type { Metadata } from "next"
export async function generateMetadata({
params,
}: {
params: { slug: string }
}): Promise<Metadata> {
return {
alternates: {
// Canonical URL explicita y absoluta
canonical: `https://tu-blog.com/blog/${params.slug}`,
},
}
}Next.js genera automaticamente:
<link rel="canonical" href="https://tu-blog.com/blog/tu-post" />Errores comunes con canonical
Canonical relativo en lugar de absoluto. El canonical debe ser una URL completa con protocolo y dominio, no /blog/mi-post.
Canonical que apunta a una URL que redirige. El canonical debe apuntar directamente a la URL final, sin redirecciones intermedias.
Self-canonical inconsistente. Si a veces incluyes el trailing slash (/blog/mi-post/) y a veces no (/blog/mi-post), tienes un problema de consistency. Elige uno y usalo siempre.
Structured Data para blogs: BlogPosting, FAQPage y como validarlos
El structured data (datos estructurados) es codigo JSON-LD que embedes en tu HTML para decirle a Google exactamente que tipo de contenido es tu pagina. Google lo usa para mostrar rich results: estrellas, preguntas frecuentes, breadcrumbs, tiempo de lectura.
Para un blog, los schemas mas utiles son BlogPosting y FAQPage.
BlogPosting schema
// components/StructuredData.tsx
interface BlogPostingSchemaProps {
title: string
description: string
publishedAt: string
updatedAt: string
authorName: string
url: string
imageUrl?: string
}
export function BlogPostingSchema({
title,
description,
publishedAt,
updatedAt,
authorName,
url,
imageUrl,
}: BlogPostingSchemaProps) {
const schema = {
"@context": "https://schema.org",
"@type": "BlogPosting",
headline: title,
description,
datePublished: publishedAt,
dateModified: updatedAt,
author: {
"@type": "Person",
name: authorName,
},
url,
...(imageUrl && { image: imageUrl }),
}
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
)
}FAQPage schema
Las FAQs en structured data son especialmente valiosas porque Google puede mostrarlas como featured snippets directamente en los resultados de busqueda.
interface FAQItem {
question: string
answer: string
}
export function FAQSchema({ items }: { items: FAQItem[] }) {
const schema = {
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: items.map((item) => ({
"@type": "Question",
name: item.question,
acceptedAnswer: {
"@type": "Answer",
text: item.answer,
},
})),
}
return (
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
)
}Validar structured data
Google tiene una herramienta oficial: Rich Results Test. Pega tu URL o tu HTML y te dice si el schema es valido y si califica para rich results.
Tambien puedes usar el Schema Markup Validator de Schema.org para validacion mas detallada.
Meta tags esenciales: title, description, OG y Twitter Cards
Los meta tags controlan como tu pagina aparece en resultados de busqueda y en previews de redes sociales. Son la diferencia entre un resultado que genera clicks y uno que nadie toca.
Title tag
El <title> es el factor on-page mas importante para SEO. Reglas practicas:
- Menos de 60 caracteres (lo que Google muestra antes de truncar)
- Incluye el keyword primario, idealmente al inicio
- Cada pagina debe tener un title unico
- El formato
Keyword Principal | Nombre del Blogfunciona bien
Meta description
Google no siempre la usa (a veces genera su propia descripcion), pero cuando la usa, es lo que ve el usuario antes de hacer clic.
- Entre 150 y 160 caracteres
- Debe incluir el keyword primario de forma natural
- Orientada a generar el clic, no solo a describir el contenido
- Cada pagina necesita una meta description unica
Open Graph y Twitter Cards
Sin estas meta tags, cuando alguien comparte tu post en redes sociales, el preview es un desastre.
// app/blog/[slug]/page.tsx
export async function generateMetadata({
params,
}: {
params: { slug: string }
}): Promise<Metadata> {
const post = await getPost(params.slug)
return {
title: post.title,
description: post.description,
openGraph: {
title: post.title,
description: post.description,
type: "article",
publishedTime: post.publishedAt,
modifiedTime: post.updatedAt,
authors: [post.author.name],
images: [
{
url: post.featuredImage.src,
width: 1200,
height: 630,
alt: post.featuredImage.alt,
},
],
},
twitter: {
card: "summary_large_image",
title: post.title,
description: post.description,
images: [post.featuredImage.src],
},
}
}Core Web Vitals: LCP, CLS y INP -- que numeros necesitas y como medirlos
Los Core Web Vitals son las metricas de experiencia de usuario que Google usa como factor de ranking. No son el factor mas importante (el contenido sigue siendo el rey), pero son el desempate entre paginas de calidad similar.
Las tres metricas que importan
LCP (Largest Contentful Paint) mide cuando el elemento mas grande visible termina de cargar. Para un blog, generalmente es la imagen destacada o el bloque de texto principal.
| Valor | Evaluacion |
|---|---|
| Menos de 2.5s | Bueno |
| 2.5s - 4.0s | Necesita mejora |
| Mas de 4.0s | Malo |
CLS (Cumulative Layout Shift) mide cuanto se mueve visualmente el contenido mientras la pagina carga. Ese salto frustrante cuando vas a hacer clic en algo y de repente se mueve.
| Valor | Evaluacion |
|---|---|
| Menos de 0.1 | Bueno |
| 0.1 - 0.25 | Necesita mejora |
| Mas de 0.25 | Malo |
INP (Interaction to Next Paint) reemplazo a FID en 2024. Mide la latencia de todas las interacciones del usuario con la pagina (clics, teclado, etc.).
| Valor | Evaluacion |
|---|---|
| Menos de 200ms | Bueno |
| 200ms - 500ms | Necesita mejora |
| Mas de 500ms | Malo |
Como medirlos
PageSpeed Insights (pagespeed.web.dev) es el primer lugar donde verificar. Muestra tanto datos de laboratorio como datos reales de usuarios de Chrome (Field Data).
Google Search Console tiene una seccion de "Experiencia de pagina" que muestra cuantas URLs de tu sitio pasan o fallan cada metrica.
Chrome DevTools -- abre Lighthouse en el panel DevTools de Chrome para un analisis detallado con recomendaciones especificas.
Optimizaciones mas impactantes para blogs
LCP: Agrega priority a tu imagen principal en Next.js:
// Imagen principal del post -- siempre con priority
<Image
src={featuredImage.src}
alt={featuredImage.alt}
width={1200}
height={630}
priority // Esto agrega fetchpriority="high" y preload
/>CLS: Siempre especifica width y height en todas las imagenes para que el navegador reserve el espacio antes de que carguen.
INP: Minimiza el JavaScript que corre en el hilo principal. Para blogs de contenido, esto generalmente significa auditar que tanto JavaScript de terceros (analytics, chat widgets, ads) estas cargando.
IndexNow: el protocolo que notifica a Bing al instante
IndexNow es un protocolo abierto que te permite notificar a los motores de busqueda cuando publicas o actualizas contenido. En lugar de esperar a que el crawler pase por tu sitio, tu servidor les avisa directamente.
Lo soportan: Bing, Yandex, Seznam.cz y otros. Google todavia no lo adopta oficialmente, pero el equipo de Bing ha confirmado que comparten las notificaciones con otros motores que lo soliciten.
Como funciona
- Generas una API key (un string UUID aleatorio)
- Subes un archivo de verificacion a tu dominio
- Cuando publicas o actualizas una URL, haces un POST al endpoint de IndexNow con tu key y la URL
# Notificar a Bing sobre una URL nueva o actualizada
curl -X POST "https://api.indexnow.org/IndexNow" \
-H "Content-Type: application/json" \
-d '{
"host": "tu-blog.com",
"key": "tu-api-key-aqui",
"keyLocation": "https://tu-blog.com/tu-api-key-aqui.txt",
"urlList": [
"https://tu-blog.com/blog/nuevo-post"
]
}'La respuesta esperada es un HTTP 200 o 202. Ambos codigos confirman que el servidor recibio tu notificacion, no que la URL ya fue indexada. La indexacion depende de cada motor y puede tomar horas o dias.
Implementacion en Next.js
Este blog tiene IndexNow activo. La implementacion es un endpoint de API que se llama automaticamente cuando se publica contenido nuevo:
// app/api/indexnow/route.ts
export async function POST(request: Request) {
const { urls } = await request.json()
const response = await fetch("https://api.indexnow.org/IndexNow", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
host: process.env.SITE_HOST,
key: process.env.INDEXNOW_KEY,
keyLocation: `https://${process.env.SITE_HOST}/${process.env.INDEXNOW_KEY}.txt`,
urlList: urls,
}),
})
return Response.json({ status: response.status })
}El archivo de verificacion es un .txt en public/ con el nombre de tu API key y el contenido de la key adentro:
# public/tu-api-key-aqui.txt
# El contenido del archivo es solo la key
tu-api-key-aquiVale la pena implementarlo?
Si. Tarda menos de una hora en implementar y los beneficios son reales: tus posts aparecen en Bing en minutos en lugar de dias. Para un blog que publica contenido nuevo regularmente, eso suma. Si quieres la implementacion completa con webhook de Vercel y envio en batch, revisa la guia completa de IndexNow en Next.js.
Como verificar que Google esta indexando tus paginas
Una vez que tienes todo configurado, necesitas monitorear que efectivamente funciona.
Operador site: en Google
La forma mas rapida de ver cuantas paginas de tu sitio estan indexadas:
site:tu-blog.comSi ves 0 resultados y tu sitio existe, tienes un problema serio (probablemente robots.txt o noindex). Si ves menos paginas de las que publicaste, algunas no estan indexadas todavia.
Herramienta de Inspeccion de URL en GSC
Esta es la herramienta mas poderosa para diagnosticar problemas de indexacion. Para cada URL te dice:
- Si esta indexada o no
- La ultima vez que Googlebot la rastro
- Si hay problemas de canonical, noindex, o redirecciones
- Como se ve el HTML renderizado (lo que Googlebot realmente ve)
Para solicitar indexacion de una URL nueva, pega la URL en la herramienta y haz clic en "Solicitar indexacion". No garantiza indexacion inmediata, pero le da prioridad en la cola de rastreo.
Informe de Cobertura
En GSC, la seccion de Cobertura (o "Indexacion") muestra el estado de todas tus URLs agrupado en:
- Validas: Indexadas correctamente
- Validas con advertencias: Indexadas pero con algun issue (ej: canonical sospechoso)
- Excluidas: No indexadas, con la razon especifica
- Errores: URLs con problemas que impiden la indexacion
Las categorias de "Excluidas" mas comunes en blogs nuevos:
- Pagina con redireccionamiento: tiene sentido, las redirecciones no se indexan
- URL no en sitemap: Google la descubrio pero no esta en tu sitemap -- agrega el sitemap
- Pagina duplicada sin canonical seleccionado por el usuario: tienes contenido duplicado sin canonical
- Rastreada pero no indexada actualmente: Google la rastro pero decidio no indexarla, generalmente por contenido de baja calidad o muy similar a otra pagina
Checklist final de verificacion
Antes de lanzar tu blog o antes de revisar por que no esta indexando, pasa por este checklist:
Configuracion base
- Google Search Console verificado con tu dominio
- Bing Webmaster Tools configurado
- Sitemap enviado a GSC y Bing, sin errores reportados
-
robots.txtno bloquea/ni los assets de CSS/JS - Ninguna pagina importante tiene
noindexactivo
Canonical y duplicados
- Todas las paginas tienen canonical URL absoluta
- El canonical coincide con la URL del sitemap
- La version www/sin-www esta unificada (redireccion 301 + canonical consistente)
- No hay parametros de URL creando duplicados sin canonical
Structured data
- BlogPosting schema en cada post
- FAQPage schema en posts con seccion de preguntas frecuentes
- Validado en Rich Results Test sin errores criticos
Meta tags
- Title unico en cada pagina, menos de 60 caracteres
- Meta description unica, entre 150-160 caracteres
- Open Graph tags configurados (og:title, og:description, og:image)
- Twitter Card configurada
- Imagen OG de 1200x630px disponible en cada post
Performance
- LCP menor de 2.5s en PageSpeed Insights
- CLS menor de 0.1
- INP menor de 200ms
- Imagenes con
widthyheightespecificados - Imagen principal del post con
priorityen Next.js Image
Indexacion activa
- Herramienta de Inspeccion de URL muestra "URL esta en Google" para los posts principales
-
site:tu-dominio.comdevuelve resultados en Google - IndexNow configurado para notificar a Bing en publicaciones nuevas
Verifica la salud tecnica de tu blog en un solo lugar
Despues de implementar todo esto, usa el score de seguridad y salud tecnica de datahogo para obtener una evaluacion consolidada de tu sitio. Detecta headers faltantes, archivos expuestos y otros problemas tecnicos que pueden estar afectando tanto tu seguridad como tu indexacion. Es gratis y sin registro.
Preguntas frecuentes
Por que Google no indexa mi blog aunque lo publique?
Las causas mas comunes son: un robots.txt que bloquea el rastreo, una meta tag noindex activa, canonical URL apuntando a otra pagina, el sitemap no enviado a GSC, o que Googlebot todavia no ha pasado. La herramienta de Inspeccion de URL en Search Console te dice exactamente por que una URL no esta indexada. Es el primer lugar donde deberias buscar.
Cuanto tiempo tarda Google en indexar una pagina nueva?
En sitios establecidos con buen historial de rastreo, entre horas y 2-3 dias. En sitios nuevos sin historial, puede tardar semanas. Enviar la URL via la herramienta de Inspeccion en GSC puede acelerar el proceso. IndexNow hace lo mismo para Bing casi de forma instantanea.
Que diferencia hay entre rastreo e indexacion en Google?
Rastreo es cuando Googlebot visita tu pagina y descarga su contenido. Indexacion es cuando Google decide incluir esa pagina en su indice de busqueda. Una pagina puede ser rastreada sin ser indexada si tiene noindex, contenido duplicado o de baja calidad. No puedes ser indexado sin ser rastreado primero.
Como verificar si mi sitio esta indexado en Google?
Usa el operador site: en Google: escribe site:tu-dominio.com y ve cuantas paginas aparecen. Para una URL especifica, la herramienta de Inspeccion de URL en Google Search Console es mas precisa: te dice el estado exacto, cuando fue el ultimo rastreo y si hay problemas.
Sirve de algo enviar el sitemap a Google Search Console?
Si, aunque no garantiza indexacion inmediata. El sitemap le dice a Google que paginas existen y cuando se actualizaron, lo cual es especialmente util en sitios nuevos donde Googlebot todavia no ha descubierto todas las URLs. En sitios con muchas paginas, el sitemap tambien ayuda a optimizar el crawl budget.
Como funciona IndexNow y vale la pena usarlo?
IndexNow es un protocolo que notifica a los motores de busqueda cuando publicas o actualizas una pagina, via una simple solicitud HTTP. Bing lo soporta oficialmente y la indexacion ocurre en minutos. Google todavia no lo adopta, pero vale la pena implementarlo: tarda menos de una hora, y tus posts aparecen en Bing y otros motores mucho mas rapido.
Preguntas frecuentes
Por que Google no indexa mi blog aunque lo publique?
Las causas mas comunes son: un robots.txt que bloquea el rastreo, una meta tag noindex activa, canonical URL apuntando a otra pagina, el sitemap no enviado a GSC, o que Googlebot todavia no ha pasado (puede tardar dias o semanas en sitios nuevos). La herramienta de Inspeccion de URL en Search Console te dice exactamente por que una URL no esta indexada.
Cuanto tiempo tarda Google en indexar una pagina nueva?
En sitios establecidos con buen crawl budget, entre horas y 2-3 dias. En sitios nuevos o con poco trafico, puede tardar semanas. Enviar la URL mediante la herramienta de Inspeccion en GSC puede acelerar el proceso. IndexNow hace lo mismo para Bing de forma casi instantanea.
Que diferencia hay entre rastreo e indexacion en Google?
Rastreo es cuando Googlebot visita tu pagina y descarga su contenido. Indexacion es cuando Google decide incluir esa pagina en su indice de busqueda. Una pagina puede ser rastreada sin ser indexada (si tiene noindex, contenido duplicado, o baja calidad). No puedes ser indexado sin ser rastreado primero.
Como verificar si mi sitio esta indexado en Google?
Usa el operador site: en Google: escribe 'site:tu-dominio.com' y ver cuantas paginas aparecen. Para una URL especifica, la herramienta de Inspeccion de URL en Google Search Console es mas precisa y te dice el estado exacto de indexacion de cada pagina.
Sirve de algo enviar el sitemap a Google Search Console?
Si, aunque no garantiza indexacion inmediata. Un sitemap le dice a Google que paginas existen y cuando se actualizaron por ultima vez, lo cual es especialmente util en sitios nuevos donde Googlebot todavia no ha descubierto todas las URLs. En sitios grandes, el sitemap tambien ayuda a priorizar el crawl budget.
Como funciona IndexNow y vale la pena usarlo?
IndexNow es un protocolo abierto creado por Bing y adoptado por otros motores de busqueda. Cuando publicas o actualizas una pagina, tu servidor notifica directamente a los motores de busqueda via una solicitud HTTP. El resultado: indexacion en Bing en minutos en lugar de dias. Google todavia no lo adopta oficialmente, pero vale la pena implementarlo por Bing y los demas motores que si lo soportan.
Articulos relacionados
12 Errores SEO que Arruinan tu Blog (y Como Arreglarlos)
Los errores SEO mas comunes que destrozan blogs de desarrolladores. Diagnostico, fix y verificacion para cada uno. Para blogs en Next.js y cualquier stack.
IndexNow en Next.js: guía completa para indexación rápida
Implementa IndexNow en tu app Next.js con TypeScript. Aprende a generar tu API key, enviar URLs a Bing automáticamente y configurar el webhook de Vercel.
SEO en Next.js: Metadata API, Open Graph y Sitemap
Optimiza el SEO de tu app Next.js. Metadata API, Open Graph, Twitter Cards, sitemap dinámico, robots.txt y structured data con JSON-LD.