Para instalar automáticamente Astro Sitemap
npx astro add sitemap
¿Qué es Astro?
Conoce los proyectos que vas a construir
¿Qué es Astro?
Quiz: ¿Qué es Astro?
Primeros Pasos
Entorno de trabajo y estructura en Astro
Crear tu primera página web con Astro
Proyecto
Breve historia de los frameworks y librerías
Conoce tu proyecto colaborativo: astrobuild.tips
Configuración de Tailwind CSS
Configuración de TypeScript
GitHub, VSCode, Prettier, Astro config
Astro API
Componentes en Astro
Páginas en Astro
Plantillas en Astro
Markdown
MDX
Enrutamiento: rutas estáticas
Enrutamiento: rutas dinámicas
Creando template de nuestra página de entrada del blog
Quiz: Astro API
Astro Islands
Componentes en React: header
Componentes en Vue: footer
Componentes en Svelte: redes sociales
Patrones de diseño: Astro Islands
Quiz: Astro Islands
Deploy
Integraciones SEO, RSS, Sitemap
Desplegar en Cloudflare Pages
Quiz: Deploy
Bonus
Bonus: aplica mejoras a tu proyecto
Cierre
Conclusiones y cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Oscar Barajas Tavares
Aportes 18
Preguntas 6
Para instalar automáticamente Astro Sitemap
npx astro add sitemap
Les dejo el código
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<!-- Primary Meta Tags -->
<title>{title}</title>
<meta name="title" content={title} />
<meta name="description" content={description} />
<link rel="canonical" href={canonicalURL} />
<!-- Global Metadata -->
<link rel="icon" href="/favicon.png" />
<link rel="apple-touch-icon" href="/images/icon/192x192.png" />
<link rel="manifest" href="/manifest.webmanifest" />
<meta name="google" content="notranslate" />
<link rel="apple-touch-icon" sizes="57x57" href="/apple-icon-57x57.png" />
<link rel="apple-touch-icon" sizes="60x60" href="/apple-icon-60x60.png" />
<link rel="apple-touch-icon" sizes="72x72" href="/apple-icon-72x72.png" />
<link rel="apple-touch-icon" sizes="76x76" href="/apple-icon-76x76.png" />
<link rel="apple-touch-icon" sizes="114x114" href="/apple-icon-114x114.png" />
<link rel="apple-touch-icon" sizes="120x120" href="/apple-icon-120x120.png" />
<link rel="apple-touch-icon" sizes="144x144" href="/apple-icon-144x144.png" />
<link rel="apple-touch-icon" sizes="152x152" href="/apple-icon-152x152.png" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-icon-180x180.png" />
<link
rel="icon"
type="image/png"
sizes="192x192"
href="/android-icon-192x192.png"
/>
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
<link rel="icon" type="image/png" sizes="96x96" href="/favicon-96x96.png" />
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
<meta name="msapplication-TileColor" content="#2b5797" />
<meta name="theme-color" content="#ffffff" />
<!-- Open Graph / Facebook -->
<meta property="og:locale" content="es_ES" />
<meta property="og:type" content="website" />
<meta property="og:url" content={canonicalURL} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content="" />
<!-- Twitter -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content="" />
<meta name="twitter:image:alt" content={title} />
<meta name="twitter:site" content="@gndx" />
<meta name="twitter:creator" content="@gndx" />
</head>
Si no tienen un dominio para su sitio, pueden colocar el del localhost:
export default defineConfig({
site: 'https://localhost:3000',
integrations: [tailwind(), mdx(), react(), vue(), svelte()],
})
Buscando una herramienta como la que indica el instructor del curso para generar los favicon encontré la siguiente:
https://en.rakko.tools/tools/69/
espero les sirva!
En el archivo rss.xml.js con astro v4 el método get debe escribirse en mayusculas: GET
Durante la planeación de un sitio web, generalmente en un ciclo de vida de software, se habla de posicionamiento de un sitio o producto web.
.
ℹ️ Definición
SEO es la abreviación de Search Engine Optimization (optimización en motores de búsqueda), describiendo al conjunto de técnicas y estrategias centradas en optimizar el posicionamiento orgánico en búsquedas de internet.
.
Contar con una producto web para tu marca o empresa es la base de cualquier presencia digital, pero el esfuerzo de crearla no sirve de nada si no te aseguras de que tu audiencia la encuentre, es decir, que orgánicamente en su intención de búsqueda sea encontrada.
.
Si bien, el uso de navegadores modernos como Google nos parece de uso común, su significado e implementación se ha establecido desde las primeras épocas del Internet.
.
La mayoría de los productos web tienen en común un mismo objetivo: atraer tráfico de calidad.
.
La Ingeniería moderna explica que hay métodos y herramientas que aportan al desarrollo web, pero empleo de la herramienta, correctamente, significará en un diferenciador moderno donde la brecha entre productos similares son su marketing o formas de ventas.
.
Entender qué es el SEO, es el primer paso en una estrategia de posicionamiento web, implicando en números de usuarios como audiencia. Algunos beneficios del SEO son:
.
.
ℹ️ Definición
Open Graph es una herramienta que permite mostrar cualquier producto web con un formato para previsualización como enlace a tu aplicación.
.
Siendo etiquetas de HTML, son metadatos de un producto que solamente son entendibles entre los robots de procesamiento que procesan contenidos en la web.
.
Gracias a este recurso, los expertos en marketing pueden brindarle a los buscadores y a los usuarios detalles específicos y simples como el título de la página o la duración de un video en particular.
.
El propósito de Open Graph es ayudar en la mejora de experiencia de usuario y la visualización de los contenidos sin importar de qué producto web se trate.
.
Uno de las influencias más importantes que tiene las Open Graph es precisamente generar un impacto sustancial en las conversiones y las tasas de clics gracias a la optimización de las estrategias SEO.
Las etiquetas core o de Facebook son:
og:title
og:description
og:url
og:image
**og:type**
📌 Referencia
.
Para su implementación en Astro, se puede disponer como componente y cuyo nombre le antecedería un _
, debido a su denotación como meta-documento.
.
Se recomienda agrupar cada meta-documento según su propósito para su facilidad de modificación.
.
./src/components/sections/meta/_OGFacebook.astro
---
const { title, description } = Astro.props
const canonicalURL = new URL(Astro.url.pathname, Astro.site)
const socialImageURL = new URL('/coffeeroasters.png', Astro.url)
---
<meta property="og:locale" content="es_ES" />
<meta property="og:type" content="website" />
<meta property="og:url" content={canonicalURL} />
<meta property="og:title" content={title} />
<meta property="og:description" content={description} />
<meta property="og:image" content={socialImageURL} />
.
./src/components/sections/meta/_OGTwitter.astro
---
const { title, description } = Astro.props
const socialImageURL = new URL('/coffeeroasters.png', Astro.url)
---
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} />
<meta name="twitter:image" content={socialImageURL} />
<meta name="twitter:image:alt" content={title} />
<meta name="twitter:site" content="" />
<meta name="twitter:creator" content="" />
.
./src/components/sections/meta/_site.astro
---
const { title, description } = Astro.props
const canonicalURL = new URL(Astro.url.pathname, Astro.site)
---
<meta name='title' content={title} />
<meta name='description' content={description} />
<link rel="canonical" href={canonicalURL} />
,
📌 Referencia
Se emplea la clase URL de JavaScript para la personalización conical a partir de objetos globales URL de Astro.
API Reference
.
Un requerimiento del SEO de nuestro producto web, es la manipulación por dispositivo cliente que consumiera nuestro contenido. Por ello, se recomienda la generación de iconografía de nuestro favicon (por pestaña o por descarga del mismo).
,
📌 Referencia
Favicon Generator for perfect icons on all browsers
.
Una vez generados, los disponemos dentro de nuestro directorio public
.
.
./src/components/sections/meta/_global.astro
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/site.webmanifest">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
Finalmente, los incorporamos en nuestro layout
por default del sitio (o de aquello que emplearan los meta-documentos).
---
import GlobalMeta from '@components/sections/meta/_global.astro'
import SiteMeta from '@components/sections/meta/_site.astro'
import OGFacebook from '@components/sections/meta/_OGFacebook.astro'
import OGTwitter from '@components/sections/meta/_OGTwitter.astro'
const title = 'Coffeeroasters'
const description = 'Website for coffee lovers'
---
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='UTF-8' />
<meta name='viewport' content='width=device-width' />
<link rel='icon' type='image/svg+xml' href='/favicon.svg' />
<link rel='preconnect' href='https://fonts.googleapis.com' />
<link rel='preconnect' href='https://fonts.gstatic.com' crossorigin />
<link
href='https://fonts.googleapis.com/css2?family=Barlow:wght@400;500&family=Fraunces:wght@700&display=swap'
rel='stylesheet'
/>
<title>{title}</title>
<GlobalMeta />
<SiteMeta title={title} description={description} />
<OGFacebook title={title} description={description} />
<OGTwitter title={title} description={description} />
</head>
<body>
<slot />
</body>
</html>
Asegurense de usar pubDate y title en sus archivos markdown caso contrario podrian tener problemas al integrar @astrojs/rss
Les comparto el blog que hice el otro dia cuando estaba aprendiendo a trabajar con Favicon:
Tambien describo el error en el proyecto y como lo solucione. Espero les sirva.
Para incluir o no una página en los resultados de búsqueda
<meta name="robots" content="index,follow" />
---
const { title, description } = Astro.props;
const canonicalURL = new URL(Astro.url.pathname, Astro.site);
---
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?