[Sugester V2](https://pomoc.sugester2.pl.md) / [CMS](https://pomoc.sugester2.pl/cms-1.md)

# [SEO w CMS - meta tagi i Open Graph](https://pomoc.sugester2.pl/seo-w-cms-meta-tagi-i-open-graph-h9ntwNc1.md)

Kompletna konfiguracja SEO dla stron CMS obejmuje meta tagi, Open Graph (Facebook/LinkedIn), Twitter Card i znaczniki językowe.

## Meta tagi podstawowe

W layoucie:
```html
<title>{{ html_title | default: title }}</title>
<meta name="description" content="{{ html_description | default: tagline }}">
<meta name="keywords" content="{{ html_keywords }}">
<meta name="robots" content="index, follow">
<meta name="author" content="{{ brand }}">
```

W fields strony:
```json
{
  "html_title": "MojaFirma - Monitoring firmy | Prognozy chorób",
  "html_description": "System AI do monitoringu firmy. Prognozy chorób, stacja pogodowa, dziennik oprysków.",
  "html_keywords": "firma, monitoring, choroby winorośli, mączniak"
}
```

## Open Graph (Facebook, LinkedIn)

W layoucie:
```html
<meta property="og:type" content="website">
<meta property="og:url" content="{{ canonical_url }}">
<meta property="og:title" content="{{ og_title | default: title }}">
<meta property="og:description" content="{{ og_description | default: html_description }}">
<meta property="og:image" content="{{ og_image }}">
<meta property="og:locale" content="{{ lang }}_{{ lang | upcase }}">
<meta property="og:site_name" content="{{ brand }}">
```

W fields strony:
```json
{
  "canonical_url": "https://mojafirma.pl/dashboard",
  "og_title": "MojaFirma Dashboard - Poznaj swój mikroklimat",
  "og_description": "Czujnik LoRa do monitoringu firmy. Od 99 EUR.",
  "og_image": "https://example.com/og-image.jpg"
}
```

**Wymiary obrazka OG:** 1200x630 px (format 1.91:1)

## Twitter Card

W layoucie:
```html
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:url" content="{{ canonical_url }}">
<meta name="twitter:title" content="{{ og_title | default: title }}">
<meta name="twitter:description" content="{{ og_description | default: tagline }}">
<meta name="twitter:image" content="{{ og_image }}">
```

## Canonical URL i hreflang

Dla stron wielojęzycznych:
```html
<link rel="canonical" href="{{ canonical_url }}">
<link rel="alternate" hreflang="pl" href="{{ hreflang_pl }}">
<link rel="alternate" hreflang="en" href="{{ hreflang_en }}">
<link rel="alternate" hreflang="x-default" href="{{ hreflang_pl }}">
```

W fields:
```json
{
  "canonical_url": "https://mojafirma.pl/dashboard",
  "hreflang_pl": "https://mojafirma.pl/dashboard",
  "hreflang_en": "https://mojafirma.pl/dashboard-en"
}
```

## JSON-LD Structured Data

Dla lepszego indeksowania przez Google:
```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "{{ title }}",
  "description": "{{ html_description }}",
  "brand": {
    "@type": "Organization",
    "name": "{{ brand }}"
  },
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Web"
}
</script>
```

## Testowanie SEO

<table>
<tr><th>Narzędzie</th><th>URL</th></tr>
<tr><td>Facebook Debugger</td><td>developers.facebook.com/tools/debug/</td></tr>
<tr><td>Twitter Card Validator</td><td>cards-dev.twitter.com/validator</td></tr>
<tr><td>Google Rich Results</td><td>search.google.com/test/rich-results</td></tr>
<tr><td>LinkedIn Post Inspector</td><td>linkedin.com/post-inspector/</td></tr>
</table>
## Checklist SEO

- [ ] `<title>` - unikalny, 50-60 znaków
- [ ] `<meta description>` - 150-160 znaków
- [ ] `og:image` - 1200x630px, < 5MB
- [ ] `canonical` - jeden URL per strona
- [ ] `hreflang` - wszystkie wersje językowe
- [ ] JSON-LD - typ biznesu/produktu