Štítky ve WordPressu jsou tak trochu peklo. Nejen že je třeba je udržovat tak abyste neměli zbytečné štítky (takové co mají žádné nebo minimum článků), ale velmi snadno vznikají různorodé “duplicity”. Hlavně tak že zadáte štítek jinak, než jste ho dříve zadali. Nebo při zadávání překlepem vznikne jiná forma.
Jednou za čas se vyplatí čistit takto “duplicitní” štítky – zrušit špatný a převést k němu přiřazené články na správnou firmu není až tak problém, v tom vám pomůže TaxoPress plugin. Umí totiž Merge/Rename kdy prostě ukážete na špatný štítek a pak vyberete ten správný a vše přiřazené k špatnému převede na nový.
Problém je, že TaxoPress neumí hledat duplikáty. A nevypadá to, že by existoval plugin, který by to uměl – hlavně s fuzzy logikou, tedy zohledňoval překlepy, chybějící znaky, prohozená slova.
TIP: Jak pracovat se štítky u článků? Kompletní návod jak na štítky u obsahového webu (1) je počáteční díl velmi užitečné série tipů popisující jak pracovat se štítky
Pomůže AI
Vydal jsem se zkoušet Bard se zadáním “I have csv file with strings (tags from wordpress) and i need to find duplicates in them, can you help me?“ a postupnou konverzací jsme došli ke skriptu v Pythonu. Ten si můžete pustit v počítači, nebo v něčem jako Google Colab.
V Pythonu můžete využít knihovnu fuzzywuzzy vhodnou právě k nalézání fuzzy duplikátů. A výsledný kód najdete o kousek níže. Počítá s tím, že na vstupu bude mít v tags.csv export tagů (uložte jako ANSI) a výstup, tedy přehled duplicit uloží do duplicate.csv
import fuzzywuzzy.fuzz as fuzz
import csv
def is_duplicate(tag1, tag2):
if tag1 == tag2:
return False
else:
return fuzz.ratio(tag1, tag2) > 90
def find_duplicates(tags):
duplicates = []
for tag1 in tags:
for tag2 in tags:
if is_duplicate(tag1, tag2):
duplicates.append((tag1, tag2))
return duplicates
# Read the CSV file into a list of tags
tags = []
with open('tags.csv', 'r') as f:
for line in f:
tags.append(line.strip())
# Find non-exact duplicates
duplicates = find_duplicates(tags)
# Save the results to a CSV file
with open('duplicates.csv', 'w', newline='') as f:
writer = csv.writer(f)
for duplicate in duplicates:
writer.writerow(duplicate)
Aby to fungovalo, tak budete potřebovat nainstalovat onu výše zmíněnou knihovnu, tj:
pip install fuzzywuzzy
a vyplatí se nainstalovat i další knihovnu, která vše výrazně zrychlí
pip install python-Levenshtein
Získat štítky z WordPressu
Ještě před tím vším ale musíte z vašeho WordPressu dostat štítky – to jde nejlépe udělat v nějakém tom Admineru či phpMyAdmin kde spustíte SQL dotaz
SELECT name FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy = 'post_tag');
Získaný výstup pak pomoci export uložíte do tags.csv – případně pře uložení do ANSI ve Windows snadno v Notepadu – otevřete, dáte Uložit Jako a dole vyberete kódování.
Zpracování je už jen na vás
Výsledek v duplicates.csv si pak můžete otevřít (Excel, Google Sheets, atd) a jít řádku po řádce nalezených duplicit – v TaxoPress pak můžete snadno v Manage Terms -> Merge Terms zvolit nejprve špatnou a poté dobrou formu a nechat spojit. Dost se hodí našeptávač.

Jak vypadá výstup vidíte níže (z FeedIT.cz). Je dost jisté, že některé z duplicit nezjistí, ale to můžete ovlivnit i volbou fuzz.ratio ve skriptu. Ne vše také musí být duplicity – Adastra a Aastra jsou dva správné štítky. Proto je nutné aby výsledek zpracovával člověk.

Mimochodem, ten zvláštní duplikát na řádku 17/19 kde jsou v názvu otazníky je způsobeny tím, že otazníky jsou ‌ (tzv. zero-width non-joiner) – v tomto konkrétním případě je asi někdo (dost zbytečně) použil v tiskové zprávě a přes copy/paste pak došlo k vytvoření štítku – jde o neviditelné znaky, takže ve WordPressu je neuvidíte.
FeedIT.cz má přes 5 tisíc štítků – výše uvedený skript našel zhruba 200 duplikátů.
Další tipy týkající se WordPressu
-
TIP#1758: Jak ve WordPressu smazat rubriku a co všechno to znamená
Na Rychlofky.cz jsem se rozhodl zrušit kompletně rubriky a ponechat pouze štítky – je tam tak nějak 10 tisíc krátkých zpráviček původně rozdělovaných do rubrik, ale ty jsou stejně duplicitní se štítky…
-
TIP#1750: Jak převést starý příspěvek ve WordPressu na nový blokový editor?
Nový WordPress 5.0 (v září 2020) přinesl blokový editor (Gutenberg) a během příštích měsíců dojde k odstranění klasického editoru. Na novinku se dá se skřípáním zubů a nadáváním zvyknout za předpokladu, že…
-
TIP#1706: Jaké jsou alternativy pro WordPress?
WordPress je blogovací služba (na WordPress.com) a také CMS (Content Management System) software, které si můžete pořídit a provozovat a mít na něm blog i pokročilý web (najdete na WordPress.org). Má řadu…
-
Bez reklamy. Od 1. července bez WordAds. Čtěte proč a také jak dál. A jak můžete pomoci
Od 1. července si můžete @365tipů užívat bez reklamy (stejně jako Pooh.cz a Rychlofky.cz). Definitivně došla trpělivost s tím co do WordAds (tak se systém reklamy na WordPress.com jmenuje) teče. Záplava podvodných…
-
TIP#1647: Jak se ve WordPressu zbavit zadávání data a času při zveřejnění příspěvku
WordPress před pár měsíci zavedl v editoru příspěvků jednu změnu, kterou nemusíte mít zrovna v oblibě. Když chcete zveřejnit nový příspěvek, tak ho nezveřejní rovnou, ale vkládá mezikrok umožňující zvolit mezi okamžitým…
-
TIP#1622: Jak nastavit web na WordPress.com než ho pustíte na veřejnost
Než spustíte web na WordPress.com je vhodné správně nastavit řadu věcí v Nastavení a další místech určujících jak bude web fungovat. Malý „checklist“ s vysvětlivkami určitě pomůže. Související příspěvky Změnit adresu blogu…
-
TIP#1470: Co je to Markdown?
V době kdy na Internetu ještě neexistovaly WYSIWYG (What do You See Is What do You Get) editory se objevila cesta jak formátovat texty pomocí speciálních kombinací znaků. Od jednoduchých příspěvků v…
-
TIP#1414: Jak stáhnout WordPress
Stáhnout WordPress je snadné, zajdete na www.wordpress.org a tam kliknete na modré Get WordPress/Získejte WordPress. Je to Open Source a je kompletně zdarma. Stáhnutí samotné vám ale nic moc k ničemu nebude.…
-
TIP#1408: K čemu je dobrý desktopový klient pro WordPress (pro Windows)
Když už tu nedávno byla řeč o Proč je dobré mít na tabletu (či mobilu) aplikaci od WordPressu?, je čas zmínit ještě to, že WordPress má nativní (univerzální, UWP) „aplikaci“ pro Windows 10.…
-
TIP#1397: Proč je dobré mít na tabletu (či mobilu) aplikaci od WordPressu?
365tipů už pátým rokem jede na WordPress.com, stejně jako pár dalších webů tak trochu souvisejících. Před spuštěním @365tipů ty ostatní weby používaly WordPress.org a vlastní hosting, ale protože to bylo náročně na…
-
TIP#1359: Proč jsou důležité ALT texty (popisky) obrázků na webu?
Pokud chcete odpověď „pro lidi“, tak je to prosté. Protože se objeví všude tam, kde obrázek není možné zobrazit nebo ho není možné vidět. Těm co jsou nevidomí či slabozrací tak výrazně…
-
TIP#1302: Uvádět na webu u článku počet přečtení?
Když už se tu nedávno řešilo zda uvádět na obsahovém webu informaci o tom jak dlouho bude čtenář číst článek, tak je vhodné zmínit ještě jednu věc. Počet přečtení článku, tedy údaj,…
-
TIP#1293: Co dělat se starým obsahem
Máte blog, nebo prostě obsahový web. Existuje už možná několik let a za ty roky se na něm nashromáždila spousta obsahu. Je čím dál tím větší, špatně se v něm orientuje, je…
















