Weg met sociale media op een website

Op heel veel websites kom je ze tegenwoordig tegen: sociale media knoppen. Laat al je Facebook, Twitter, Linkedin of Google vrienden weten dat je iets gelezen hebt en het leuk vindt of aan wil raden. Misschien zijn zij er ook wel in geïnteresseerd!

Maar wie vraagt daar om? Ik las pas een artikel waarin verteld werd dat mensen niet graag iets delen, ze willen het graag voor zichzelf houden. En waarom moet de content op een site per se gedeeld worden op een sociaal netwerk?

Ik toonde op MaartenvandeKamp.nl een Twitter-feed van mijn Twitter account en mensen konden een artikel delen op Twitter en Facebook. Dat werd totaal niet gebruikt.

Toen ben ik gaan kijken naar andere sites en hun toepassing van sociale media knoppen. Ik zag dat er enkele sites waren die verwezen naar Facebook of Twitter, maar niet in de vorm van een Like of Twitter knop.

En die Twitter-feed die de voorpagina stond zorgde alleen voor extra links die geïndexeerd werden en uiteindelijk toch weer naar mijn eigen site verwezen. Dat had ook weinig meerwaarde..

Daarom heb ik besloten om alle verwijzingen naar sociale media weg te halen. Alleen onderaan de pagina staat een verwijzing naar de Facebook pagina en daar blijft het bij.

Als mensen iets willen delen dan doen ze dat ook wel, maar je moet het ze niet op willen dringen door allerlei knoppen neer te zetten en ze te smeken of vragen om het alsjeblieft sociaal te maken. Maak dan een pagina aan die ze kunnen liken…

Statistieken januari 2013

De maand december was al een heel succesvolle maand met bezoekersaantallen en bekeken pagina’s. De groei van december was al ongeveer 25% ten opzichte van november, maar januari heeft dit ruimschoots beter gedaan dan de vorige maand, want er is een groei van 28% in bezoekersaantallen en er zijn 30% meer pagina’s bekeken ten opzichte van december 2012! De grootste groei ooit.

Maand Bezoeken Pageviews Percentage bezoeken Percentage pageviews
Oktober 2012 2626 6734
November 2012 3268 8170 + 24.45% + 21.32%
December 2012 3864 10 332 + 17.5% + 26%
Januari 2013 4946 13 640 + 28% + 32%

Persoonlijk ben ik erg blij met deze groei en ik had het ook zeker niet verwacht. Sowieso is het leuk om een vaste groep terugkerende lezers te hebben, daar kan ik op bouwen en van die feedback kan ik leren!

Korte downtime

Vanmiddag is het domein razem.nl, mvandek.nl en ihavetheknowledge.nl een half uur offline geweest ivm vervanging van een wasemkap, waardoor de server uit moest. De server staat weer aan en ook de nieuwe wasemkap werkt als een zonnetje.

WordPress Bookmarks list with description

I saw this piece of code in a file from a theme and I wanted to share it with you. It’s a very nice piece of code that shows all the links per category, with description. So good, you don’t even have to change it any more.

Here’s the code:

<?php $args = array(
'title_li' => false,
'title_before' => '<h2>',
'title_after' => '</h2>',
'category_before' => false,
'category_after' => false,
'categorize' => true,
'show_description' => true,
'between' => '<br />',
'show_images' => false,
'show_rating' => false,
);
wp_list_bookmarks( $args ); ?>

You can find a working example here.

Async Javascript Piwik tracking code

By default Piwik uses a very long piece of Javascript code with a lot of variables. But a lot of this code can be removed to speed things up. I came up with this code, based on the Google Analytics tracking code that works perfectly fine for the Piwik Javascript Tracking code:

<script type="text/javascript">
var _paq = [
['setSiteId', <Site ID in Piwik>],
['setDoNotTrack', 1],
['setTrackerUrl', 'http://<webhost>/piwik.php'],
['trackPageView'],
['enableLinkTracking']
];
(function()
{
var g = document.createElement('script'); g.type = 'text/javascript'; g.async = true; g.src = '//<address on which piwik.js is located>/piwik.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(g,s);
}
)
();
</script>

The code has been de-minified and a few things are important:

  • setSiteId – You have to set the SiteID correctly. You can find this ID in Piwik > Settings > Websites
  • setTrackerUrl – On which webhost is Piwik located? This URL has to refer towards that address or otherwise statistics cannot be collected!
  • setDoNotTrack – If people have configured their browser to send the DoNotTrack header, respect this and do not track those people in the statistics.
  • g.src – You can use another webhost to serve piwik.js for speed optimization. Preferably from a cookie-free domain.

The full minified tracking code:

<script type="text/javascript">
var _paq = [['setSiteId', X],['setDoNotTrack', 1],['setTrackerUrl', 'http://stat.domain.com/piwik.php'],['trackPageView'],['enableLinkTracking']];(function(){var g = document.createElement('script'); g.type = 'text/javascript'; g.async = true; g.src = '//cdn.domain.com/piwik.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(g,s); })();
</script>

Show related posts in WordPress without a plugin

There are plugins that provide you with the ability to show related posts below a post. But it’s possible to do this without using plugins.

This code uses tags attached to posts to show 5 related posts in a list.

<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID), // do not display the current post
'showposts'=> 5, // Number of related posts that will be shown.
'no_found_rows' => true
);
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<h3>Recommended posts to read</h3><ul>';
while ($my_query->have_posts()) :
$my_query->the_post();
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Open <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; echo '</ul>'; }}
wp_reset_postdata();
?>

You should place it below the content in single.php.

Stroomstoring

Er heeft een stroomstoring plaatsgevonden en als gevolg daarvan zijn een aantal websites ongeveer 1.5 uur onbereikbaar geweest. Ik was namelijk aan het sporten toen het gebeurde..

De websites + email is weer opgestart en werkt naar behoren!

Registratie staticcdn.nl

Zojuist heb ik het domein staticcdn.nl geregistreerd om vanaf dit nieuwe domein enkel statische content te serveren voor maartenvandekamp.nl. Eerder werd deze content van een subdomein – s0.maartenvandekamp.nl – geserveerd maar na research op internet bleek dat een onafhankelijk domein enkele voordelen had.

MaartenvandeKamp.nl versnellen

Het dagelijkse aantal bezoekers stijgt langzaam maar zeker naar nieuwe nog-niet-eerder-verkende-hoogtes en ik wil de site zo snel mogelijk maken zonder een volledige front-end cache zoals Varnish in te zetten. Dus zoek ik het bij de back-end.

WordPress.com heeft Batcache ontwikkeld en deze cache maakt gebruik van memcached. Memcached kan 1 ding heel goed en dat is informatie opslaan in het geheugen. Het geheugen is tientallen malen sneller dan een harde schrijf en ideaal als plek om informatie op te slaan om die later weer op te vragen.

Sinds vanavond maakt MaartenvandeKamp.nl gebruik van een memcached cache voor objecten. De pagina wordt bij het eerste bezoek door PHP gegenereerd en vervolgens opgeslagen in het memcached geheugen. Als er opnieuw een pagina wordt opgevraagd, dan zal WordPress eerst aan memcached vragen of de informatie daar beschikbaar is. En als dat zo is, dan wordt het direct daaruit geserveerd. Staat het er niet in? Dan wordt de aanvraag doorgestuurd naar PHP om verwerkt te worden.

Momenteel wordt elke pagina een uur gecached om te testen wat het effect daarvan is op de gebruikerservaring. De laadtijd is voor de voorpagina, wat een vrij zware pagina is, bijna gehalveerd van 800ms naar 450ms. Daar ben ik heel tevreden over en ik hoop dat de gebruikers er ook plezier aan beleven.