# Címek és meta leírások kezelése

> Hogyan állítod be a title címkét és a meta leírást globálisan és tartalmanként, a dinamikus változók teljes listájával.

A keresők a címkét (title) és a meta leírást használják a találati oldalon megjelenő kivonathoz. A SEOPress mindkettőt sablonból állítja elő: a sablonban szöveg és dinamikus változók keverhetők.

## Globális beállítás

1. Nyisd meg a **SEO → Titles & Metas** oldalt.
2. Járd végig a füleket (**Home**, **Post Types**, **Archives**, **Taxonomies**, **Advanced**), és add meg a főoldal, a bejegyzések, oldalak, egyedi tartalomtípusok, archívumok címét és leírását.
3. Kattints a **Save changes** gombra.

![A Titles & Metas Home füle: elválasztó, webhelycím és meta leírás sablon](./kepek/metaadatok-cimek-fo-beallitasok.webp)

*A Titles & Metas Home füle: elválasztó, webhelycím és meta leírás sablon* (https://minta-bolt.hu/wp-admin/admin.php?page=seopress-titles)

A képen a főoldal mezői látszanak. A sablonmezőben a változók címkeként jelennek meg; ha fölé viszed az egeret, látod a technikai nevüket (például `%%post_title%%`). A mező alatti gombok a leggyakoribb változókat szúrják be, a nyíl gomb a teljes listát nyitja keresőmezővel, a mező alatt pedig élő előnézet (**Preview**) látszik.

![A Post Types fül: cím- és leírássablon, robots, dátum és metabox beállítása tartalomtípusonként](./kepek/metaadatok-cimek-bejegyzestipusok.webp)

*A Post Types fül: cím- és leírássablon, robots, dátum és metabox beállítása tartalomtípusonként* (https://minta-bolt.hu/wp-admin/admin.php?page=seopress-titles)

A **Post Types** fülön tartalomtípusonként külön kapsz **Meta title template** és **Meta description template** mezőt, robots kapcsolókat (**noindex**, **nofollow**), a **Date in Google search results** kapcsolót és a **Disable SEO metabox** kapcsolót.

Ha nem adsz meg robots beállítást, az alapértelmezés az index, follow. A globális beállítások nem írják felül a tartalmaknál egyenként megadott értékeket.

## Tartalmankénti beállítás

1. Szerkessz egy bejegyzést, oldalt vagy egyedi tartalomtípust.
2. A SEO metaboxban, a címekhez tartozó fülön add meg az egyedi címet és meta leírást.
3. Mentsd a tartalmat.

Ez felülírja a globális sablont.

## Az elválasztójel módosítása

A `%%sep%%` változó alapértelmezés szerint a `-` jelet írja ki. Átállítása:

1. Nyisd meg a **SEO → Titles & Metas** oldalt, a **Home** fület.
2. Írd át a **Separator** mezőt.
3. Mentsd a beállítást, és ürítsd a gyorsítótárat.

## Dinamikus változók

Címben és meta leírásban ezek a változók használhatók. Ahol 50 szó a korlát, ott a hosszabb szöveg le van vágva.

### Webhely és tartalom

| Változó | Mit ír ki |
|---|---|
| `%%sep%%` | Elválasztójel (a **Home** fülön állítható, üresen `-`) |
| `%%sitetitle%%` | A webhely címe a **Beállítások → Általános** oldalról (alias: `%%sitename%%`) |
| `%%tagline%%` | A webhely szlogenje (alias: `%%sitedesc%%`) |
| `%%post_title%%` | A tartalom címe (alias: `%%title%%`) |
| `%%post_excerpt%%` | A kivonat, legfeljebb 50 szó; ha nincs kivonat, a tartalom eleje. Ha az oldal Bricksszel készült és a tartalom üres, a Bricks elemek szövege kerül be. Jelszóval védett tartalomnál üres (alias: `%%excerpt%%`) |
| `%%post_content%%` | A tartalom (termékleírás), legfeljebb 50 szó, shortcode és HTML nélkül; üres tartalomnál Bricks-tartalomra vált |
| `%%post_thumbnail_url%%` | A kiemelt kép URL-je teljes méretben |
| `%%post_url%%` | A tartalom állandó linkje |
| `%%post_date%%` | A közzététel dátuma a webhely dátumformátumában (alias: `%%date%%`) |
| `%%post_modified_date%%` | A módosítás dátuma |
| `%%post_author%%` | A szerző megjelenített neve |
| `%%post_category%%` | A kategória: az elsődleges kategória, ha van beállítva, különben az első hozzárendelt |
| `%%post_tag%%` | Az első hozzárendelt címke |
| `%%target_keyword%%` | A tartalom tartalomelemzésében megadott célkulcsszó |

### Archívumok és keresés

| Változó | Mit ír ki |
|---|---|
| `%%_category_title%%` | Kategória neve a kategóriaarchívumban |
| `%%_category_description%%` | Kategória leírása (50 szó) |
| `%%tag_title%%` | Címke neve a címkearchívumban |
| `%%tag_description%%` | Címke leírása (50 szó) |
| `%%term_title%%` | Kifejezés neve bármely taxonómia archívumában |
| `%%term_description%%` | Kifejezés leírása (50 szó) |
| `%%search_keywords%%` | A keresett kifejezés idézőjelek között a találati oldalon |
| `%%current_pagination%%` | Az aktuális oldal száma, az 1. oldalon nem ír ki semmit |
| `%%page%%` | Az oldalszám környezettel és elválasztóval (például „ - Page 2 of 4”), az 1. oldalon üres |
| `%%cpt_plural%%` | A tartalomtípus archívumának többes számú neve |
| `%%archive_title%%` | Az archívum címe, ahogy a WordPress nevezi; sima szövegként, HTML-címkék nélkül |
| `%%archive_date%%` | Az archívum dátuma: havi archívumban hónap és év (például `7 - 2026`), éves archívumban az év, napi archívumban nap, hónap és év |
| `%%archive_date_day%%` | A napi archívum napja |
| `%%archive_date_month%%` | A havi archívum hónapja számként |
| `%%archive_date_month_name%%` | A hónap neve a webhely nyelvén |
| `%%archive_date_year%%` | Az éves archívum éve |

### Egyedi mezők és taxonómiák

| Változó | Mit ír ki |
|---|---|
| `%%_cf_mezo_neve%%` | Egyedi mező értéke tartalomból és taxonómia-kifejezésből, 50 szóra vágva (a `mezo_neve` helyére a mező kulcsa kerül) |
| `%%_ct_taxonomia_slug%%` | Egyedi taxonómia kifejezése (például `%%_ct_product_cat%%`): az elsődleges kifejezés, ha van, különben az első hozzárendelt. Egy sablonban több `%%_ct_%%` változó is lehet |
| `%%_ucf_felhasznaloi_meta%%` | A tartalom szerzőjének felhasználói metája; mindig a szerzőből olvas, soha a látogatóból |

### WooCommerce

Ezek csak aktív WooCommerce mellett működnek.

| Változó | Mit ír ki |
|---|---|
| `%%wc_single_cat%%` | A termék kategóriái vesszővel elválasztva |
| `%%wc_single_tag%%` | A termék címkéi vesszővel elválasztva |
| `%%wc_single_short_desc%%` | A termék rövid leírása (50 szó) |
| `%%wc_single_price%%` | A termék ára adóval (alias: `%%wc_get_price%%`) |
| `%%wc_single_price_exc_tax%%` | A termék ára adó nélkül |
| `%%wc_sku%%` | A termék cikkszáma (SKU) |

A WooCommerce-termékattribútumok használatáról és a saját változók létrehozásáról a [dinamikus változókról szóló fejezetben](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/metaadatok-dinamikus-valtozok/) olvashatsz.

### Dátum, idő és szerző

| Változó | Mit ír ki |
|---|---|
| `%%currentday%%` | A hónap mai napja, kezdő nulla nélkül |
| `%%currentmonth%%` | A hónap teljes neve a webhely nyelvén |
| `%%currentmonth_short%%` | A hónap három betűs rövidítése |
| `%%currentmonth_num%%` | A hónap száma, kezdő nulla nélkül |
| `%%currentyear%%` | Az év négy számjeggyel |
| `%%currentdate%%` | A mai dátum a webhely formátumában |
| `%%currenttime%%` | A pontos idő a webhely formátumában |
| `%%author_first_name%%` | A szerző keresztneve |
| `%%author_last_name%%` | A szerző vezetékneve |
| `%%author_website%%` | A szerző weboldala |
| `%%author_nickname%%` | A szerző beceneve |
| `%%author_bio%%` | A szerző életrajza |

### A változók megjelenése a szerkesztőmezőben

- Két változó közötti szóköz külön kis címkeként (**Space**) jelenik meg, így látod, hogy el vannak-e választva, és a változókhoz hasonlóan törölheted vagy mozgathatod.
- Az aliassal mentett változó (például `%%sitename%%` vagy `%%title%%`, gyakran más SEO-bővítményből történt importálás után) annak a változónak az olvasható nevével jelenik meg, amelyet helyettesít, és az előnézetben az értéke látszik.

## Mely egyedi mezők és felhasználói metaértékek írhatók ki

A `%%_cf_%%` és `%%_ucf_%%` változóknál a kulcsot a címet vagy leírást szerkesztő felhasználó adja meg. Hogy ne kerüljön ki privát adat az oldalakra, ezek a változók üres értéket adnak a következő kulcsokra:

- **Védett (rejtett) meta:** az alulvonással kezdődő kulcsok (például `_edit_lock`), illetve amelyeket az `is_protected_meta` szűrő védettnek jelöl. Kivétel a `%%_cf_%%` változónál (csak tartalomnál és kifejezésnél), mert az oldalak amúgy is megjelenítik: `_sku`, `_price`, `_regular_price`, `_sale_price`, `_stock`, `_stock_status`, `_global_unique_id` (GTIN), `_wc_average_rating`, `_wc_review_count`, `_EventStartDate`, `_EventEndDate`, `_EventCost`, `_EventURL`, `_EventVenueID`, `_EventOrganizerID`.
- **Hitelesítő adatra vagy szerepre utaló kulcsok:** minden kulcs, amely tartalmazza a `token`, `secret`, `password`, `passwd`, `nonce`, `api_key`, `apikey`, `two_factor`, `2fa`, `activation_key`, `capabilities` vagy `user_level` szót (kis- és nagybetűre érzéketlenül).
- **Csak a `%%_ucf_%%` esetén:** a `billing_` vagy `shipping_` szöveget tartalmazó kulcsok (a WooCommerce vásárlói fiókokban tárolt címei) és a `community-events-location`.

A saját mezők addig működnek, amíg a kulcsuk nem alulvonással kezdődik, és nem tartalmaz tiltott szót. Az Advanced Custom Fields mezőinél ez teljesül: az ACF a mező nevén tárolja az értéket (például `subtitle`), így a `%%_cf_subtitle%%` működik.

Ha egy alapból tiltott kulcsot ki akarsz írni, használd a `seopress_meta_tag_key_is_allowed` szűrőt. Három paramétere a döntés, a meta kulcsa és a típusa (`post`, `term` vagy `user`). Például a rejtett `_my_subtitle` mező kiírása a `%%_cf__my_subtitle%%` változóval:

```php
add_filter( 'seopress_meta_tag_key_is_allowed', function( $allowed, $key, $type ) {
	if ( 'post' === $type && '_my_subtitle' === $key ) {
		return true;
	}
	return $allowed;
}, 10, 3 );
```

Az alapszabályokat saját engedélyezett listával is lecserélheted. Csak olyan kulcsot sorolj fel, amelynek az értéke nyilvános lehet:

```php
add_filter( 'seopress_meta_tag_key_is_allowed', function( $allowed, $key, $type ) {
	$allowed_keys = array( 'subtitle', 'city', '_price' );
	return in_array( $key, $allowed_keys, true );
}, 10, 3 );
```

A kódot a gyermektéma `functions.php` fájlába vagy egy must-use bővítménybe told.

## Fejlesztőknek

- A `%%_ct_<taxonomia>%%` változó értékének szűrője `seopress_get_tag__ct_<taxonomia>_value`, két aláhúzással, mint az egyedi mező és a felhasználói meta változóké (például `seopress_get_tag__ct_genre_value`). A régi név (`seopress_get_tag_ct_<taxonomia>_value`) még fut, de elavult.
- A `%%post_excerpt%%` és `%%post_content%%` oldalszerkesztős tartalékának kikapcsolásához térj vissza `false` értékkel a `seopress_excerpt_builder_fallback` szűrőből. Más oldalszerkesztő a `seopress_builder_content` szűrővel adhatja át a szövegét (a szöveget és a tartalom azonosítóját kapja).

```php
add_filter( 'seopress_excerpt_builder_fallback', '__return_false' );
```

## Gyakori hibák

### Üres a title vagy a meta leírás

A metaboxban megadtad a címet és leírást, de a forráskódban nem jelenik meg. Ellenőrizd, hogy a **SEO → Titles & Metas** oldal **Post Types**, **Taxonomies** és **Archives** füleinél van-e globális cím- és leíráspárod. Mentsd el, és ürítsd a gyorsítótárat.

### Egyedi mező vagy felhasználói meta változó nem ír ki semmit

A `%%_cf_%%` és `%%_ucf_%%` üres a rejtett (alulvonással kezdődő) és a hitelesítő adatra emlékeztető kulcsokra. Vesd össze a kulcsot az előző szakasz listájával, és ha az értéke nyilvános lehet, engedélyezd a `seopress_meta_tag_key_is_allowed` szűrővel.

### A title címke nem frissül

Globálisan és egyenként is megadtad a címet, mégis más jelenik meg, vagy két `<title>` címke van a forráskódban. A téma nem a megfelelő módon állítja elő a `<title>` címkét: a témának támogatnia kell a `title-tag` funkciót (`add_theme_support( 'title-tag' )`).

### A meta adatok jók, de a Google mást jelenít meg

A Google a találati oldalon saját belátása szerint is átírhatja a címet és a leírást. A beállításaid ettől még helyesek.

## Az aktuális oldal címe sablonfájlban

Egy sablonfájlban (például a `header.php`-ban) a dokumentum címét a WordPress saját függvényével írhatod ki:

```php
echo wp_get_document_title();
```
