---
title: "SEO meta tagy — Posts for Laravel | Roundly"
description: "Meta, canonical, Open Graph a Twitter tagy pre každý príspevok cez SeoData, s predvolenými hodnotami a doplnením z obsahu príspevku."
url: https://roundly-consulting.com/sk/open-source/navody/posts-for-laravel/seo-meta-tagy
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Posts for Laravel](https://roundly-consulting.com/sk/open-source/navody/posts-for-laravel.md)

# SEO meta tagy

meta\_title a meta\_description sú preložiteľné stĺpce; všetky ostatné SEO polia sú v nepreložiteľnom balíku seo na príspevku. Nastavíte ich cez DTO SeoData:

```php
use RoundlyConsulting\Posts\DataTransferObjects\SeoData;
use RoundlyConsulting\Posts\Facades\Posts;

Posts::seo($post, new SeoData(      // saves; $post->setSeo($data) only sets the attributes
    metaTitle: 'Custom title',
    canonical: 'https://example.com/posts/hello-world',
    ogImage: 'https://example.com/cover.png',
    robots: 'index,follow',
));
```

Posts::seo() zavolá setSeo() modelu a príspevok uloží. setSeo() zapíše metaTitle / metaDescription (ak nie sú null) ako preklad v aktuálnom jazyku a celý balík seo nahradí ostatnými poľami DTO — odovzdajte preto všetky polia, ktoré chcete zachovať. Sám o sebe neukladá:

```php
// The model form sets the attributes without saving:
$post->setSeo(new SeoData(ogImage: 'https://example.com/cover.jpg'));
$post->save();
```

## Vykreslenie tagov

```blade
<head>
    {!! $post->renderMetaTags() !!}   {{-- <title>, description, canonical, og:*, twitter:*, robots --}}
    {!! $post->renderJsonLd() !!}     {{-- <script type="application/ld+json"> BlogPosting/Article --}}
</head>
```

renderMetaTags() vykreslí šablónu posts::meta a vypíše len tagy, ktoré majú hodnotu, každý escapovaný:

```html
<title>Custom title</title>
<meta name="description" content="A short summary">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://example.com/posts/hello-world">
<meta property="og:title" content="Custom title">
<meta property="og:description" content="A short summary">
<meta property="og:type" content="article">
<meta property="og:image" content="https://example.com/cover.png">
<meta property="og:site_name" content="Example Blog">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@example">
```

## Doplnenie hodnôt

seo() vráti SeoData so zlúčenými predvolenými hodnotami z konfigurácie a doplnením. Meta polia používajú rovnaký záložný jazyk ako $post->title: najprv meta hodnotu alebo nadpis v aktuálnom jazyku, potom v záložnom, potom v ľubovoľnom — príspevok s nadpisom len v angličtine tak na slovenskej stránke stále vykreslí <title> aj headline v JSON-LD:

```php
$seo = $post->seo();     // SeoData with config defaults + fallbacks merged

$seo->metaTitle;         // meta_title → title, current locale → fallback → any locale
$seo->metaDescription;   // meta_description → perex, same locale chain
$seo->ogImage;           // explicit og:image → featured image URL → null
$seo->twitterCard;       // explicit → posts.seo.default-card
```

| Pole | Zdroj hodnoty |
| --- | --- |
| `metaTitle` | meta\_title → title v aktuálnom jazyku, potom tá istá dvojica v záložnom jazyku, potom v ľubovoľnom → null |
| `metaDescription` | meta\_description → perex, po rovnakom reťazci jazykov → null |
| `canonical` | len uložená hodnota |
| `twitterCreator` | len uložená hodnota |
| `ogTitle` | uložená hodnota → metaTitle |
| `ogDescription` | uložená hodnota → metaDescription |
| `ogImage` | uložená hodnota → URL titulného obrázka vo variante media.og\_variant, ak už je vygenerovaný, inak originálu (ak je zapnuté media.seo\_og\_image) → null |
| `ogType` | uložená hodnota → article |
| `twitterCard` | uložená hodnota → seo.default-card |
| `twitterSite` | uložená hodnota → seo.twitter-site |
| `robots` | uložená hodnota → seo.default-robots |
| `ogSiteName` | uložená hodnota → seo.site-name |

## Úprava vzhľadu

Publikujte posts-views a upravte meta.blade.php, ktorá dostáva $seo (SeoData).

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/posts-for-laravel.md)
