Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ipproyectosysoluciones/70e3106616ac70100e6afe158515c07f to your computer and use it in GitHub Desktop.
Save ipproyectosysoluciones/70e3106616ac70100e6afe158515c07f to your computer and use it in GitHub Desktop.
Configuración de SEO con Angular 17

Configurar el SEO (Search Engine Optimization) de un proyecto en Angular 17 es crucial para que tu página aparezca en las búsquedas de Google. A continuación, te presento una guía paso a paso para lograrlo.

1. Configurar Angular Universal para el renderizado del lado del servidor (SSR)

El primer paso para mejorar el SEO en Angular es configurar Angular Universal, que permite el renderizado del lado del servidor.

Paso 1: Instalar Angular Universal

Ejecuta el siguiente comando en tu proyecto Angular para agregar Angular Universal:

ng add @nguniversal/express-engine

Esto configurará automáticamente tu aplicación para que utilice el renderizado del lado del servidor con Express.

Paso 2: Actualizar server.ts

Revisa el archivo server.ts generado y asegúrate de que esté configurado correctamente. Por defecto, debería verse algo así:

import 'zone.js/dist/zone-node';
import { ngExpressEngine } from '@nguniversal/express-engine';
import * as express from 'express';
import { join } from 'path';

import { AppServerModule } from './src/main.server';
import { APP_BASE_HREF } from '@angular/common';
import { existsSync } from 'fs';

const app = express();

const PORT = process.env.PORT || 4000;
const DIST_FOLDER = join(process.cwd(), 'dist/YOUR_PROJECT_NAME/browser');

app.engine('html', ngExpressEngine({
  bootstrap: AppServerModule,
}));

app.set('view engine', 'html');
app.set('views', DIST_FOLDER);

app.get('*.*', express.static(DIST_FOLDER, {
  maxAge: '1y'
}));

app.get('*', (req, res) => {
  res.render('index', { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }] });
});

app.listen(PORT, () => {
  console.log(`Node Express server listening on http://localhost:${PORT}`);
});

Reemplaza YOUR_PROJECT_NAME con el nombre de tu proyecto.

Paso 3: Construir y Servir la Aplicación

Construye tu aplicación para producción y ejecuta el servidor:

npm run build:ssr
npm run serve:ssr

2. Añadir Metadatos para SEO

Para que Google pueda entender mejor tu página, es importante añadir metadatos adecuados. Esto incluye títulos de página, descripciones y etiquetas meta.

Paso 1: Instalar Angular Meta Service

Asegúrate de tener el servicio de metaetiquetas disponible en tu proyecto:

ng add @angular/platform-browser

Paso 2: Configurar Meta Tags en Componentes

Edita tus componentes para incluir metaetiquetas. Por ejemplo, en src/app/app.component.ts:

import { Component } from '@angular/core';
import { Meta, Title } from '@angular/platform-browser';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(private meta: Meta, private titleService: Title) {
    this.setTitleAndMetaTags();
  }

  setTitleAndMetaTags() {
    this.titleService.setTitle('Mi Página de Angular');
    this.meta.addTags([
      { name: 'description', content: 'Descripción de mi página en Angular.' },
      { name: 'keywords', content: 'angular, SEO, ejemplo' },
      { name: 'author', content: 'Tu Nombre' },
      { property: 'og:title', content: 'Mi Página de Angular' },
      { property: 'og:description', content: 'Descripción de mi página en Angular.' },
      { property: 'og:image', content: 'URL_de_imagen' },
    ]);
  }
}

3. Crear y Subir un Sitemap

Un sitemap ayuda a los motores de búsqueda a entender la estructura de tu sitio web.

Paso 1: Crear el Sitemap

Puedes usar una herramienta como xml-sitemaps.com para generar un sitemap XML.

Paso 2: Subir el Sitemap a tu Servidor

Una vez generado, sube el sitemap.xml a la raíz de tu servidor.

4. Añadir Robots.txt

Un archivo robots.txt indica a los motores de búsqueda qué páginas indexar y cuáles no.

Paso 1: Crear el archivo robots.txt

Crea un archivo robots.txt en la raíz de tu proyecto con el siguiente contenido:

User-agent: *
Allow: /

Sitemap: http://tu-dominio.com/sitemap.xml

5. Comprobar e Indexar en Google Search Console

Paso 1: Verificar la Propiedad

Ve a Google Search Console y verifica la propiedad de tu dominio siguiendo las instrucciones.

Paso 2: Enviar el Sitemap

En Google Search Console, ve a "Sitemaps" y añade la URL de tu sitemap (http://tu-dominio.com/sitemap.xml).

6. Uso de Herramientas de Google para Mejorar el SEO

Paso 1: Google Analytics

Integra Google Analytics para rastrear el tráfico de tu sitio web.

Paso 2: Google PageSpeed Insights

Utiliza Google PageSpeed Insights para analizar y mejorar la velocidad de carga de tu sitio web.

Conclusión

Configurar el SEO de un proyecto en Angular 17 implica varios pasos, desde la configuración del renderizado del lado del servidor con Angular Universal hasta la optimización de metadatos y la creación de sitemaps. Siguiendo esta guía, mejorarás significativamente la capacidad de tu sitio para ser indexado y clasificado en los motores de búsqueda.

7. Uso de Estructura de Datos y Schema Markup

El uso de datos estructurados con Schema Markup ayuda a los motores de búsqueda a entender mejor el contenido de tu sitio web.

Paso 1: Integrar Schema Markup

Puedes añadir Schema Markup directamente en el HTML de tus páginas. Un ejemplo de cómo hacerlo es mediante el uso de script en tu plantilla HTML. Abre src/index.html y añade:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "name": "Mi Página de Angular",
  "url": "http://tu-dominio.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "http://tu-dominio.com/search?q={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>

Asegúrate de personalizar los valores según tu sitio web.

8. Optimización de Imágenes

Las imágenes grandes y no optimizadas pueden ralentizar tu sitio, lo que afecta negativamente al SEO.

Paso 1: Comprimir Imágenes

Usa herramientas como TinyPNG para comprimir las imágenes antes de subirlas a tu servidor.

Paso 2: Especificar Dimensiones

En tus archivos de plantilla HTML, asegúrate de especificar las dimensiones de las imágenes:

<img src="path/to/image.jpg" width="600" height="400" alt="Descripción de la imagen">

9. Implementar Lazy Loading para Componentes e Imágenes

Lazy loading carga los componentes e imágenes solo cuando son necesarios, mejorando la velocidad de carga inicial.

Paso 1: Lazy Loading en Rutas de Angular

Configura el lazy loading en tu archivo de rutas (src/app/app-routing.module.ts):

const routes: Routes = [
  {
    path: 'example',
    loadChildren: () => import('./example/example.module').then(m => m.ExampleModule)
  }
];

Paso 2: Lazy Loading para Imágenes

Usa el atributo loading="lazy" en tus etiquetas de imagen:

<img src="path/to/image.jpg" loading="lazy" width="600" height="400" alt="Descripción de la imagen">

10. Revisar y Mejorar la Experiencia de Usuario (UX)

La experiencia del usuario es un factor importante para el SEO. Asegúrate de que tu sitio sea fácil de navegar y rápido.

Paso 1: Navegación Clara

Asegúrate de que la navegación de tu sitio sea clara y accesible. Usa etiquetas <nav> para definir menús de navegación.

<nav>
  <ul>
    <li><a href="/home">Inicio</a></li>
    <li><a href="/about">Acerca de</a></li>
    <li><a href="/contact">Contacto</a></li>
  </ul>
</nav>

Paso 2: Optimización para Móviles

Asegúrate de que tu sitio web esté optimizado para dispositivos móviles. Usa media queries en tu CSS para ajustar el diseño según el tamaño de la pantalla.

@media (max-width: 600px) {
  .container {
    width: 100%;
    padding: 10px;
  }
}

11. Monitorear el Rendimiento y SEO

Después de implementar todas las configuraciones, es importante monitorear el rendimiento y el SEO de tu sitio web.

Paso 1: Google Analytics y Search Console

Continúa usando Google Analytics y Google Search Console para monitorear el tráfico y la visibilidad en los motores de búsqueda.

Paso 2: Herramientas de Auditoría SEO

Usa herramientas como Ahrefs, SEMrush o Moz para realizar auditorías SEO y recibir recomendaciones sobre cómo mejorar tu sitio.

Conclusión

Configurar el SEO para un proyecto en Angular 17 es un proceso integral que abarca la configuración de renderizado del lado del servidor, la optimización de metadatos, la creación de sitemaps y robots.txt, la integración de Schema Markup, la optimización de imágenes, y la mejora de la experiencia del usuario. Siguiendo estos pasos y utilizando las herramientas adecuadas, mejorarás significativamente la visibilidad y el rendimiento de tu sitio web en los motores de búsqueda.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment