# WP-CLI parancsok

> A wp lw-seo parancsai: beállítások, oldaltérkép, llms.txt, robots.txt, AI-crawlerek, IndexNow, átirányítások, 404-napló és import.

Főparancs: `wp lw-seo`. Alparancsok: `option`, `sitemap`, `llms`, `robots`, `crawlers`, `indexnow`, `redirect`, `not-found`, `migrate`, és Bricks mellett `bricks`. A kimenet angol. A megerősítést kérő parancsok `--yes` nélkül rákérdeznek; hibánál a kilépési kód 1.

## Beállítások

`wp lw-seo option get|set|list|reset`. Ugyanazzal az ellenőrzéssel ír, mint a beállítás-oldal.

```text title="Kimenet"
$ wp lw-seo option get separator
-
$ wp lw-seo option get title_post
%%title%% %%sep%% %%sitename%%
$ wp lw-seo option list
key	value
separator	-
title_home	%%sitename%% %%sep%% %%sitedesc%%
desc_home
title_post	%%title%% %%sep%% %%sitename%%
title_page	%%title%% %%sep%% %%sitename%%
noindex_post	false
...
```

```bash title="Terminál"
wp lw-seo option set noindex_author on
wp lw-seo option set separator "|"
wp lw-seo option set sitemap_post_types.case_study false
```

- Logikai értéknek jó: `true`, `false`, `1`, `0`, `on`, `off`, `yes`, `no`.
- Listás beállításnál JSON-objektum (`'{"case_study":false}'`), vagy ponttal egyetlen elem (`sitemap_post_types.case_study`).
- Siker: `Set <kulcs>.` Hibák: `Unknown option: …`, `Invalid boolean value …`, `Invalid JSON object: …`.
- `wp lw-seo option reset` **minden** LW SEO beállítást az alapértékre állít (az átirányításokat nem érinti). Előtte rákérdez: `Reset ALL LW SEO options to defaults?`

## Oldaltérkép, llms.txt, robots.txt

```text title="Kimenet"
$ wp lw-seo sitemap info
Sitemap index: http://pelda.hu/sitemap.xml
Sitemaps: post, page, product, category, product_cat
Success: Sitemap is enabled.

$ wp lw-seo llms info
llms.txt: http://pelda.hu/llms.txt
llms-full.txt: disabled
Post types listed: post, page, product
```

- `wp lw-seo sitemap flush`: frissíti az átírási szabályokat, ha a `/sitemap.xml` vagy a `/llms.txt` 404-et ad. Kimenet: `Sitemap rewrite rules flushed.`
- `wp lw-seo llms preview [--full]`: azt mutatja, amit az oldal kiszolgálna, kijelentkezett látogatóként, gyorsítótár nélkül. A `--full` az llms-full.txt-t.
- `wp lw-seo llms flush`: üríti az llms.txt gyorsítótárát.
- `wp lw-seo robots preview`: a most kiszolgált robots.txt az LW SEO soraival. Fizikai fájlnál jelzi: `A physical robots.txt exists and takes priority over this virtual one: <útvonal>`.

A `sitemap` és az `llms` alatt nincs `status`, helyette `info` van.

```text title="Kimenet (részlet)"
$ wp lw-seo llms preview
# Példa Webáruház

## Bejegyzések

- [Őszi kollekció 2026](http://pelda.hu/oszi-kollekcio-2026/)
- [Ajándékötletek karácsonyra](http://pelda.hu/ajandekotletek-karacsonyra/)

## Oldalak

- [Kapcsolat](http://pelda.hu/kapcsolat/)
- [Rólunk](http://pelda.hu/rolunk/)
...

## Optional

- [XML Sitemap](http://pelda.hu/sitemap.xml)
```

## AI-crawlerek

```text title="Kimenet (részlet)"
$ wp lw-seo crawlers list
key	agent	company	purposes	blocked	reason
gptbot	GPTBot	OpenAI	training	no	-
oai_searchbot	OAI-SearchBot	OpenAI	search	no	-
chatgpt_user	ChatGPT-User	OpenAI	user	no	-
claudebot	ClaudeBot	Anthropic	training	no	-
...
```

A `reason` oszlop: `individual` (egyenként tiltva), `purpose:<cél>` (cél szerint tiltva) vagy `-`. Formátum: `--format=table|json|yaml|csv`. Tiltani az `option set`-tel lehet:

```bash title="Terminál"
wp lw-seo option set block_gptbot on
wp lw-seo option set block_purpose_training on
```

A cél lehet `training`, `search` vagy `user`.

## IndexNow

```text title="Kimenet"
$ wp lw-seo indexnow status
Enabled: no
Key file: (none yet)
Queued changes: 0
time	source	urls	code	result

$ wp lw-seo indexnow key
(no key yet)
```

- `submit <url>... [--queue]`: beküldés most, vagy `--queue`-val a következő ütemezett küldéssel. Csak ennek az oldalnak a címei. Siker: `Submitted N URL(s): …` vagy `Queued N URL(s).`
- `key --regenerate`: új kulcs, csak bekapcsolt IndexNow-nál.

> **Bekapcsolás**
>
> Kikapcsolt IndexNow-nál a hibaüzenet a `wp lw-seo option update indexnow_enabled 1` parancsot javasolja. Ilyen alparancs nincs, a helyes parancs:
>
> ```bash title="Terminál"
> wp lw-seo option set indexnow_enabled 1
> ```

## Átirányítások

```text title="Kimenet"
$ wp lw-seo redirect list
id	uuid	source	destination	type	regex	hits
$ wp lw-seo redirect test /regi-oldal/
No redirect matches /regi-oldal.
```

```bash title="Terminál"
wp lw-seo redirect add /regi-oldal/ /uj-oldal/
wp lw-seo redirect add '^/blog/(.*)$' '/hirek/$1' --regex --type=301
wp lw-seo redirect add /torolt-termek/ '' --type=410
wp lw-seo redirect export atiranyitasok.csv
```

- `add`: a típus alapból 301; lehet 302, 307, 410, 451. Siker: `Redirect added (#N): …`. Ha a forráshoz már van szabály: `A redirect for this source already exists. Delete or edit it first.`
- `delete <id>...` vagy `delete --all [--yes]`: ID-vel vagy UUID-vel, ahogy a `list` mutatja.
- `import <fájl>`: CSV `source,destination,type,regex` formában. Kimenet: `Imported N redirect(s), skipped M.`
- `export [<fájl>]`: CSV a kimenetre vagy fájlba.
- `test <url>`: melyik szabály találna.

## 404-napló

```text title="Kimenet"
$ wp lw-seo not-found list
id	url	hits	referrer	last_seen
```

- `list [--search=<szöveg>] [--orderby=last_seen|hits|url] [--limit=<1-100>]`: alapból a legutóbbi 20.
- `clear [--yes]`: üríti a naplót (`404 log cleared.`).
- `prune`: most alkalmazza a megőrzési időt és a sorlimitet (`Pruned N row(s).`).

## Import más SEO-bővítményből

`wp lw-seo migrate yoast|rankmath|seopress|aioseo [--dry-run] [--yes]`. A `--dry-run` írás nélkül mutatja, mi kerülne át. A meglévő LW SEO adatot nem írja felül.

```text title="Kimenet (forrásadat nélkül)"
$ wp lw-seo migrate yoast --dry-run
metric	count
Options migrated	0
Posts migrated	0
Posts skipped (LW SEO data present)	0
Posts skipped (no data)	0
Terms migrated	0
Terms skipped (LW SEO data present)	0
Terms skipped (no data)	0
Primary terms migrated	0
Redirects migrated	0
Redirects skipped	0
Success: Dry run complete — no data modified.
```

Éles futás után: `Yoast migration complete.` (a forrás nevével).

Bricks mellett: `wp lw-seo bricks import [--dry-run]` a Bricksben mentett SEO-beállításokat másolja az LW SEO még üres mezőibe; meglévőt nem ír felül.
