Laravel SEO, algunos paquetes para generar meta etiquetas

Existen múltiples paquetes para generar etiquetas SEO para Laravel, esto es estupendo ya hay ciertas partes de la aplicación que es necesario devolver algunas etiquetas tipo met justamente donde lo necesitamos, sin preocuparnos de si los nombres de estas etiquetas son correctas o no, ya las genera el paquete por nosotros:

SEOTools 

Este es un paquete que permite generar etiquetas meta fácilmente mediante el uso de métodos:

https://github.com/artesaos/seotools

$ composer require artesaos/seotools

Con esto, ya podemos emplear métodos para generar las etiquetas como:

SEOTools::setTitle("Latest posts");
SEOTools::opengraph()->addProperty('type', 'articles');
SEOTools::twitter()->setSite('@LibreDesarrollo');
SEOTools::jsonLd()->addImage(URL::to('/public/images/logo/logo.png'));
SEOTools::setDescription("Here you will find the latest posts that I have uploaded to my blog.");

Desde la vista:

{!! SEO::generate() !!}
<!-- MINIFIED -->
{!! SEO::generate(true) !!}

Y tenemos:

<title>Latest posts</title>
<meta name="description" content="Here you will find the latest posts that I have uploaded to my blog.">
<meta property="og:title" content="Latest posts"><meta property="og:type" content="articles">
<meta property="og:description" content="Here you will find the latest posts that I have uploaded to my blog.">
<meta name="twitter:title" content="Latest posts"><meta name="twitter:site" content="@LibreDesarrollo">
<meta name="twitter:description" content="Here you will find the latest posts that I have uploaded to my blog.">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Últimas publicaciones","description":"Here you will find the latest posts that I have uploaded to my blog."}</script>

Para personalizar el paquete como valores por defecto o sufijos en el título, debes de publicar el archivo de configuración:

$ php artisan vendor:publish --provider="Artesaos\SEOTools\Providers\SEOToolsServiceProvider"

Laravel SEO

Este paquete genera metaetiquetas empleadas para el SEO:

  • Etiqueta de title (con sufijo para todo el sitio)
  • Metaetiquetas (author, description, image, robots, etc.)
  • Etiquetas OpenGraph (Facebook, LinkedIn, etc.)
  • Etiquetas de Twitter
  • Datos estructurados (artículo y ruta de navegación)
  • Favicon
  • Etiqueta de robots

https://github.com/ralphjsmit/laravel-seo

$ composer require ralphjsmit/laravel-seo

Con esto, ya podemos emplear métodos para generar las etiquetas como:

$post = Post::find(1);

$post->seo->update([
   'title' => 'My great post',
   'description' => 'This great post will enhance your live.',
]);

Desde la vista:

{!! seo()->for($post) !!}

Hay varias otras configuraciones que puedes encontrar en la documentación oficial.

- Andrés Cruz

In english

Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos Curso y libro Laravel 11 con Tailwind Vue 3, introducción a Jetstream Livewire e Inerta desde cero - 2024.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.