WordPress wordt aangedreven door een MySQL-database. MySQL is een gratis ‘relationele database management systeem‘ die door de meeste web hosting diensten wordt gebruikt in combinatie met CMS blogging platformen. Alle WordPress gegevens, zoals de berichten, commentaren, categorieën en instellingen worden opgeslagen in de MySQL database.

Als u informatie over de hele linie wilt wijzigen in WordPress, bijvoorbeeld vanwege het verhuizen naar een andere URL (Uniform Resource Locator), dan zal het handmatig aanpassen van elke record zeer tijdrovend én gevoelig voor menselijke (typ)fouten zijn.

Door gebruik te maken van een SQL-query in de WordPress database, kunt u de benodigde wijzigingen snel en efficiënt doorvoeren. Hieronder staan ​​een aantal zeer handige SQL-query’s die van grote hulp voor u kunnen zijn..

Voordat u verder gaat met wijzigingen in de database, maak een back-up van uw database. Dit zorgt ervoor dat zelfs als er iets fout gaat, u nog steeds in staat bent om het te herstellen.

Maar eerst, .. het juiste Gereedschap!

Een gemakkelijke manier om een van de onderstaande query’s uit te voeren, is door gebruik te maken van phpMyAdmin. phpMyAdmin is een van de meest voorkomende databank ‘look-up en editing tools’. Bijna alle bedieningspanelen van web hosting services bieden deze dan ook aan.

Maar er zijn ook een aantal WordPress plugins zoals bijv. WordPress SQL Executioner — een WordPress plugin waar SQL-query mee uitgevoerd kunnen worden.

In onderstaande SQL query’s wordt ervan uitgegaan dat de standaard table prefix ‘wp_’ wordt gebruikt. Als u gebruik maakt van een andere table prefix, verander dit dan in de volgende database query’s.

Verander de Site URL en Homepage URL

WordPress slaat het absolute pad van de site-URL en van de homepage-URL op in de database (een absolute pad wordt gezien vanaf de root van de website). Deze query is uiterst handig als u uw site wilt migreren van een oud domein naar een nieuw domein, of van een oud sub-domein naar een nieuwe .. etc.

Ook erg handig als u de site off-line heeft ontworpen en gecodeerd (bijv. op een localhost met Wamp), en u wilt uw WordPress site van de localhost naar uw server migreren.

Zonder deze query te gebruiken zou uw website niet werken op een nieuw domein, omdat het absolute pad nog steeds verwijst naar uw oude domein of localhost.

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://www.oude_site.nl', 'http://www.nieuwe_site.nl');

Updaten URL’s in de Post Meta

Updaten van de Post Meta werkt bijna op dezelfde manier als het updaten van de URL in de post inhoud. Post Meta data is de “administratieve” informatie behorend bij elk bericht. Deze informatie omvat meestal de auteur van het artikel, datum van de publicatie, de categorie en tags toegekend aan het artikel, etc.

Als u extra URL data voor elke post hebt opgeslagen, kunt u deze query gebruiken om ze allemaal te veranderen.

UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://www.oude_site.nl', 'http://www.nieuwe_site.nl');

Verander de URL’s in de inhoud

WordPress maakt overal gebruik van absolute paden in URL-koppelingen, in plaats van relatieve paden (een relatief pad beschrijft de locatie van het gekoppelde bestand in relatie tot de locatie van uw WordPress Theme). In de inhoud van elk bericht, staan dus nog de oude (interne) verwijzingen naar andere artikelen of gebruikte afbeeldingen. Daarom moet u al deze URL’s ook veranderen naar het nieuwe domein.

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://www.oude_site.nl', 'http://www.nieuwe_site.nl');

Verander de GUID (Globally Unique Identifier)

Nadat u uw blog heeft gemigreerd van de localhost naar uw server of van een oud domein naar een nieuwe, moet u ook de URL’s voor het veld GUID veranderen in de wp_posts tabel.

Dit is cruciaal omdat GUID wordt gebruikt om uw post of pagina slug (slugs worden gebruikt in de ‘permalinks’ structuur van WordPress) te vertalen naar het juiste absolute pad voor een artikel of pagina als het verkeerd wordt ingevoerd.

UPDATE wp_posts SET guid = REPLACE(guid, 'http://www.oude_site.nl', 'http://www.nieuwe_site.nl');

Ongebruikte Post Meta’s verwijderen

Het installeren of verwijderen van plugins is een veel voorkomende taak in WordPress. Echter, sommige plugins maken gebruik van de post meta om gegevens met betrekking tot de plugin op te slaan. Nadat u de plugin heeft verwijderd, kunnen deze gegevens — die niet langer nodig zijn — nog achterblijven in de post_meta tabel.

Voer de volgende query uit om deze ongebruikte post-meta waardes op te ruimen. Dit zal helpen om de snelheid te verbeteren en de grootte van uw database te optimaliseren.

DELETE FROM wp_postmeta WHERE meta_key = 'your-meta-key'

Verwijder oude Revisies

Wanneer u een artikel in WordPress aan het bewerken bent, zullen er vele automatische kopieën (revisies) worden opgeslagen. Dit is uiteraard handig mocht uw browser of computer crashen, zodat u een recente backup achter de hand heeft. Na verloop van tijd echter, na het publiceren van een aantal tientallen artikelen of pagina’s, zal de grootte van de database aanzienlijk zijn toegenomen door deze backups.

Dit kan onnodige ‘loops’ veroorzaken (automatische herhalende processen, zoals bijv. berekeningen of ophalen van gegevens uit de database) en zal de laadtijd van de pagina negatief beïnvloeden.

DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

Indentificeer ongebruikte Tags

In een WordPress-database — als u een query uitvoert om oude berichten handmatig uit uw database te verwijderen — zullen de oude Tags van een artikel opgeslagen blijven en daardoor in uw Tag cloud of lijst blijven terugkomen. Met deze query kunt u de niet-gebruikte tags identificeren om deze vervolgens handmatig te verwijderen uit de database.

SELECT * From wp_terms wt
INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

Bottomline

Als u wat onderhoud moet doen aan uw WordPress database en de boel wilt optimaliseren of u wilt een WordPress site migreren naar een ander domein, dan zijn bovenstaande SQL-query’s enorm nuttig om het process te versnellen.

Wilt u zo ver mogelijk vandaan blijven van deze query’s voor uw database, adviseer ik u om eens een kijkje te nemen naar de volgende 2 (premium!) plugins. WP Migrate DB Pro maakt het super eenvoudig om uw site te migreren naar een nieuwe URL. BackupBuddy is ook een uitstekende plugin als het gaat om op het opslaan van een kopie van uw gehele database!

Uiteraard kunt u ook contact met mij opnemen als u er niet uitkomt, samen kunnen we dan kijken wat de beste methode is om uw database te onderhouden en bij te werken.

Deel dit Bericht:

Auteur: Jan Rajtoral

Jan Rajtoral is een ervaren grafische vormgever en webdesigner. Hij heeft een ruime ervaring met User Experience (UX), Responsive Web Design (RWD) en WordPress Ontwikkeling & Thema Ontwerp. Maar hij ontwerpt en ontwikkelt ook logo’s en huisstijlen, waarbij hij streeft naar merkconsistentie in het hele ontwerp.