• Час читання ~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