Пакет laravel-seo обробляє SEO в будь-якій програмі Laravel, великому чи маленькому:
Наразі існує не так багато SEO-пакетів для Laravel, а доступні є досить складними для налаштування та дуже відокремленими від бази даних.Вони надали вам лише помічники для створення тегів, але ви все одно повинні були використовувати ці помічники: нічого не було створено автоматично, і вони майже не працюють із коробки.
З певною конфігурацією цей пакет пропонує наступне з коробки:
- Robots tag
- Title tag (with sitewide suffix)
- Meta tags (author, description, image, etc.)
- OpenGraph Tags (Facebook, LinkedIn, etc.)
- Twitter Tags
- Structured data (Article and Breadcrumbs)
- 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.