Řada dnešních hostingů pro WordPress nabízí neomezený (nebo hodně dostatečný) prostor pro soubory, ale omezenější prostor pro databázi (SQL). Co dělat když vám dochází místo v databází?
U většiny hostingů si můžete připlatit na rozšíření databáze, ale možná je lepší se nejprve podívat, co vám vlastně v databázi zabírá místo.
Pokud máte přístup k administraci SQL serveru na hostingu (typicky něco jako PHPMyAdmin), tak začněte klidně tam – umožní vám to zjistit, která z tabulek zabírá nejvíc místa (má nejvíce záznamů) a podle toho se můžete rozhodnout co s tím.
Pokud se nechcete pouštět do ručního čištění (pomoci SQL příkazů) tak je vhodné zkusit některé z pluginů, které to usnadňuj – WPS Cleaner, WP-Sweep, Advanced Database Cleaner, WP Optimize
Nejčastějším důvodem velké databáze mohou být komentáře (wp_commentmeta) za předpokladu, že je máte povolené. A zejména pokud se vám tam procházejí spamovací komentářoví boti.
Druhý nejčastější bude wp_postmeta kde jsou detaily k (nejenom) článkům – má tendenci bobtnat revizemi, nemazat staré věci a vůbec dělat neplechu.
A samozřejmě wp_posts kde jsou všechny typy příspěvků (a nějaké další věci), za předpokladu. že máte web s hodně příspěvky.
Pro FeedIT.cz to byl například právě ten hlavní problém – 59 713 Posts and 785 122 Post Meta – v wp_postmeta bylo 615 845 duplikátů.
U (nejenom) WPS Cleaner ale pozor u hostingů, kde je nastavený velmi krátký PHP Timeout – některé z funkcí (zejména kontrola souborů) mohou být tak časově náročné, že to prostě PHP Timeout znemožní.
Po promazání ale stejně budete zpravidla potřebovat nějaký ten phpMyAdmin – promazané tabulky totiž můžete zkusit optimalizovat aby zmizely smazané věci. Zpravidla se to dělá v přehledu tabulek pro každou jednotlivou (a WP Sweep to umí vyvolat). Samozřejmě to můžete udělat ručně přes SQL příkaz. Celé to ale může mít háček, že se nic s ohledem na velikost SQL databáze nezmění – bude to záležet na nastavení SQL Serveru. Každopádně by to ale mělo pomoci v zastavení růstu – vzniklé volné místo se bude recyklovat.
Chybí-li vám přihlašovací údaje pro SQL server tak to má poměrně snadné řešení – ve wp-config.php na vašem webu najdete jak ID, tak heslo, Případně si můžete v administraci většinou vytvořit dalšího uživatele jen pro sebe.
Pokud se budete rozhodovat mezi WP Sweep a WPS Cleaner, tak možná zkuste ten první – trochu líp ukazuje čísla. Oba ale v zásadě umí přesně to samé a rozhodně neumí vyřešit všechny problémy.
POZNÁMKA: Váš webhosting by měl varovat včas, když se plní databáze – Blueboard to posílá e-mailem (a i SMS, velmi užitečné) když je na 80 % dostupného prostoru (1 GB). Pokud to nedělá a máte kombinaci menšího prostoru vs. větší web, tak to může být komplikace.
Pokud byste chtěli plugin co vám ukáže velikost tabulek v KB/MB tak Advanced Database Cleaner pomůže víc než dvě předchozí.
A pokud byste třeba chtěli zjistit co máte ve wp_posts a co tam zabírá místo, tak třeba takto:
SELECT
post_type,
ROUND(
SUM(
LENGTH(
CONCAT(
ID, post_author, post_date, post_date_gmt, post_content, post_title, post_excerpt, post_status, comment_status, ping_status, post_password, post_name, to_ping, pinged, post_modified, post_modified_gmt, post_parent, guid, menu_order, post_type
)
)
)/1048567, 2
),
COUNT(*)
FROM wp_posts
GROUP BY post_type
Případně detailnější rozpis podle “větších” polí (dívá se i na post_content_filtered kde by v principu nic nemělo být, ale může k tomu dojít)
SELECT post_type,
ROUND(SUM(LENGTH(post_content))/1024/1024,2) as Content,
ROUND(SUM(LENGTH(post_title))/1024/1024,2) as Title,
ROUND(SUM(LENGTH(post_excerpt))/1024/1024,2) as Excerpt,
ROUND(SUM(LENGTH(to_ping))/1024/1024,2) as ToPing,
ROUND(SUM(LENGTH(pinged))/1024/1024,2) as Pinged,
ROUND(SUM(LENGTH(post_content_filtered))/1024/1024,2) as ContentFiltered,
COUNT(*)
FROM wp_posts
GROUP BY post_type
Stejně tak se může hodit podívat se na velikost tabulek a indexu. Musíte tam jenom vyměnit “database_name” za jméno té vaší
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
Pokud byste chtěli vidět zvlášť data a zvlášť indexy
SELECT table_name AS "Table",
ROUND(data_length/ 1024 / 1024, 2) AS "data (MB)",
ROUND(index_length/ 1024 / 1024, 2) AS "index (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
WHERE řádku mimochodem můžete vynechat, pak se vám to ukáže prostě pro všechny tabulky, které v databázi máte.
Další tipy týkající se WordPressu
-
TIP#2358: Co si pořídit na Cookie bannery místo Complianz?
Peklo s cookies od Evropské Unie má za následek, že si na weby musíme pořizovat šílená řešení pro cookies bannery a ještě šílenější řešení pro blokování cookies, které někomu nesmíme (nebo ještě…
-
TIP#2352: Jak ve WordPressu přesunout (hromadně) články od jednoho autora na jiného?
Ten nejprimitivnější způsob je, že si zobrazíte články/příspěvky klasicky v přehledu, nastavíte si případně větší počet než 20 (100 se ještě jakž takž dá), uděláte výběr všech a pak nad výpisem jdete…
-
TIP#2334: Velký přehled zásadních pluginů pro WordPress
Máme tu Jak na vlastní WordPress. Nepostradatelné pluginy pro WordPress sepsaný v říjnu 2021 při velkém stěhování z WordPress(dot)com na vlastní WordPress. Velmi šikovný přehled pluginů v čitelnější formě. Ale vyplatí se…
-
TIP#2329: Měl bych zamezit indexování štítků či rubrik na WordPressu? Jak to udělat?
Pokud se přes site:pooh.cz či site:365tipu.cz podíváte (lépe řečeno, podívali jste se) na věci zaindexované Google, tak uvidíte šílený zmatek Několik tisíc výsledků zahrnujících v prvním případě na dvě tisícovky (v druhém…
-
TIP#2324: Optimalizace (zmenšování velikosti) obrázků na WordPressu. Jak na to?
Dobrá zpráva je, že v tomto tipu najdete množství pluginů, které vám mohou pomoci se zmenšováním, konverzí a optimalizací obrázků pro váš web/blog na WordPressu. A to jak při nahrávání (což je…
-
TIP#2304: Je ve WordPressu nějaký rozdíl mezi výchozími šablonami a ostatními?
WordPress má “výchozí” šablony, ty které vytváří přímo WordPress(org). Každý rok je jedna nová, takže se jmenují podle roku kdy vznikly (viz například Twenty Twenty-Two). Pak je tu záplava, tisíce, šablon od…
-
TIP#2264: Jak využít QNAP pro monitoring běhu webových serverů? A nejenom QNAP
Monitoring běhu/dostupnosti webových serverů tu řeší tip Jak na monitoring dostupnosti/funkčnosti serveru? Je tam řeč o WEDOS.online, které je dostupné zdarma v beta verzi a docela dlouho ho používám pro monitoring –…
-
TIP#2262: Co když má váš WordPress problémy a nestíhá?
Po migraci FeedIT.cz na vlastní WordPress u BlueBoardu (z WordPress.com) se objevil problém s nestíháním. Ten web má přes 55 tisíc příspěvků, takže i když nemá nijak zásadní návštěvnost (okolo jednoho tisíce…
-
TIP#2258: Jak z Linuxu prověřit web s WordPressem? Použijte WPscan
WPScan je CLI pomůcka pro Linux, open source, snadno použitelné pro kontrolu webu s WordPressem zvenčí. Prozradí vám verzi WordPressu, http serveru, jaké pluginy jsou instalované, podívá se na uživatelská jméno, umí…
-
TIP#2253: Jak použít wget pro zálohování webu přes FTP?
O wget je dost detailně řeč v K čemu se vám může hodit wget? Ke stahování a zrcadlení!, ale není tam úplně zmíněna možnost využití pro zálohování webu, pokud máte přístup přes…
-
TIP#2252: Jaké cache použít pro váš WordPress web?
Probírali jsme to v Pro WordPress potřebujete cache, pokud má ustát návštěvnost. Co byste měli vědět? ale chyběl tam výčet možností. Tedy jako cache si pořídit.
-
TIP#2246: Vydat nějaké složitější téma jako seriál několika pokračování?
Když vyšlo Vydat dlouhý článek jako jeden celek nebo rozdělit na víc pokračování? tak nemůže chybět i pokročilejší varianta. Seriál -často se používající pro vydání nějakého složitějšího nebo výrazně dlouhého tématu.
-
TIP#2245: QNAP MARS a zálohování WordPressu. Šikovná věc
Nic si nenamlouvejme, zálohování (a následně i případné obnovení) webů na WordPressu bývá jedna ze slabin. Můžete mít (snad) použitelné řešení u vašeho poskytovatele hostingu. Můžete jít do některých ze zálohovacích pluginů…
-
TIP#2223: Ponechat na WordPress webu pouze aktivní šablonu nebo i jednu z výchozích?
Předchozí aktuální výchozí šablona WordPressu je Twenty Twenty One (a nově čerstvě samozřejmě Twenty Twenty Two) a je to šablona, kterou byste na vašem webu ideálně měli nechat současně s šablonou, kterou…
-
TIP#2210: Jak zobrazovat Twitter feed/timeline na webu s WordPressem
WordPress přímo má plugin pro základní zobrazení obsahu z nějakého účtu na Twitteru. Bohužel není přizpůsobitelný (a je i trochu nevzhledný) a nemá ani žádné pokročilejší možnosti. Chcete-li něco víc, tak musíte…