# Metaadat-hookok: canonical, lapozás, robots, címsor és WooCommerce-ár

> Hookok a fejléc metacímkéinek módosításához: canonical, lapozás, robots, címsor, termékár, közzétételi idő, Open Graph szakasz és címkék, Dublin Core nyelv.

Ez a fejezet azokat a hookokat gyűjti össze, amelyekkel a SEOPress által a `<head>` részbe írt metacímkéket és a címsor kiírását alakíthatod. A hookok használatának általános szabályai (hova másold a kódot, mit ellenőrizz előtte) a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) fejezetben vannak. A kódot a gyermeksablonod `functions.php` fájljába vagy egy saját bővítménybe tedd. A dinamikus változókat módosító hookok a [Metaadat-hookok: dinamikus változók](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-meta-dinamikus-valtozo-hookok/) fejezetben vannak.

| Hook | Típus | Legkisebb verzió | Mire jó |
|---|---|---|---|
| `seopress_titles_canonical_on_noindex` | szűrő | 10.3 | Canonical URL kiírása noindex oldalakon is. |
| `seopress_titles_paged_rel` | szűrő | 8.6 | A lapozott archívumok `rel="prev"` és `rel="next"` linkjeinek módosítása. |
| `seopress_titles_robots_attrs` | szűrő | 4.5 | A meta robots címke értékeinek módosítása. |
| `pre_get_document_title`, `seopress_titles_the_title_priority` | szűrő | 5.3.1 | A SEOPress címsor-szűrőjének prioritása, ha egy másik kód felülírja a címet. |
| `seopress_product_price_amount` | szűrő | 7.2 | A `product:price:amount` metacímke értéke. |
| `seopress_product_price_currency` | szűrő | 7.2 | A `product:price:currency` metacímke értéke. |

## Canonical URL kiírása noindex oldalon

Alapból a noindex jelzésű oldalakon a SEOPress nem ír ki canonical linket. A `seopress_titles_canonical_on_noindex` szűrő erre ad kapcsolót: ha `true` értéket adsz vissza, a canonical URL a noindex oldalakon is megjelenik. A canonical értékét továbbra is a szokásos szabályok adják: előbb a bejegyzésnél vagy a tagnál megadott egyedi canonical, ennek hiányában az oldal alapértelmezett URL-je.

```php
add_filter( 'seopress_titles_canonical_on_noindex', '__return_true' );
```

Jó tudni:

- A szűrőt korán kell regisztrálni (`functions.php` vagy bővítmény), még a `wp_head` lefutása előtt, különben nem érvényesül.
- A hook nem változtatja meg a robots metacímkét: a noindex jelzés marad, csak a canonical link kerül mellé.
- A canonical beállításairól a [Canonical URL](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/metaadatok-canonical-url/) fejezetben olvashatsz.

## A rel next/prev linkek módosítása

Ha a **SEO → Titles & Metas** oldal **Advanced** fülén bekapcsolod a lapozás `rel prev / rel next` linkjeit, a SEOPress a lapozott archívumok fejlécébe beírja az előző és a következő oldalra mutató `<link>` elemeket. A `seopress_titles_paged_rel` szűrő megkapja a kész HTML-t és az aktuális oldal számát, és a visszaadott szöveg kerül a fejlécbe. Üres szöveggel eltüntetheted a linkeket, de akár át is írhatod őket.

```php
add_filter( 'seopress_titles_paged_rel', 'sajat_paged_rel', 10, 2 );
function sajat_paged_rel( $html, $paged ) {
    // Csak a következő oldalra mutató linket hagyjuk meg.
    return preg_replace( '/<link rel="prev"[^>]*>/', '', $html );
}
```

A kiírás előtt a SEOPress csak a `link` elemet és annak `rel`, `href` attribútumát engedi át, minden más kimarad a kimenetből.

## A meta robots értékeinek módosítása

A `seopress_titles_robots_attrs` szűrő a meta robots címke értékeinek tömbjét kapja meg, mielőtt a SEOPress vesszővel elválasztva összefűzi őket. Hozzáadhatsz vagy törölhetsz elemeket, így például egy irányelvet egyetlen kódsorral kiveszel az összes oldalról.

```php
add_filter( 'seopress_titles_robots_attrs', 'sajat_robots_attrs' );
function sajat_robots_attrs( $attrs ) {
    // A max-image-preview irányelv elhagyása.
    return array_filter( $attrs, function ( $elem ) {
        return false === strpos( $elem, 'max-image-preview' );
    } );
}
```

Jó tudni:

- Ha az oldal nem noindex, a tömb végén van egy `max-snippet:-1, max-image-preview:large, max-video-preview:-1` elem is, ezt is látod a szűrőben.
- A tömb elején az index/follow jellegű értékek állnak: ha csak az egyik (noindex vagy nofollow) van beállítva, a SEOPress a párját kiegészíti (például `follow`).
- A kész címke egészét a `seopress_titles_robots` szűrő módosítja, az már az összefűzött HTML-t kapja.
- A robots beállításairól a [Robots és dátum](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/metaadatok-robots-es-datum/) fejezetben olvashatsz.

## A címsor szűrőjének prioritása

A SEOPress a WordPress `pre_get_document_title` szűrőjére kapcsolódva írja ki a címsort (a `<title>` elemet), alapértelmezett, 10-es prioritással. Ha a témád vagy egy másik bővítmény ugyanazt a szűrőt használja és felülírja a SEOPress címét, a `seopress_titles_the_title_priority` szűrővel a SEOPress prioritását változtathatod meg. Magasabb szám később, vagyis a többi kód után fut le.

```php
add_filter( 'seopress_titles_the_title_priority', 'sajat_cim_prioritas' );
function sajat_cim_prioritas( $prioritas ) {
    return 20;
}
```

A szűrőt a SEOPress már a betöltődésekor kiolvassa, ezért korán, a `functions.php` fájlban vagy egy bővítményben regisztráld. A téma címsor-támogatásával kapcsolatos tudnivalókat az [Egyéb: a title tag és a téma támogatása](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/egyeb-title-tag-tema-tamogatas/) fejezet írja le.

## A termékár metacímkéje (WooCommerce és EDD)

A PRO változatban a WooCommerce beállításainál bekapcsolhatod a `product:price:amount` és a `product:price:currency` Open Graph metacímkét a termékoldalakon. Két szűrő módosítja az értéküket (az Easy Digital Downloads-féle termékek metacímkéjét is):

- `seopress_product_price_amount`: a `product:price:amount` értéke. WooCommerce-ben a kiírt ár a termék akciós ára, az adóval együtt számolva.
- `seopress_product_price_currency`: a `product:price:currency` értéke, alapból a webhely pénzneme.

```php
add_filter( 'seopress_product_price_amount', 'sajat_termekar' );
function sajat_termekar( $ar ) {
    return round( (float) $ar );
}

add_filter( 'seopress_product_price_currency', 'sajat_penznem' );
function sajat_penznem( $penznem ) {
    return 'HUF';
}
```

Mindkét szűrő csak az értéket kapja meg, a teljes `<meta>` elem felépítését a SEOPress végzi.

## Közzétételi és módosítási idő metacímkéje

Ha egy bejegyzés típusánál bekapcsolod a dátum megjelenítését a keresési találatokban, a SEOPress a fejlécbe írja az `article:published_time` és az `article:modified_time` metacímkét (mellettük az `og:updated_time` is megjelenik). Két szűrő a teljes, kész `<meta>` elemet kapja, és a visszaadott szöveg kerül a fejlécbe. A beállításról a [Robots és dátum](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/metaadatok-robots-es-datum/) fejezet szól.

| Hook | Mit módosít | Legkisebb verzió |
|---|---|---|
| `seopress_titles_article_published_time` | az `article:published_time` címke | 3.5 |
| `seopress_titles_article_modified_time` | az `article:modified_time` címke | 3.5 |

```php
// A módosítási idő címke elhagyása.
add_filter( 'seopress_titles_article_modified_time', '__return_empty_string' );
```

## Open Graph szakasz és címkék: `article:section`, `article:tag`

Bejegyzésnél a közösségi metaadatok közé a SEOPress beírja az `article:section` címkét (a bejegyzés elsődleges kategóriájának, ennek hiányában az első kategóriának a nevével) és bejegyzésenként egy `article:tag` címkét a bejegyzés címkéiből. Mindkettő a kész HTML-t adja át a szűrőnek, ami több címke esetén sortöréssel elválasztott `<meta>` sorokat jelent.

| Hook | Mit módosít | Legkisebb verzió |
|---|---|---|
| `seopress_social_og_section` | az `article:section` címke | 3.7.7 |
| `seopress_social_og_tag` | az `article:tag` címkék | 3.7.7 |

```php
// Az article:tag címkék elhagyása.
add_filter( 'seopress_social_og_tag', '__return_empty_string' );
```

## Dublin Core nyelv: `seopress_dublin_core_language`

Ha a Dublin Core metaadatok be vannak kapcsolva, a SEOPress a fejlécbe írja a `dc.language` címkét a webhely nyelvével. A `seopress_dublin_core_language` szűrő a teljes `<meta>` elemet kapja, így átírhatod vagy törölheted. A szűrő 3.5.3-as verziótól elérhető.

```php
add_filter( 'seopress_dublin_core_language', 'sajat_dc_nyelv' );
function sajat_dc_nyelv( $html ) {
    return '<meta name="dc.language" content="hu">';
}
```
