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:
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"
Este paquete genera metaetiquetas empleadas para el SEO:
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
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.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter
Acepto recibir anuncios de interes sobre este Blog.
!Cursos desde!
4$
En Academia
Ver los cursos!Libros desde!
1$
Ver los libros