TechLead
Lección 5 de 13
5 min de lectura
SEO

SEO Técnico

Velocidad del sitio, rastreo, datos estructurados y arquitectura

Esenciales de SEO técnico

El SEO técnico asegura que los motores puedan rastrear, indexar y renderizar tu sitio eficazmente. Es la base que sostiene todos los demás esfuerzos de SEO.

Arquitectura del sitio

// Ideal URL structure (flat hierarchy)
https://example.com/category/page-name

// Good examples:
/blog/seo-guide
/products/running-shoes
/docs/getting-started

// Avoid:
/page.php?id=123&cat=456
/blog/2024/01/15/my-article (too deep)
/folder1/folder2/folder3/folder4/page
  • Mantén páginas importantes a 3 clics o menos de la home
  • Usa URLs descriptivas y con keywords
  • Implementa breadcrumbs
  • Crea una estructura de categorías lógica

Sitemap XML

// next-sitemap.config.js
module.exports = {
  siteUrl: 'https://example.com',
  generateRobotsTxt: true,
  sitemapSize: 7000,
  changefreq: 'weekly',
  priority: 0.7,
  exclude: ['/admin/*', '/private/*'],
  robotsTxtOptions: {
    additionalSitemaps: [
      'https://example.com/server-sitemap.xml',
    ],
  },
};

// Generated sitemap.xml structure:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/page</loc>
    <lastmod>2024-01-15</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Robots.txt

# robots.txt example
User-agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Disallow: /_next/
Disallow: /private/

# Block specific bots
User-agent: GPTBot
Disallow: /

# Sitemap location
Sitemap: https://example.com/sitemap.xml

URLs canónicas

Evita problemas de contenido duplicado indicando la versión preferida:

// Canonical tag in head
<link rel="canonical" href="https://example.com/page" />

// Next.js metadata
export const metadata = {
  alternates: {
    canonical: 'https://example.com/page',
  },
};

// Common duplicate URL scenarios to handle:
// example.com/page vs www.example.com/page
// example.com/page vs example.com/page/
// example.com/page vs example.com/page?ref=twitter

HTTPS y seguridad

  • Certificado SSL: Requerido para HTTPS, factor de ranking
  • Encabezado HSTS: Forzar conexiones HTTPS
  • Contenido mixto: Evita cargar recursos HTTP en páginas HTTPS
  • Encabezados de seguridad: CSP, X-Frame-Options, etc.
// next.config.js security headers
async headers() {
  return [{
    source: '/:path*',
    headers: [
      { key: 'X-Content-Type-Options', value: 'nosniff' },
      { key: 'X-Frame-Options', value: 'DENY' },
      { key: 'Strict-Transport-Security',
        value: 'max-age=31536000; includeSubDomains' },
    ],
  }];
}

Continuar aprendiendo