V době kdy #tyden měl webovou verzi se na rychlofky.cz nashromáždilo dobrých 12 tisíc (velmi krátkých) příspěvků. Roky starých a také nenavštěvovaných, Google (vyhledávače) nemají rády krátké příspěvky a neumístí je do vyhledávání.
Z #tyden je navíc mezitím týdenní newsletter a web už dávno nemá smysl, takže jsem se konečně rozhoupal k tomu, že tu záplavu smetí (ano, dá se to tak nazvat) prostě smažu.
Jak tedy smazat velké množství příspěvků ve WordPressu?
Není to tak jednoduché a sám WordPress nemá žádnou cestu jak to udělat. V administraci jde mazat po dávkách (můžete si změnit počet zobrazených na víc než ten malý základ), ale budete narážet na kapacitu serveru, omezení PHP (paměť a doba běhu). A při 12 tisících to mazat po sto kusech dost dobře nejde.
Komplikuje to i maličkost, že se mazané příspěvky pouze přemístí do Koše a pak ho budete muset vysypat – kde opět narazíte na omezení PHP a víc jak pár stovek se jich nepodaří smazat, prostě dorazí timeout.
Při mazání pozor i na používané cache, které je vhodné promazat ještě předtím, než začnete mazat. A pak finálně promazat poté co máte mazání hotovo.
Přes plugin
Jedno z vhodných řešení je některý z pluginu – třeba WP Bulk Delete nebo Bulk WP – tam můžete mazat třeba po 500 příspěvcích (to běžně omezená PHP dávají) a rovnou zaškrtnout, že má jít o trvalé smazání (na což fakt nezapomeňte).
Výhoda cesty před plugin je, že zpravidla smažou i transients a různé další věci, které příspěvky mohou mít někde jinde.
Mažte pomalu, ty (například) dávky 500 smazaných neuspěchejte.
Přímo v SQL
Pokud máte přístup k něčemu jako SQL Admin, tak můžete mazat přímo v SQL. Stačí použít následující příkaz:
DELETE FROM wp_posts WHERE post_type = 'post';
Nezapomeňte ale, že tohle nesmaže ony související věci, takže to také musíte udělat ručně:
DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT ID FROM wp_posts);
DELETE FROM wp_term_relationships WHERE object_id NOT IN (SELECT ID FROM wp_posts);
Přes WP-CLI
Alternativa je využít WP-CLI, tedy možnost ovládat váš WordPress přes příkazovou řádku. Tady můžete použít
wp post delete $(wp post list --post_type=post --format=ids) --force
To –force je důležité, jinak mazané skončí opět v Koši.
Další tipy týkající se WordPressu
-
TIP#2907: Jak ve WordPressu smazat velké množství příspěvků? Ideálně všechny?
V době kdy #tyden měl webovou verzi se na rychlofky.cz nashromáždilo dobrých 12 tisíc (velmi krátkých) příspěvků. Roky starých a také nenavštěvovaných, Google (vyhledávače) nemají rády krátké příspěvky a neumístí je do…
-
TIP#2871: WordPress a jak docílit toho, aby obrázky v příspěvcích měly stín?
Chcete trochu vylepšit příliš plochý design článků a svého webu na WordPressu? Můžete to udělat tak, že obrázky opatříte stínem. Budou vystupovat z jinak plochého článku a vylepší jeho čitelnost. Související příspěvky…
-
TIP#2807: Bit.ly zavádí reklamu a splash screen? Co s tím? Jak na vlastní zkracovač?
Bit.ly, jeden z mála původních a široce rozšířených zkracovačů adres (URI) za pár měsíců zavede zobrazování reklamy pro ty, kdo kliknou na bit-ly odkaz. Doposud to fungovalo aniž by kliknutí bylo jakkoliv…
-
TIP#2799: Sdílíte nějaký odkaz? Měli byste ho vyčistit od věcí, které tam nemají zůstat
Zapeklitá záležitost, něco jste si otevřeli na Internetu nebo v aplikaci a chcete to nasdílet pomocí odkazu (link). V mnoha případech se k odkazu samotnému přidá řada dalších zbytečných věcí. Někde, třeba…
-
TIP#2791: Mám na webu WordPress v “anglické” verzi, je bezpečné přeinstalovat (změnit) na cs_CZ (či opačně)?
Může se vám to stát velmi lehce a možná si toho ani nevšimnete. Máte českou verzi WordPressu a při některé z aktualizaci si nevšimnete, že vám vlastně nenabízí českou, ale anglickou. To…
-
TIP#2753: Proč mi aktualizace WordPressu cs_CZ (českého) nabízí aktualizace na en_US?
Právě teď je to aktuální. Objevil se WordPress 6.6 a pro všechny weby s cs_CZ to nabízí (a vlastně i dost vnucuje) aktualizaci na tuto verzi, jenže en_US. Související příspěvky TIP#2554: Potřebujete…
-
TIP#2733: Vývojová prostředí pro lokální vývoj pro WordPress (a webdesign vůbec)
Lokální vývojové prostředí vám umožní na vašem lokálním stroji mít vše co potřebujete pro provozování webu (s WordPressem, ale může to být i cokoliv jiného) – tedy web server (Apache, například), SQL…
-
TIP#2592: Ještě stále máte na webu Google AMP? Je to zlo, rychle s tím pryč
Je to vlastně už docela dlouho, co jsem na všech mých webech zrušil podporu Google AMP. Pak jsem delší dobu chtěl napsat tip tomu věnovaný, ale nějak to zapadlo v záplavě jiných…
-
TIP#2554: Potřebujete vyměnit obrázek v médiích na vašem WordPressu? Je nutné mít plugin
Jedna z věcí, kterou (neznámo proč) WordPress neumí přímo. Můžete nahrát média (obrázek, fotku, atd) ale když chcete nahrát upravenou verzi, tak to není možné. Přitom je to dost zásadní věc, kterou…
-
TIP#2548: Jak synchronizovat (zálohovat) web přístupný přes FTP na disk ve Windows?
Taková ta úplně klasická věc. Máte někde webový server (třeba právě jako 365tipu.cz) a je dostupný jen přes FTP (SFTP). Chcete si ho zálohovat na disk ve Windows (ať už lokální nebo…
-
TIP#2533: Jak získat štítky z WordPressu pomocí vlastního PHP
Když už byla řeč o tom jak analyzovat duplicitní štítky, tak je vhodné ještě přidat možnost jak exportovat štítky z WordPressu pomocí PHP. Předpokládá to, že máte přístup k vašemu hostingu a…
-
TIP#2514: Jak ve WordPressu deaktivovat plugin bez přístupu k WP-Admin
Tohle je snadné, ale musíte mít přístup k vašemu hostingu, tedy většinou FTP/SFTP přístup, ale může to být SSH. Prostě tak, abyste se dostali k souborům. Související příspěvky TIP#2495: Mohu z mého…
-
TIP#2505: Uklízíte v databázi ve vašem WordPressu? Co dělat s oEmbed Cache In Post Meta
Jedna maličkost, kterou nejspíš neznáte – kdykoliv do příspěvků umístíte nějaký ten “embedovaný” obsah, tedy například video na YouTube, tak editor stáhne potřebný kód pro embed a uloží do “oEmbed Cache” pro…