Verder spelen in de zandbak met WordPress op je desktop…
Deze blogpost is oorspronkelijk van 22 november 2021, maar aangezien er sinds die tijd behoorlijk wat aangepast is aan LocalWP, is dit artikel sterk geredigeerd op 30 juli 2024
Ruim vier jaar geleden heb ik een blogartikel geschreven over ServerPress, een applicatie om lokaal WordPress te kunnen ‘draaien’ op de desktop. Helaas is ServerPress al een tijd niet meer geupdate. Het grootste probleem is hier vooral het feit, dat ServerPress nog steeds geen ondersteuning voor PHP 8 – de nieuwste versie – biedt, en er toch steeds meer hosters zijn die PHP 8 als standaard aanbieden. Een site die op jouw desktop dus prima zou werken, zou kunnen ‘ontploffen’ zodra hij live gaat.
Nu is het mogelijk om op Windows een Linux subsysteem te creëren en daarmee zouden eigenlijk al je problemen opgelost kunnen zijn… wanneer je tenminste de kennis hebt om zo’n subsysteem op te zetten. Voor velen is dat toch net een stap te ver.
Nog niet zo gek lang geleden liep ik echter tegen een oplossing aan die toch wel heel mooi is. En makkelijk te installeren ook.
Maar – waarom zou ik WordPress lokaal willen installeren?
De eerste vraag is natuurlijk waarom je lokaal WordPress zou willen installeren. Dat kan om een aantal redenen. Eén goede reden is dat je voor je plugins op je site wilt gebruiken, deze eerst wilt testen. Een andere reden kan zijn om zogenaamde ‘code snippets‘ eerst veilig uit te proberen op een offline omgeving. Beide om te voorkomen dat door een foutje jouw website ineens down gaat. En een derde goede reden kan zijn, dat je zelf code ontwikkelt voor WordPress. Werken met een debugger is zoveel handiger, wanneer dit lokaal mogelijk is.
Natuurlijk kan je dit ook doen op een staging omgeving online, maar het voordeel van een lokale omgeving is dat het, vooral als er code aangepast moet worden, veel makkelijker gaat. En dan hebben we het nog niet eens over wanneer code gedebugd moet worden.
Nu is het goed mogelijk om zelf een WAMP (Windows Apache MySQL PHP) stack op je PC te installeren, maar dat vereist toch behoorlijk wat werk om goed op te zetten. Bovendien neemt het behoorlijk wat plaats in op je harddisk en legt een aardig beslag op je systeem resources. Ik was dan ook maar wat blij om een alternatieve oplossing te vinden…
Wanneer je een WordPress Professional bent, kan LocalWP je ook veel tijd besparen. En wel om een aantal redenen.
- Door gebruik te maken van ‘blueprints’ (zie verderop) kan je herhalende taken als het installeren van plugins en een thema tot een ‘één klik’ activiteit maken.
- Lokaal werken is vrijwel altijd sneller (en als het niet zo is ben je hard aan een nieuwe PC toe) dan online werken
- Lokaal heb je meer controle over de beschikbare hulpmiddelen. Mijn favoriete code-editor VS-Code kan veel meer dan de code editors die er online aan worden geboden.
- Lokaal heb je veel meer debug mogelijkheden dan online. In het bijzonder wanneer je zelf ook code schrijft, kan lokaal werken je één tot twee uur op een dag werk besparen.
LocalWP
LocalWP is ooit als een zelfstandig Open Source project begonnen, tot het een zachte dood stierf. Gelukkig vonden de mensen achter ‘FlyWheel hosting’ dit en besloten het nieuw leven in te blazen. Niet als Open Source, maar wel stukken gebruikersvriendelijk dan het oorspronkelijke project.
LocalWP is dus een manier om lokaal WordPress te kunnen installeren. Maar het gaat veel verder, maar daar zal ik het verderop in dit artikel over hebben.
Laten we allereerst eens kijken naar de meest eenvoudige vorm van gebruik. Je wilt lokaal WordPress installeren om zaken uit te proberen…
Spelen in de zandbak met LocalWP
Het eerste wat je dan moet doen, het zal je weinig verbazen, is LocalWP downloaden. Aardig is hier, dat -in tegenstelling tot de ServerPress desktop server- LocalWP voor alle drie de grote platforms beschikbaar is : Windows, MacOS en Linux.
Na het installeren op je computer gaat het eigenlijk heel eenvoudig. Je start de applicatie op, je geeft de naam voor je nieuwe website in en WordPress wordt geïnstalleerd. Met de knoppen ‘Admin’ en ‘Open Site’ kan je respectievelijk naar het Dashboard of de voorkant van de site gebracht worden.
En daar kan je doen, wat je ook maar wilt doen.
Wanneer je een kopie van je live site op je desktop wilt plaatsen, dan kan ik je aanbevelen gebruik te maken van All in One Migration, een plugin die ik op deze site meerdere malen genoemd heb. Je kan hiermee simpel je website downloaden naar je desktop en uploaden binnen je lokale WordPress installatie.
Alternatief is de export functie van LocalWP zelf gebruiken. Je krijgt dan een ZIP bestand met daarin de hele inhoud van de wp-content folder, plus een import script voor de database. Na de database import zal je bovendien de URL’s nog moeten bijwerken. Hiervoor kan je de ingebouwde functie van Elementor gebruiken als je Elementor gebruikt, of anders is Velvet Blue Update URL een prima oplossing.
Voor zover het eenvoudige gebruik, waarbij je WordPress simpel lokaal wilt downloaden.
Maar LocalWP biedt meer. Laten we ook eens naar die mogelijkheden kijken.
Synchronisatie met je website
Behoorlijk cool, maar niet voor de meesten van ons van toepassing is dat je letterlijk lokaal aan je website kan werken, en dan de veranderingen kan ‘pushen’ naar je website. Helaas moet je hoster hier ondersteuning voor bieden en op dit moment zijn de enige twee hosters die dit doen Flywheel en WP Engine. Beide hosters die in Nederland en België niet echt een groot klantenbestand hebben. Wanneer jij echter localWP de moeite waard vindt, zou ik je zeker aan willen sporen jouw hoster toe te fluisteren, dat je interesse hebt voor een integratie met je website. Who knows?
Groeperen van je websites
Een andere leuke optie van LocalWP is dat je de websites kan ‘groeperen’. Wanneer je als WordPress professional met meerdere klanten werkt en die meerdere klanten kunnen ook meerdere websites hebben, is dit wel een heel makkelijke manier om alles netjes bij elkaar te houden.
Deze ‘groepeerfunctie’ zit wel aardig verborgen in de applicatie. Wanneer je op een site klikt, zie je naast de naam van de site drie puntjes staan. Klik je daarop, dan heb je de optie ‘Move to Group’.
Gebruik van ‘blueprints’
Maak je regelmatig websites, waarbij je iedere keer dezelfde plugins en hetzelfde thema gebruikt? Spaar dan nu tijd door ‘blueprints’ te gebruiken. Je kan -het hoeft niet- naast localWP als applicatie te downloaden ook een account op de LocalWP website aanmaken. Op deze website kan je bijvoorbeeld extra add ons voor LocalWP installeren of jouw ‘blueprints’ definieren. Log je daarna in op je lokale installatie, dan heb je bij het maken van een nieuwe website de keuze uit verschillende blueprints.
AdminerEvo
Wanneer je een hostingpakket hebt en wel eens het beheerspanel in bent gegaan, dan ben je waarschijnlijk bekend met PHPMyAdmin, een tool om MySQL en MariaDB databases te beheren via een web interface. AdminerEvo is net zoiets, alleen meer ‘lichtgewicht’. De gebruikersinterface ziet er niet zo gelikt uit als die van PHPMyAdmin, maar er is prima mee te werken.
Site shell
Een tijdje terug heb ik geschreven over WP-Cli. Wanneer je bekend bent met WP-Cli en hier graag mee werkt, dan kun je met LocalWP je hart ophalen, want vanuit het dashboard van LocalWP kan je direct toegang krijgen tot de WP-Cli shell van de betreffende site.
Mailpit
Mailpit is een applicatie waardoor alle uitgaande email wordt afgevangen. Op het moment dat Mailpit -een onderdeel van LocalWP- geactiveerd is, zal iedere email die ‘verzonden’ wordt door je lokale LocalWP installatie terecht komen in Mailpit, zodat je makkelijk kan zien welke mails er verzonden worden en eventueel de inhoud kan debuggen.
LiveLinks
Voor ‘LiveLinks’ moet je een LocalWP account hebben aangemaakt. Maar wil je jouw lokale website aan iemand laten zien, dan kan dat. Je stuurt die persoon een unieke link door, waardoor hij op jouw PC mee kan kijken (en testen) naar de website waaraan je aan het werk bent. Niemand anders kan hierbij. En wil je de toegang intrekken, kan je gewoon de ‘livelink’ wissen.
Diverse add-ons beschikbaar
Daarnaast is er een aantal add-ons beschikbaar. Ik zal ze niet allemaal bespreken, maar een aantal die ik zelf gebruikt heb zijn:
- Image Optimizer
Alle afbeeldingen worden gecomprimeerd, waardoor de site behoorlijk wat sneller kan worden. - Table Plus
Voor de ontwikkelaar en de poweruser: Met één klik toegang krijgen tot de tabellen van de database van de site. Behoorlijk wat efficiënter dan werken met PhpMyAdmin. - Cloud Backups
Vooral handig bij een website die nog in ontwikkeling is. Makkelijk incrementele backups maken naar een cloud provider (er is keuze uit verschillende). Op deze manier kan je makkelijk terug naar een ‘vorige versie’, wat met name wanneer je bezig bent met programmeerwerk ideaal is. Maar ook wanneer je plugins test kan het prettig zijn. Probeer een set instellingen, maak een back up, test de situatie en is het niet wat je verwachtte, zet de backup één stap terug. - Xdebug + VS Code / Xdebug + PhpStorm
Snel en makkelijk debugging installeren voor twee populaire PHP editors, VS Code (mijn favoriet) en PHPStorm. Geen gedoe met configuratiefiles, maar met enkele muiskliks ‘praten’ localWP en jouw favoriete editor met elkaar. - Instant Reload
Handig wanneer je met twee schermen werkt. Zodra je in je editor een CSS file opslaat, ververst de website in de browser.
De documentatie hoe een add-on te maken is publiekelijk beschikbaar, dus houd ook de add on directory in de gaten voor nieuwe add-ons.
Conclusie
Ik ben enthousiast. LocalWP is niet alleen een handige manier om offline sites te ontwikkelen en te testen, maar ook verhoogt ook de productie. De enige ‘uitdaging’ in het begin was waar LocalWP nu precies de sites opslaat. Want dat is niet gelijk helemaal duidelijk. Maar dat is dus in je gebruikersfolder onder ‘Local Sites’.
In tegenstelling tot ServerDesk Desktop Server heeft LocalWP geen ‘betaalde versie’. Ook de add ons zijn -tot nu toe- allemaal gratis. Het verdienmodel van LocalWP is vooral aandacht te krijgen voor de hoster (FlyWheel) die dit programma heeft uitgebracht.
Meer leren?
Wist jij dat WordXPression regelmatig cursussen organiseert voor WordPress Professionals? Zoals bijvoorbeeld de cursus voor WordPress Developer of de cursus ‘Elementor Pro voor Designers‘.