Auteur: Peter Bouwmeester

  • WordPress administratie menu probleem

    WordPress administratie menu probleem

    chrome_wordpress_menu_issue

    Als je gebruik maakt van WordPress in Google Chrome versie 45+ is de kans groot dat je problemen ondervindt met het administratie menu. Dit wordt veroorzaakt door een probleem met gChrome’s Slimming Paint dat begin september 2015 in versie 45 is geïntroduceerd. De verwachting is dat dit issue snel wordt opgelost. Tot die tijd kun je de feature deactiveren in de Chrome settings door in je browser naar het adres `chrome://flags/#disable-slimming-paint` te gaan en daar deze feature uit te schakelen door de optie disable-slimming-paint te enable’n (huh?). Als tijdelijke workaround kun je ook iedere keer dat het probleem zich voordoet, je browser resize’n zodat het scherm opnieuw wordt ge’painted.

  • Mijn sitemap is leeg

    Mijn sitemap is leeg

    yoast_seoNatuurlijk gebruik je Yoast SEO voor de Search Engine Optimalisatie van je website. Als je daarnaast ook gebruik maakt W3 Total Cache voor verbetering van de prestaties van je site, let dan op sommige van de instellingen in laatstgenoemde plugin. Als je sitemap_index.xml leeg is, of beter lijkt, kijk dan de de browser cache instellingen na zoals je hier onder onder het kopje Blank sitemap kunt terugvinden.

    Je sitemap is wel degelijk gevuld alleen je ziet niets door een missend bestand waardoor de opmaak verloren gaat. Dat is alles.

     

  • Lees verder… » vervolgd

    Lees verder… » vervolgd

    In het artikel Lees verder… » ben ik uitgebreid ingegaan op de (technische) werking van de WordPress samenvatting. In dit tweede deel behandel ik een paar praktische toepassingen zoals het veranderen van de ‘Lees meer…’ tekst.

    (meer…)

  • Extreme Software Portability as an Art Form

    Extreme Software Portability as an Art Form

    Ik probeer wel eens uit te leggen waarom de uitdrukking {Code = poetry}; belangrijk is voor mijn relaties. Extreme Software Portability as an Art Form van Andrew Nacin helpt hier misschien bij.  (meer…)

  • Lees verder… »

    Lees verder… »

    Het gebruik van samenvattingen in WordPress lijkt arbitrair. Maar als je beter naar de lengte van de samenvatting en de gebruikte ‘Lees meer’ kijkt, merk je dat ook nu schijn weer bedriegt.

    (meer…)

  • WordPress backwards compatibility

    WordPress backwards compatibility

    Onlangs heb ik een WordPress website uit 2006(!) ge-upgrade. WordPress 2.0.3… a blast from the past! Het was een feest om te zien hoeveel WordPress sindsdien is ontwikkeld. Maar echt indrukwekkend is de backwards compatibilty!

    (meer…)

  • Sticky Posts

    Sticky Posts

    Sticky posts, laatst liep ik er weer tegenaan; je kunt een bericht vóór alle andere berichten tonen door het bericht sticky te maken. Maar er zitten een paar addertjes onder het gras…

    (meer…)

  • WordFence real-time bescherming

    WordFence real-time bescherming

    Al eerder schreef ik over de uitstekende beveiliging van je WordPress website die WordFence je biedt. Die beveiliging is sinds versie 4.0.1, jongstleden januari gelanceerd, nog beter geworden door gebruik van real-time informatie over blokkades die met de plugin wordt verzameld. Door dit mechanisme kunnen pogingen tot inbraak nog sneller worden onderkend en voorkomen worden. Op de homepage van WordFence is een mooie kaart beschikbaar waarop deze informatie real-time zichtbaar wordt gemaakt:

    wordfence_realtime_map

    Gisteren waarschuwde WordFence voor toegenomen activiteit: We’re seeing a very large distributed brute force login attack currently underway. Because this generated a huge amount of traffic on the real-time map above, we’ve dialed down the amount of traffic you’re seeing to 4% of actual traffic to avoid crashing your web browser. Please see this blog entry posted this morning for more info.

    Heb je je WordPress website nog niet beveiligd? Bekijk de WordFence plugin toch maar eens…

     

     

     

     

  • Beveilig je WordPress website met WordFence

    Beveilig je WordPress website met WordFence

    banner-772x250

    Focus op webserver

    Waar hackers hun virussen vroegah vooral op Windows personal computers richtten, zien we nu al geruime tijd de trend dat zij zich meer en meer op het inbreken op web servers richten. Daar liggen twee heel eenvoudige principes aan ten grondslag:

    1. Ten eerste is dat het steeds grotere aantal installaties van WordPress, Drupal, Joomla, etc., dat de kans vergroot tot het zetten van een succesvolle kraak.
    2. Ten tweede: webservers hebben een veel snellere verbinding met internet dan de gemiddelde personal computer. Heb je eenmaal een webserver gekraakt, dan kan je met veel grotere snelheid andere computers proberen te kraken dan vanaf een PC zou kunnen.

    Brute Force Attack

    Hackers bedienen zich van verschillende technieken, waarvan brute force één van de bekendere, en voor WordPress in ieder geval een zeer relevante is. Met een brute force attack probeert een hacker in te breken door een groot aantal log-in combinaties te proberen: men gebruikt één of enkele voor de handliggende user-ids in combinatie met een hele lijst min of meer eenvoudige wachtwoorden.

    Out-of-the-box wordt WordPress geinstalleerd met user-id ‘admin’. En dat is gefundenes Fressen voor hackers; want die weten zo al 50% van de user-id / password combinatie die ze zoeken! Daarom wordt altijd geadviseerd om na de installatie van WordPress in ieder geval een andere beheer user aan te maken. Dat scheelt al vast iets.

    En natuurlijk maak je gebruik van een sterk wachtwoord. Dat is sowieso een must.

    Zonder verdere aanpassingen zal een hacker – of een willekeurige WordPress specialist… – nog steeds relatief eenvoudig je user-id kunnen achterhalen. Maar voor de èchte domme kracht aanvallen is dit wel degelijk een maatregel die de beveiliging in belangrijke mate verbetert.

    WordFence; meer dan 1 miljoen downloads

    wordfence_logoNadat je user-id ‘admin’ hebt vervangen door een wat moeilijker te raden naam, kun je de volgende maatregel nemen om je site beter te beveiligen tegen hackers: download WordFence en installeer deze WordPress plugin op je site. Je kunt beginnen met de gratis versie met de standaard instellingen. Of de stap maken naar de betaalde versie voor nog meer mogelijkheden en betere support.

    WordFence beveiligt je site op een aantal fronten, waarvan de belangrijkste zijn:.

    • inlogpogingen worden geregistreerd en na een ingesteld aantal foutieve pogingen, wordt het adres van waar de pogingen komen, tijdelijk geblokkeerd. Met de optie ‘Immediately lock out invalid usernames’ aangevinkt kun je de hackers nog sneller weren – met name dus wanneer je user-id ‘admin’ hebt verwijderd.
    • je site wordt periodiek gescand op signatures van trojans, backdoors, etc., en op verschillen t.o.v. de officiele WordPress repositories. Mocht je site ondanks alle maatregelen toch gecompromiteerd worden, dan wil je dat natuurlijk wel zo snel mogelijk weten!

    Ook als je geen gebruik maakt van WordFence is hun nieuwsbrief aan te raden. Je wordt dan regelmatig op de hoogte gehouden van nieuwe dreigingen en kunt zonodig daar snel op reageren. Inschrijven op de nieuwsbrief kun je onderaan de WordFence home page.

    Specialisme

    wp_logoNatuurlijk is er nog veel meer te zeggen over de beveiliging van je WordPress website. Er zijn veel meer plugins dan alleen WordFence om je site te beveiligen (denk aan Better WP Security of Bulletproof Security). En er zijn nog heel andere manieren waarop WordPress wordt misbruikt; bijvoorbeeld comment spam (bijvoorbeeld met Akismet te voorkomen).

    Ook moet je er rekening mee houden dat je site extra belast wordt wanneer je op de radar van de brute force attackers verschijnt; al die pogingen om in te loggen kunnen zelfs het effect hebben dat je reguliere gebruikers nog maar nauwelijks aan bod komen – alsof het om een ‘denail of service’ aanval zou gaan. Om dat te ondervangen kun je eens kijken naar plugins als W3 Total Cache en WP Super Cache.

    Als je gebruik maakt van een zogenaamde shared host (waarbij jouw website samen met vele andere websites op één webserver is geinstalleerd) moet je er rekening mee houden dat de kwaliteit van de beveiliging van jouw site mede wordt bepaald door al die andere sites. Als daar een probleem geval tussen zit, zal jij door ook last van hebben zonder dat je er veel tegen kunt doen.

    Al met al kun je zelf met enkele eenvoudige maatregelen al heel veel doen aan de beveiliging van je WordPress website. En met een beetje extra inspanning kom je nog verder. En je kunt natuurlijk ook contact opnemen met de Webbouwmeester als je nog hogere eisen aan beveiliging en prestaties van je website stelt!

  • WordPress phishing

    WordPress phishing

    Als je een mailtje met een bericht zoals onderstaand krijgt en het ‘sing in‘ was nog niet genoeg om je te alarmeren, wees dan gewaarschuwd: het gaat hier om een phishing poging!

    De link leidt je naar een inlogpagina die er hetzelfde uitziet als de standaard WordPress inlog pagina. Als je inlogt kom je inderdaad op het dashboard van je eigen site terecht – maar ondertussen hebben de phishers dan je username en wachtwoord al gestolen…

     

    WordPress   09/24/2013 00:10:00
    A new comment on your post is waiting for your approval.
    Comment: […] You have new comment! Go link … […]
    Please visit the Administration panel:
    Sing in
  • Help, mijn tweets zijn verdwenen!

    Help, mijn tweets zijn verdwenen!

    Twitter dyingTwitter kondigt geplande wijzigingen aan op https://dev.twitter.com/calendar. Zo ook de recente veranderingen aan haar API naar versie 1.1. API staat voor Application Programmming Interface en ondersteunt, eenvoudig gezegd, de communicatie tussen twee applicaties. In dit geval tussen WordPress en Twitter.

    Met de API 1.1 kunnen applicaties alleen nog tweets ophalen nadat de aanvrager daarvoor is geauthoriseerd. En dat is een lastig verhaal dat extra programma code vergt en extra acties van de gebruiker. De WordPress plugins die ik gebruik voor het weergeven van Tweets, zijn hier in ieder geval (nog) niet op aangepast.

    Alles bij elkaar is het een onbegrijpelijke en eenzijdige actie van Twitter, aldus de goegemeente.

     

    Het beste alternatief waar je op dit moment gebruik van kunt maken is de Embedded Timeline van Twitter zelf. Je kunt nu zelf eenvoudige ‘widgets’ voor je site genereren en de code daarvoor in je WordPress website plakken. Let er wel op dat je de code in een tekstvak plakt, dat HTML code ondersteunt. Dit is bijvoorbeeld het geval in Text widgets maar de Visual Editor van een pagina moet je eerst even omzetten naar de Text Editor.

  • Interactieve kaarten maken met WordPress

    Interactieve kaarten maken met WordPress

    Google maps

    Google maps met auto tourHet eerste waar je aan denkt als het om het weergeven van kaarten gaat, is natuurlijk Google Maps. En inderdaad, dat is mogelijk. Er zijn meerdere plugins beschikbaar waarmee je onder andere berichten op een plattegrond kunt tonen.

    Afhankelijk van de gekozen plugin is het ook mogelijk om gebruik temaken van een andere map provider dan Google, zoals OpenStreetMap.

    De standaard werking kan degewents uitgebreid worden met maatwerk scripts, bijvoorbeeld om alle markers in een ‘auto tour‘ één voor één te laten openen.

    Maar het kan ook veel ‘exotischer’ door dezelfde gegevens met een maatwerk plugin van de Webbouwmeester óók nog met Layar’s augmented reality apps te ontsluiten. Zie bijvoorbeeld de website van Oisterwijk Nieuws waar deze techniek wordt gebruikt.

     

    Klikbare afbeeldingen

    Klikbare kavelkaartEen andere oplossing bestaat uit het opnemen van een afbeelding met daarop klinkbare gebieden, een techniek die bekend staat als image maps. Wellicht biedt de Interactive maps precies wat je zoekt. Maar misschien maak je liever gebruik van maatwerk op basis van het jQuery script ImageMapster. Hiermee kun je iedere gewenste afbeelding voorzien van klinkbare gebieden, gegenereerd vanuit je administratie.

    Deze techniek is bijvoorbeeld gebruikt voor de kavelkaart t.b.v. de verkoop van bouwkavels.

     

    Virtuele tour

    OBA Virtuele tourVan een geheel andere aard zijn virtuele tours, waarmee je ook interacieve kaarten kunt samenstellen. Deze oplossing vergt in de regel veel meer (maat)werk dan de andere technieken en leent zich minder goed voor het dynamisch genereren op basis van content van WordPress.

     

    En verder

    Er zijn meer variaties op dit thema denkbaar. Begin in ieder geval met het zoeken naar bestaande oplossingen in de WordPress plugin repository; misschien bestaat er al een plugin die exact doet wat je wilt!

  • Mooie lettertypes op je site

    Mooie lettertypes op je site

    Services

    Als je eens een ander lettertype op je site wilt gebruiken dan de standaard Arial, Verdana, etc., dan kan dat. Hier zijn een paar verschillende oplossingen voor beschikbaar.

    Misschien de bekendste oplossing is Google web fonts, een gratis en eenvoudig te implementeren service. Een andere goede service is die van Typekit; niet gratis maar wel goed betaalbaar met eveneens een eenvoudige implementatie.

    Andere mogelijkheden zijn zelf het web font genereren aan de hand van een bestaand non-web font of een Javascript oplossing als Cufón toepassen. De ervaring leert echter dat hier flink wat nadelen aan kleven; daarom raad ik deze opties af.

    Kwaliteit

    De weergave kwaliteit van custom fonts kan helaas tegenvallen en kan sterk verschillen per computer. Deze kwaliteit is ondermeer afhankelijk van operating systeem, de browser en optionele software zoals Clear type tuners.

    Pas ook op met bijzondere karakters: die worden niet per definitie door ieder font ondersteund. Ik heb eens te maken gehad met een custom font en een schaakster met de naam “Monika Soćko”. Zonder ingreep in de code werd dit als “Monika SoCko” getoond.

  • Themes voor fotografen

    Themes voor fotografen

    1st Webdesigner is één van de sites die ik per RSS volg. Ze publiceren daar altijd zéér uitgebreide en goed onderbouwde artikelen over van alles en nog wat dat samenhangt met webdesign in een wel zeer brede zin des woords; WordPress, webdesign, freebies, inspiration, you name it.

    Recent heeft men een uitgebreid overzicht van maar liefst 42 WordPress themes voor fotografen gepubliceerd. Per theme zijn de features op een rijtje gezet en zijn links aanwezig voor meer informatie en een live demo.

    Erg bruikbaar.

  • Doe het zelf: WordPress backup

    Doe het zelf: WordPress backup

    Gratis opslag van gegevens in ‘the cloud‘ (wat vroegâh gewoon Internet heette en dus niet veel anders is dan oude wijn in nieuwe marketing zakken) is al lange tijd gemeengoed. Bij services als Google Drive en Dropbox krijg je de eerste paar gigabytes aan opslag gratis. Alleen als je meer ruimte nodig hebt, betaal je daar voor. Prima voor de gemiddelde website.

    Google Drive

    Zelf gebruik ik al lange tijd de plugin Backup (what’s in a name). Sommige backup plugins bieden de mogelijkheid om te kiezen naar welke service je wilt backup-en, deze plugin ondersteunt maar 1 service en doet dat simpel en goed.

    Registreer je bij Google Drive, installeer en activeer de plugin en controleer de opties; veel meer komt er niet bij kijken.

    Als je ook nog Google Drive op je eigen computer installeert, kun je de backups van je site ook nog vanuit ’the cloud’ downloaden naar je eigen vertrouwde, aardse omgeving.

    Liever geen Google product? Dat kan ook. Probeer dan bijvoorbeeld eens WordPress Backup to Dropbox dat backups plaatst in je Dropbox.

    Niet gratis, wel goed

    Naast de gratis services zijn er natuurlijk ook betaalde opties beschikbaar. De eerste waar je dan aan denkt is VaultPress, een service van WordPress (of beter: Automattic) zelf. Op dit moment kost deze service je voor 1 site 15 dollar per maand.

    Een iets exotischer oplossing maar daarom niet minder interessant is de mogelijkheid om gebruik maken van een zogenaamd Content Delivery Network of CDN. Amazone Cloudfront is hier een voorbeeld van. In wezen is een CDN niet bedoeld als backup maar als manier om content sneller beschikbaar te stellen aan bezoekers van je site. Bestanden worden hiertoe ook op het CDN opgeslagen, naast het origineel op de eigen server. Er is dan dus automatisch een backup beschikbaar. Overigens zijn er ook CDN oplossingen die anders werken (‘push’ in plaats van ‘pull’) dus laat je goed adviseren als je een dergelijke oplossing overweegt!

  • Enabling GZIP on WAMP

    Just a short note for those who seek to enable GZIP on WAMP.

    Before I’ve used information from Zigpress ~ and you can find loads of references to that same article all over the net. At the moment, that site isn’t accesible, however. Luckily Google’s cache helps out. The listed instructions are:

    1. In the WAMP tray applet, enable Apache’s deflate_module and headers_module (letting the service restart each time).
    2. In the WAMP tray applet, edit Apache’s httpd.conf and
    3. add the following snippet just before the include line at the very end:

    <ifmodule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript
    </ifmodule>

    4.  Restart Apache.

    In the comments it’s mentioned to check PHP’s zlib compression as well.

    You still need one more additional step to make this work, however: get GZIP, install it and add the path to your system path.

  • Kies uit ruim 62 miljoen foto’s voor je site

    Kies uit ruim 62 miljoen foto’s voor je site

    PhotoDropper laat je uit meer dan 62 miljoen foto’s kiezen, die je eenvoudig aan je WordPress website kunt toevoegen. Installeer de plugin en gaan!

    Voeg je zoektermen in en met een druk op de knop laat PhotoDropper je kiezen uit meer dan 62 miljoen Flickr plaatjes, rekening houdend met de licenties. Nog een druk op de knop en de afbeelding is ingevoegd, inclusief bronvermelding. Nooit was het eenvoudiger om afbeeldingen aan je site toe te voegen!

    Saillant detail: zoeken op PhotoDropper zelf levert de featured image op die aan dit bericht is gekoppeld. Een kans voor open doel voor PhotoDropper om zichzelf beter te presenteren…

  • Galerie met foto’s van Facebook maken

    Galerie met foto’s van Facebook maken

    Je Facebook foto’s in WordPress tonen; dat biedt perspectief. Een verkenning van de mogelijkheden. Het is nog niet ideaal maar zoals te zien: er is een begin!

    (meer…)

  • Doe het zelf: WordPress en LinkedIn koppelen

    Doe het zelf: WordPress en LinkedIn koppelen

    Kinderschoenen

    Anders dan je misschien zou verwachten, staan de mogelijkheden om WordPress en LinkedIn met elkaar te koppelen nog in de kinderschoenen. In ieder geval als je de mogelijkheden vergelijkt met andere sociale media platformen zoals Twitter en Facebook. Ongetwijfeld zal dit in de toekomst verbeteren. Maar ook nu al kun je er voor zorgen dat je website en je LinkedIn profiel aan elkaar worden gekoppeld.

    Badge

    Een badge maak je door in te loggen en naar pagina profile badges te gaan. Daar kun je kiezen uit een tiental verschillende formaten. Volg de instructie op de pagina: kopieer de code en plak deze op je eigen site waar je de nieuwe badge wilt tonen.

    Als je de badge in een pagina wilt plaatsen, zoals ik hieronder heb gedaan, ga je in de editor naar de tab “HTML”, die je rechts bovenaan de tekst editor vindt. In dit scherm zie je niet alleen de tekst (zoals in de tab “Wysiwyg”) maar ook de code. Hier kun je de code van LinkedIn in plakken op de plaats waar je je badge wilt hebben.

    View Peter Bouwmeester's profile on LinkedIn

    Je kunt er ook voor kiezen om de badge in een widget te plaatsen aan de zij- of onderkant van de pagina. In dat geval sleep te een tekst widget naar de sidebar van je keuze en plak je daar de code direct in. Als je niet bekend bent met widgets, kun je in mijn eerdere artikel over de grondbeginselen van widgets lezen.

    Let op hierbij op de taalinstelling van je account: als dat Nederlands is, heb je minder badges om uit te kiezen! Tijdelijk je account omschakelen naar Engels lost dit op.

    Je berichten automatisch op LinkedIn plaatsen

    LinkedIn biedt een eenvoudige koppeling waarmee de berichten van je WordPress website automatisch in je profiel zichtbaar worden. Om deze koppeling te activeren ga je naar de menu optie Meer … > Voeg meer toepassingen toe. In het scherm dat getoond wordt, kies je de WordPress toepassing, pas eventueel de parameters in het volgende scherm aan en klaar is Kees.

    Wie toch behoefte heeft aan een uitgebreidere handleiding, kan deze (Engelstalige) instructie gebruiken.

  • Je site verplaatsen naar een ander domein

    Je site verplaatsen naar een ander domein

    Er zijn zelfs ervaren ontwikkelaars die een harde ‘search & replace’ uitvoeren op een database(dump) wanneer zij een WordPress installatie van het ene naar het andere domein verhuizen. Soms gaat dat goed. Maar het gaat beslist fout als de lengte van de oude en nieuwe domeinnamen van elkaar verschillen. Waarom die ontwikkelaars dat niet weten? Vermoedelijk omdat ze nooit de moeite hebben genomen uit te zoeken waarom hun widgets of plugins plots niet meer werken na de verhuizing. Ze stellen ze opnieuw in en daarmee is de kous af. Maar dat levert extra werk en kans op fouten op en dat voorkomen we natuurlijk liever!

    Serialized data

    De oorzaak voor deze problemen schuilt in het feit dat WordPress met name ‘options’ in de ‘options table’ opslaat als ‘serialized data‘, een formaat met variabele lengte, waarbij de lengte van de strings hard-coded wordt opgenomen. Wanneer je nu in zo een string ‘domeinnaam-x’ vervangt door ‘langere-domeinnaam’ terwijl je niet de hard-coded string-lengte aanpast, dan…  meer hoef ik niet te schrijven, he…?! 🙂

    Script

    Je kunt alle problemen eenvoudig voor zijn door gebruik te maken van een script dat rekening houdt met het serialized data formaat. Ik gebruik hier al jaren Search-Replace-DB voor.

    Ga als volgt te werk:

    • installeer WordPress als gebruikelijk
    • laadt de gekopieerde database op het nieuwe domein
    • pas in de ‘options table’ de home en site url’s met de hand aan via PhpMyAdmin.
    • plaats het search-replace script in de root van je site en voer het uit.

    En klaar is Kees! Geen problemen meer met widgets en plugins na een verhuizing!

    WordPress MultiSite

    Je kunt het script ook voor een multisite database gebruiken. Echter, het volstaat niet om alleen de ‘options table’ aan te passen; je zult meer tabellen met de hand moeten aanpassen. Daar zal ik in de toekomst een afzonderlijk artikeltje aan besteden.