# Státusz: az oldal állapota egy titkos URL-en

> A HelloPack Client Státusz funkciója: ellenőrzések, titkos státusz-URL monitorozáshoz, állapotok jelentése és WP-CLI parancsok.

A **Státusz** egy olvasható jelentés az oldalad állapotáról: fut-e a WP-Cron, volt-e végzetes PHP-hiba, mennyi frissítés vár, megy-e ki a levél, mikor volt mentés, és rendben van-e a HelloPack-kapcsolat. A jelentést egy titkos URL-en adod oda a monitorozó szolgáltatásodnak, így egyetlen kérésből látja, mi a baj az oldallal.

A funkció a HelloPack Client 3.1.0-s verziójától érhető el, és alapból ki van kapcsolva.

## Hol találod?

**WordPress admin → HelloPack → Státusz.** A Státusz a bal oldali menüben, a HelloPack almenüjében van (a HelloPack felület felső sávjában nincs).

![A HelloPack Státusz oldala](https://hub.hellowp.io/_astro/statusz.D_0kneW5_Z2wHU4J.webp)

*A Státusz oldal: a végpont kapcsolója, a státusz-URL, a gyorsítótár ideje és az ellenőrzések listája.* (https://pelda.hu/wp-admin/admin.php?page=hellopack-client-status)

Hálózati (multisite) telepítésnél a Státusz a **Hálózati admin → HelloPack → Státusz** alatt van, és a fő oldal válaszol a teljes hálózat helyett.

## Bekapcsolás lépésről lépésre

1. Nyisd meg a **Státusz** oldalt, és kapcsold **Bekapcsolva** állásba a **Státuszvégpont** kapcsolót.
2. A **Hozzáférés** részben kattints az **URL generálása** gombra. Kapsz egy ilyen címet:

   ```text
   https://pelda.hu/wp-json/hellopack/v1/status/3f9a…(32 karakter)…c41e
   ```

3. Másold ki a **Másolás** gombbal, és add meg a monitorozó szolgáltatásodnak.
4. Válaszd ki, mennyi ideig használja újra a jelentést (**Eredmény újrafelhasználása ennyi ideig:** 1, 5 vagy 15 perc). Ennyi ideig a tárolt eredményt kapja minden kérés, utána a következő kérés újra lefuttatja az ellenőrzéseket.
5. Az **Ellenőrzések** listában kapcsold ki, amire nincs szükséged. A **Futtatás most** gombbal azonnal megnézheted az eredményt.

> **Az URL-ben lévő kulcs az egyetlen védelem**
>
> Aki ismeri a címet, el tudja olvasni a jelentést. Ne tedd ki nyilvános helyre. Ha kiszivárgott, kattints az **Új URL generálása** gombra: a régi cím azonnal megszűnik működni.

Rossz vagy régi kulcsra, illetve kikapcsolt végpontnál a válasz ugyanaz a 404-es hiba, amit a WordPress egy nem létező REST útvonalra ad. Kívülről nem derül ki, hogy a funkció létezik-e az oldalon.

## Mit jelentenek az állapotok?

Minden ellenőrzés egy állapotot ad, az **Összesített** állapot a legrosszabb közülük.

| Állapot | A felületen | Jelentése |
|---|---|---|
| `ok` | rendben | Az ellenőrzés nem talált gondot. |
| `warn` | figyelmet igényel | Nem sürgős, de foglalkozni kell vele (pl. függő frissítések, régi mentés). |
| `crit` | hibás | Az oldal működését érintő hiba (pl. végzetes PHP-hiba, le nem futott ütemezett feladatok). |
| `unknown` | nem mérhető | Nincs elég adat, az ellenőrzés hibára futott, vagy kifutott az időkeretből. |

A súlyossági sorrend: `ok` < `unknown` < `warn` < `crit`. Az ellenőrzések együtt legfeljebb 2 másodpercig futhatnak; ami ezután következne, az „Kihagyva: az időkeret elfogyott.” üzenettel `unknown` lesz.

A **Nem alkalmazható** jelölésű ellenőrzés ezen az oldalon nem fut (például WooCommerce nélkül a WooCommerce-ellenőrzés), és nem kerül a jelentésbe.

## Az ellenőrzések

| Azonosító | Név a felületen | Mit néz |
|---|---|---|
| `site_url` | Oldal címe | Https-t használ-e az oldal címe, és egyezik-e a két WordPress-cím beállítás. |
| `woo_coming_soon` | WooCommerce „hamarosan indulunk” | A bolt a WooCommerce „hamarosan” oldala mögé van-e rejtve. Csak WooCommerce mellett fut. |
| `visibility` | Kereső-láthatóság | Le van-e tiltva a keresőmotorok elől az oldal, vagy fut-e karbantartási mód az élő oldalon. |
| `cron` | Ütemezett feladatok (WP-Cron) | Vannak-e esedékes, de le nem futott ütemezett feladatok. |
| `fatal_errors` | Végzetes hibák | Helyreállítási mód, és az utolsó 24 óra végzetes PHP-hibái. |
| `autoload` | Automatikusan betöltött beállítások | Az minden oldalbetöltéskor beolvasott beállítások teljes mérete és a legnagyobbak. |
| `updates` | Váró frissítések | Függő WordPress-, bővítmény- és sablonfrissítések. |
| `performance` | Szerverterhelés | Terhelés CPU-magonként, a WordPress indulási ideje és az adatbázis válaszideje. |
| `mail` | Kimenő e-mail | Kiment-e a legutóbbi néhány levél, a FluentSMTP naplója alapján. |
| `action_scheduler` | Háttérfeladatok (Action Scheduler) | Késésben lévő és hibás háttérfeladatok, és futott-e valami mostanában. Csak Action Scheduler mellett fut. |
| `backup` | Mentések | Milyen régi az utolsó sikeres mentés (UpdraftPlus vagy All-in-One WP Migration). Csak ezek mellett fut. |
| `hellopack` | HelloPack-kapcsolat | Él-e a HelloPack-kapcsolat, ehhez a domainhez tartozik-e a kulcs, és futnak-e a licencmodulok. |
| `permalinks` | Permalinkek | Naprakészek-e a tárolt átírási szabályok, és Apache-on egyezik-e a `.htaccess`. Csak beállított közvetlen hivatkozásoknál fut. |

Az ellenőrzések csak olvasnak: nem írnak beállítást, nem ürítenek gyorsítótárat, és nem indítanak kimenő kérést. Az egyetlen kivétel a `performance`, ami a saját mérési mintáit eltárolja.

## A jelentés formája

```json title="GET /wp-json/hellopack/v1/status/<kulcs>"
{
  "overall": "warn",
  "checked_at": "2026-10-28T09:15:02+00:00",
  "cached": true,
  "site": {
    "url": "https://pelda.hu",
    "wp": "6.8.3",
    "php": "8.3.12",
    "hellopack": "3.2.2"
  },
  "checks": {
    "updates": {
      "status": "warn",
      "summary": "…",
      "details": { },
      "checked_at": "2026-10-28T09:15:02+00:00",
      "duration_ms": 12
    }
  }
}
```

Lekérdezési paraméterek:

| Paraméter | Hatása |
|---|---|
| `?fresh=1` | Nem a tárolt eredményt adja, hanem most futtat minden ellenőrzést. |
| `?checks=cron,mail` | Csak a felsorolt ellenőrzéseket futtatja. Az ismeretlen azonosítókat kihagyja. |
| `?http_status=1` | Ha az összesített állapot `crit`, a válasz HTTP-kódja 503 lesz. Hasznos olyan monitorozónál, ami csak a HTTP-kódot figyeli. |

## Parancssorból

A Státusz WP-CLI-ből is kezelhető. A `run` akkor is működik, ha a végpont ki van kapcsolva, mert helyben fut és semmit nem tesz közzé.

```bash title="Terminál"
# Jelentés táblázatban, vagy pontosan a végpont JSON-jával
wp hellopack status run
wp hellopack status run --fresh --checks=cron,mail --format=json

# Végpont be- és kikapcsolása
wp hellopack status enable
wp hellopack status disable

# Ellenőrzések listája, egyenkénti ki- és bekapcsolás
wp hellopack status checks list
wp hellopack status checks disable mail backup
wp hellopack status checks enable mail

# A titkos URL kiírása, vagy új kulcs
wp hellopack status url
wp hellopack status url regenerate

# Beállítások megtekintése, gyorsítótár ideje (60–3600 másodperc)
wp hellopack status settings
wp hellopack status settings --cache-ttl=300
```

A `wp hellopack status run` kilépési kódja az összesített állapotot követi: `ok` és `unknown` esetén 0, `warn` esetén 1, `crit` esetén 2. Így szkriptből vagy ütemezett feladatból is tudsz rá riasztani.

## Saját ellenőrzés fejlesztőknek

Bővítmény is adhat ellenőrzést a jelentéshez a `hellopack_status_checks` szűrővel. Az osztálynak a `HelloPack\Client\Status\StatusCheck` interfészt kell megvalósítania (`id()`, `label()`, `description()`, `applies()`, `run()`), a `run()` pedig `CheckResult::ok()`, `warn()`, `crit()` vagy `unknown()` értéket ad vissza.

```php title="sajat-bovitmeny.php"
add_filter( 'hellopack_status_checks', function ( array $checks ) {
    $checks[] = new class implements \HelloPack\Client\Status\StatusCheck {
        public function id(): string          { return 'sajat_sor'; }
        public function label(): string       { return __( 'Saját sor', 'sajat' ); }
        public function description(): string { return __( 'Várakozó feladatok száma.', 'sajat' ); }
        public function applies(): bool       { return class_exists( 'Sajat_Bovitmeny' ); }
        public function run(): \HelloPack\Client\Status\CheckResult {
            $n = \Sajat_Bovitmeny::sor_merete();
            return $n > 100
                ? \HelloPack\Client\Status\CheckResult::warn( sprintf( __( '%d feladat vár.', 'sajat' ), $n ), [ 'queued' => $n ] )
                : \HelloPack\Client\Status\CheckResult::ok( __( 'A sor rendben.', 'sajat' ), [ 'queued' => $n ] );
        }
    };
    return $checks;
} );
```

Szabályok: csak olvass (ne írj beállítást, ne indíts kimenő kérést), legyél gyors, és ne tegyél kulcsot, jelszót vagy fájlútvonalat az összegzésbe. Ha a `run()` kivételt dob, az eredmény `unknown` lesz, és a jelentés többi része változatlan marad. Az új ellenőrzés a **Státusz** oldalon a bővítményed nevével jelenik meg a **Forrás** oszlopban, és ott ki is kapcsolható.
