Pakiet laravel-seo obsługuje SEO w dowolnej aplikacji Laravel, dużej lub małej:
Obecnie nie ma zbyt wielu pakietów SEO dla Laravela, a dostępne są dość skomplikowane w konfiguracji i bardzo oddzielone od bazy danych.Dostarczyli ci tylko pomocników do generowania tagów, ale nadal musiałeś ich używać: nic nie zostało wygenerowane automatycznie i prawie nie działają po wyjęciu z pudełka.
Z odrobiną konfiguracji ten pakiet oferuje po wyjęciu z pudełka:
- 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
Ten pakiet łączy dane SEO z modelami.Na przykład, jeśli masz model post
, możesz dodawać/aktualizować/odczytywać dane 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;
Możesz również dynamicznie pobierać te dane w modelu przy użyciu następującej metody:
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,
);
}
}
Następnie w interfejsie użytkownika możesz użyć pomocnika seo()
do renderowania tagów HTML:
<!DOCTYPE html>
<html>
<head>
{!! seo()->for($post) !!}
{{-- No need to separately render a <title> tag or any other meta tags! --}}
</head>
readme zawiera więcej przykładów, w tym zaawansowane szczegóły użytkowania. Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy na GitHub.