• Время чтения ~1 мин
  • 26.06.2022

Пакет laravel-seo обрабатывает SEO в любом приложении Laravel, большом или маленьком:

В настоящее время существует не так много SEO-пакетов для Laravel, а доступные довольно сложны в настройке и сильно отделены от базы данных.Они только предоставили вам хелперы для генерации тегов, но вам все равно приходилось использовать эти хелперы: ничего не генерировалось автоматически и они почти не работают из коробки.

После небольшой настройки этот пакет предлагает следующие возможности:

  1. Robots tag
  2. Title tag (with sitewide suffix)
  3. Meta tags (author, description, image, etc.)
  4. OpenGraph Tags (Facebook, LinkedIn, etc.)
  5. Twitter Tags
  6. Structured data (Article and Breadcrumbs)
  7. Favicon

Этот пакет связывает данные SEO с моделями.Например, если у вас есть модель Post, вы можете добавлять/обновлять/считывать SEO-данные:

$post = Post::find(1);
 
$post->seo->update([
   'title' => 'My great post',
   'description' => 'This great post will enhance your live.',
]);
 
// Access the SEO relationship
$seo = $post->seo;

Вы также можете динамически извлекать эти данные в модели, используя следующий метод:

use RalphJSmit\Laravel\SEO\Support\HasSEO;
 
class Post extends Model
{
    use HasSEO;
 
    public function getDynamicSEOData(): SEOData
    {
        $pathToFeaturedImageRelativeToPublicPath = // ..;
 
        // Override only the properties you want:
        return new SEOData(
            title: $this->title,
            description: $this->excerpt,
            image: $pathToFeaturedImageRelativeToPublicPath,
        );
    }
}

Затем во внешнем интерфейсе вы можете использовать помощник seo() для отображения тегов HTML:

<!DOCTYPE html>
<html>
<head>
    {!! seo()->for($post) !!}
 
    {{-- No need to separately render a <title> tag or any other meta tags! --}}
</head>

В readme содержит больше примеров, включая подробные сведения об использовании. Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297