• Czas czytania ~1 min
  • 26.06.2022

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:

  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

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.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297