Handy WordPress URL re-write

Last week, I accidentally advertised a blog post using two different URLs (I edited the title, which changed the WordPress slug, but forgot to edit a draft email to refer the new URL). With Twitter advertising one URL to potential customers, and our internal newsletter advertising another, I needed both to work.

I don’t have access to the server (only to the WordPress application), so playing around with IIS/Apache URL re-writes wasn’t an option. I started to look for WordPress plugins but couldn’t find any – and then I found out why…

Although there is no mention of it in the Codex, when you change the title of a post, WordPress automatically creates an HTTP 301 redirect from the the old URL to the new. I’ve seen this on my own blog but Johannes Pille describes it beautifully on StackExchange:

“The previously used slug(s) are stored in the database in the wp_postmeta table. Check for _wp_old_slug in the meta_key column (the actual slugs being stored in the meta_value column). Hence should you ever want this default behavior not to happen in a particular case, this is where to delete a value.”

I also found that the URL (and hence the slug) is not set until the post is published. I had edited the title whilst the post was in a scheduled state, so there was only one slug recorded (the new title). By editing the slug post-publish, I was able to prevent the HTTP 404s that some people were seeing.

Adding extra social sharing services to WordPress with JetPack (ShareDaddy)

Last night, as part of the rebuild of this site, I reinstated the social sharing links for each post. In the old site they had been implemented as bespoke code using each social network’s recommended approach (e.g. Twitter or Facebook‘s official button codes) but presentation becomes problematic, with each button having a slightly different format and needing some CSS trickery to get it right.

I looked into a variety of plugins but they all had issues – either with formatting or functionality – until I stumbled across reference to WordPress.com’s social sharing capabilities.  If only I could have that functionality on a self-hosted (WordPress.org) site…

…As it happens, I can – WordPress.com’s social sharing is based on the ShareDaddy plugin, which is part of a collection called JetPack. ShareDaddy is also available as a freestanding plugin but now I have JetPack installed I’m finding some of the other functionality it gives me useful (and it’s not possible to activate ShareDaddy if you have JetPack installed).

I need to make some changes (like working out how to hack the code and turn off the count next to my Tweet/Like/+1 buttons – it’s embarrassing when the number is small!) but I’m happy enough with the result for now.  One thing I did need to do though was to add some services that are not yet in the JetPack version of the plugin (one of the major advantages of ShareDaddy is how simple it is to do this).

Rebuilding my site: please excuse the appearance

Regular readers may have noticed that this site is looking a little… different… right now.

Unfortunately, my hosting provider told me last night that they had a disk failure on the server. Normally that wouldn’t be a problem (that’s why servers have redundant components right? Like RAID on the disks?) but it seems this “server” is just a big PC. I can’t get too mad though… the MySQL database backup scripts have been failing for a month and it was my sloppyness that didn’t chase that up, and it was me who hadn’t made sure I had a recent copy of the file system…

So, as things stand:

  • I think I have restored all posts from 2004 until almost the end of August 2011;
  • I need to restore the later posts and comments (using copies from FeedBlitz, Google Reader, etc.);
  • There are no plugins (so things look odd); Some of the plugins have been reinstalled (but things may still look odd);
  • There are no graphics (they were hosted outside WordPress) I’ve restored all most of the graphics and other external media but there are still some I need to track down;
  • I have not restored the theme (so I’m using the WordPress defaults and there is no mobile theme);
  • The theme I’m using does not specify UTF-8 encoding so lots of  characters; Still some spurious characters appearing on some pages…
  • There are no fewer ads (which you might be happy about, but I do still need to pay the bills).

Please bear with me whilst I get things back… it may take some time as it needs to fit in between other activities but it might also be a good thing (new theme has been long overdue and I might even get smarter about my backups…).

And, if you spot another problem, please let me know.

[Updated at various points as the site has been restored]

Failing WordPress updates fixed by enabling FastCGI

For months, although it feels like years, I’ve been struggling with WordPress upgrades and it’s been driving me mad.  Each time I’ve attempted an in-app update of a plugin (or WordPress itself), it’s asked me for FTP credentials and then, usually, failed.  I’ve got used to re-installing WordPress but it shouldn’t be this way.

The problem, it seems was a combination of WordPress file ownership/permissions. I had to set the wp-content/upgrade folder permissions to 777 in order to successfully update plugins and that just didn’t feel right.  Luckily, I’m on good terms with my hosting provider and they started looking into the issue for me.  It seems (I think) that Apache was running as nobody and that was presenting some issues with WordPress. Changing the owner on my /blog folder (to nobody) fixed WordPress, but it meant I couldn’t FTP any content to the folder using my own username, so we went back to the drawing board.

I can’t claim to understand all the technical details but I’m told the fix was to enable FastCGI on the server.  It was originally disabled because it’s memory-hungry (spawning child processes for each user) but wow, FastCGI is a good name. Now my WordPress upgrades take seconds. I updated twice yesterday (to 3.1.4, then later to 3.2) and I was amazed how quickly things happened. That is good.

WordPress theme update prevents access to administrative pages

For days now, I’ve been banging my head against the wall on a problem with a WordPress website (not this one). I used an agency to develop a theme for me, but every time I applied it to the site, I lost access to the /wp-admin pages (in most browsers I saw a blank page, except in Firefox, where I could see the following characters: ). I only have access to the WordPress application (no database administration, or access to the web server itself), so the only way out was to ask the server administrators to restore the WordPress folders from backup, which takes time and gets embarrassing after a second attempt.

I’d seen John MacMenamin’s WordPress WP-Admin blank page fix post and thought I’d removed all whitespace from the top/bottom of functions.php but, after Alex Coles suggested that I look at the differences between Unix-style linefeeds and Windows carriage-return/linefeeds, Could this be the culprit in the case of the blank /wp-admin pages?I spotted the same strange characters at the head of the file (they showed up in windiff.exe as I was performing a file comparison). I don’t know how it got there but, each time I get a theme update, I have to manually remove what appeared to be a single byte from the head of the file using the nano editor on my Mac, which presented it as white space (I’m sure vi would do the job too), because not all text editors can see the offending character (certainly not Notepad on Windows, or TextEdit on a Mac).

This cost me a lot of time (and probably delayed the launch of the website too), so I thought it might be useful to flag up for others to benefit from my experience.

Rebuilding WordPress…

This post comes with an apology – to Alex Coles, who often helps me out with the development of this site, and who, after encouraging me to update it to the latest version of WordPress (late last night, at a pub, over a 3G mobile connection) was the recipient of my frustration when it failed with an HTTP 408 error and a message that said something about a slow connection. Sorry Alex.

Despite having been given a torrent of abuse, Alex was gracious enough to give me the advice that allowed me to rebuild the site. I was lucky that it had stayed up, albeit in some kind of weird state that said it was WordPress v3.0.1 but was probably still v2.9.2; however, attempts to reinstall WordPress were futile – and a failed plugin update left the site stuck in maintenance mode (the answer to which seemed to be wait a few minutes, although I also found advice which suggested deleting the .maintenance file).

So, this afternoon, I set about rebuilding the site, by installing a parallel copy of WordPress, although the database has not been changed (I do have a backup of that, if it becomes necessary to restore it).

  1. The first thing to do was to download the latest copy of WordPress. I’m on a Linux host so I downloaded the .tar.gz version but Windows users may prefer a .zip.
  2. After extracting the archive to a suitable location on my webspace (the web root was fine, as the extraction automatically created a /wordpress subdirectory).
  3. I then copied over the customised elements of the old site from /wp-content including themes, plugins, uploads and other data that my blog uses (for example, images that are not in my uploads folder, and JavaScript that I use to run some of the advertisements on the site).
  4. Next, I copied some of the critical files that control the WordPress configuration: wp-settings.php, wp-config.php and .htaccess.
  5. Finally, I renamed the old /blog folder, and renamed /wordpress to /blog before testing site access.

With everything working well, I can delete the old /blog subdirectory but I’ll leave it for a while, “just in case” – although it’s probably worth editing /robots.txt to stop search engines from indexing the old site alongside the new one.

I should probably breathe a big sigh of relief now, but I’m in the mood for site development so, if you see the site theme change a few times over the coming weeks, bear with me!

Adding a Facebook Share (or Like) button to a self-hosted WordPress blog

A few weeks ago, I wrote about adding a Tweet button to a self-hosted WordPress blog, and followed up by writing about using a little CSS trickery to align the Tweet button (thanks to Alex Coles).  Whilst I was implementing the Tweet Button, I also went about putting a Facebook Share button on each post.

There are plug-ins to do this for me but why use a plugin when the answer is just a single lines of code in two files within the template?

In the same paragraph as the Tweet button (i.e. styled with the same class), I used this code, generated using the Facebook Share Button generator:

This time, the code is identical for both index.php and single.php as, unfortunately, Facebook doesn’t seem to give me any control over the title of the link (it just takes the </code> tag from the page). <a href="http://askville.amazon.com/add-Share-Facebook-button-webpage/AnswerViewer.do?requestId=1539369">There is another method, using query string parameters in the URL</a> but I chose to stick with Facebook’s recommended method.</p> <p>Incidentally, I chose to Share, rather than <a href="http://developers.facebook.com/docs/reference/plugins/like">Like (which can be implemented by following these guidelines)</a> because they have subtly different purposes and <a href="http://daggle.com/facebook-button-facebook-share-keeping-1792">each is represented in a slightly different manner (as Danny Sullivan describes in his post on the subject)</a>. After reading Danny’s post, I agree that Share is best for linking to a single post, whilst Like is more suited to the site as a whole (someone might <em>Like</em> markwilson.it and <em>Share</em> one or more posts from the site).</p> <!-- google_ad_section_end --> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-2024" class="share-twitter sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=twitter" target="_blank" title="Click to share on Twitter"><span>Twitter</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-2024" class="share-facebook sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=facebook" target="_blank" title="Click to share on Facebook"><span>Facebook</span></a></li><li class="share-linkedin"><a rel="nofollow noopener noreferrer" data-shared="sharing-linkedin-2024" class="share-linkedin sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=linkedin" target="_blank" title="Click to share on LinkedIn"><span>LinkedIn</span></a></li><li class="share-pocket"><a rel="nofollow noopener noreferrer" data-shared="" class="share-pocket sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=pocket" target="_blank" title="Click to share on Pocket"><span>Pocket</span></a></li><li class="share-pinterest"><a rel="nofollow noopener noreferrer" data-shared="sharing-pinterest-2024" class="share-pinterest sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=pinterest" target="_blank" title="Click to share on Pinterest"><span>Pinterest</span></a></li><li class="share-tumblr"><a rel="nofollow noopener noreferrer" data-shared="" class="share-tumblr sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=tumblr" target="_blank" title="Click to share on Tumblr"><span>Tumblr</span></a></li><li class="share-reddit"><a rel="nofollow noopener noreferrer" data-shared="" class="share-reddit sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=reddit" target="_blank" title="Click to share on Reddit"><span>Reddit</span></a></li><li class="share-skype"><a rel="nofollow noopener noreferrer" data-shared="sharing-skype-2024" class="share-skype sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=skype" target="_blank" title="Click to share on Skype"><span>Skype</span></a></li><li class="share-jetpack-whatsapp"><a rel="nofollow noopener noreferrer" data-shared="" class="share-jetpack-whatsapp sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=jetpack-whatsapp" target="_blank" title="Click to share on WhatsApp"><span>WhatsApp</span></a></li><li class="share-email"><a rel="nofollow noopener noreferrer" data-shared="" class="share-email sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm?share=email" target="_blank" title="Click to email this to a friend"><span>Email</span></a></li><li class="share-print"><a rel="nofollow noopener noreferrer" data-shared="" class="share-print sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm" target="_blank" title="Click to print"><span>Print</span></a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-29247765-2024-5cc22c034f112' data-src='https://widgets.wp.com/likes/#blog_id=29247765&post_id=2024&origin=www.markwilson.co.uk&obj_id=29247765-2024-5cc22c034f112' data-name='like-post-frame-29247765-2024-5cc22c034f112'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="cat-links">Posted in Uncategorised</span><span class="tags-links">Tagged <a href="https://www.markwilson.co.uk/blog/tag/social-networking" rel="tag">Social Networking</a>, <a href="https://www.markwilson.co.uk/blog/tag/wordpress" rel="tag">WordPress</a></span><span class="comments-link"><a href="https://www.markwilson.co.uk/blog/2010/09/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm#respond">Leave a comment</a></span> </footer><!-- .entry-footer --> </article><!-- #post-## --> <article id="post-1979" class="post-1979 post type-post status-publish format-standard hentry tag-social-networking tag-wordpress"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm" rel="bookmark">More on implementing Twitter’s Tweet button</a></h2> <div class="entry-meta"> <span class="posted-on">Posted on <a href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm" rel="bookmark"><time class="entry-date published" datetime="2010-08-26T18:51:56+01:00">Thursday 26 August 2010</time></a></span><span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://www.markwilson.co.uk/blog/author/Mark%20Wilson">Mark Wilson</a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <a class="post-thumbnail" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm"> </a> <div class="entry-content"> <!-- google_ad_section_start --> <p>A week or so back, I wrote about <a href="http://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm">putting a Tweet button onto a self-hosted WordPress blog</a>. The method I used was fine – it works – but I was struggling to place the button within my page (I knew where to put it in my code but it seemed to display in the wrong place sometimes, as a result of some of the floats that the stylesheet applies).</p> <p>That’s when I called in my buddy <a href="http://www.alexcoles.com/">Alex</a>: XHTML and CSS wizard; and fixer of many things on this site.</p> <p>He spotted that, even though <a href="http://dev.twitter.com/pages/tweet-button">Twitter gives us three options for implementing the Tweet button: JavaScript, IFrame, and roll your own</a>, the <a href="http://platform.twitter.com/widgets.js">JavaScript implementation</a> also uses an IFrame.</p> <p>The trouble with this is that IFrames are bad. Well, not really bad, but certainly deprecated for Strict HTML and XHTML, and certainly not the direction I want to be heading in for a compliant site. Ideally, I would find another way around the issue but rolling my own Tweet button doesn’t look great) and Twitter’s implementation uses several images in one file, just showing the appropriate section of the image. I could use this, with image replacement techniques for hover and click (which is what Twitter do) but, to be honest, that was a little out of my league, so IFrames it is…</p> <p>Alex helped me style up the button – if you want to do something similar, this was the CSS that he used:</p> <p><dirtycode:noclick>p.social-media {margin-top: -15px;}<br /> iframe.twitter-share-button {float: left; margin-right: 1em;}</dirtycode></p> <p>Together with adding <code>class="social-media"</code> to the <code></p> <p></code> tag in the code to display the tweet button so that it now reads:</p> <p><dirtycode:noclick></p> <p class="social-media"><a href="http://twitter.com/share" class="twitter-share-button" data-url="<?php the_permalink(); ?>” data-text=”<?php the_title(); ?>” data-count=”none” data-via=”markwilsonit”>Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></p> <p></dirtycode></p> <p>When I asked him how this works, he explained that the class on the <code></p> <p></code> is just to close up the top margin; the real magic is floating just the Tweet button (which cured the CSS float issues that had been frustrating me).</p> <p>Of course, there may be plugins to display buttons like Tweet, Facebook Share/Like, etc. but when something only takes a couple of lines of code, I’d rather implement it natively than add to the list of plugins running on my WordPress installation.</p> <!-- google_ad_section_end --> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-1979" class="share-twitter sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=twitter" target="_blank" title="Click to share on Twitter"><span>Twitter</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-1979" class="share-facebook sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=facebook" target="_blank" title="Click to share on Facebook"><span>Facebook</span></a></li><li class="share-linkedin"><a rel="nofollow noopener noreferrer" data-shared="sharing-linkedin-1979" class="share-linkedin sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=linkedin" target="_blank" title="Click to share on LinkedIn"><span>LinkedIn</span></a></li><li class="share-pocket"><a rel="nofollow noopener noreferrer" data-shared="" class="share-pocket sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=pocket" target="_blank" title="Click to share on Pocket"><span>Pocket</span></a></li><li class="share-pinterest"><a rel="nofollow noopener noreferrer" data-shared="sharing-pinterest-1979" class="share-pinterest sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=pinterest" target="_blank" title="Click to share on Pinterest"><span>Pinterest</span></a></li><li class="share-tumblr"><a rel="nofollow noopener noreferrer" data-shared="" class="share-tumblr sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=tumblr" target="_blank" title="Click to share on Tumblr"><span>Tumblr</span></a></li><li class="share-reddit"><a rel="nofollow noopener noreferrer" data-shared="" class="share-reddit sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=reddit" target="_blank" title="Click to share on Reddit"><span>Reddit</span></a></li><li class="share-skype"><a rel="nofollow noopener noreferrer" data-shared="sharing-skype-1979" class="share-skype sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=skype" target="_blank" title="Click to share on Skype"><span>Skype</span></a></li><li class="share-jetpack-whatsapp"><a rel="nofollow noopener noreferrer" data-shared="" class="share-jetpack-whatsapp sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=jetpack-whatsapp" target="_blank" title="Click to share on WhatsApp"><span>WhatsApp</span></a></li><li class="share-email"><a rel="nofollow noopener noreferrer" data-shared="" class="share-email sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm?share=email" target="_blank" title="Click to email this to a friend"><span>Email</span></a></li><li class="share-print"><a rel="nofollow noopener noreferrer" data-shared="" class="share-print sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm" target="_blank" title="Click to print"><span>Print</span></a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-29247765-1979-5cc22c034f963' data-src='https://widgets.wp.com/likes/#blog_id=29247765&post_id=1979&origin=www.markwilson.co.uk&obj_id=29247765-1979-5cc22c034f963' data-name='like-post-frame-29247765-1979-5cc22c034f963'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="cat-links">Posted in Uncategorised</span><span class="tags-links">Tagged <a href="https://www.markwilson.co.uk/blog/tag/social-networking" rel="tag">Social Networking</a>, <a href="https://www.markwilson.co.uk/blog/tag/wordpress" rel="tag">WordPress</a></span><span class="comments-link"><a href="https://www.markwilson.co.uk/blog/2010/08/more-on-implementing-twitters-tweet-button.htm#respond">Leave a comment</a></span> </footer><!-- .entry-footer --> </article><!-- #post-## --> <article id="post-1972" class="post-1972 post type-post status-publish format-standard hentry tag-social-networking tag-wordpress"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm" rel="bookmark">Adding a Tweet button to a self-hosted WordPress blog</a></h2> <div class="entry-meta"> <span class="posted-on">Posted on <a href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm" rel="bookmark"><time class="entry-date published" datetime="2010-08-13T11:59:34+01:00">Friday 13 August 2010</time><time class="updated" datetime="2010-08-14T15:06:47+01:00">Saturday 14 August 2010</time></a></span><span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://www.markwilson.co.uk/blog/author/Mark%20Wilson">Mark Wilson</a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <a class="post-thumbnail" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm"> </a> <div class="entry-content"> <!-- google_ad_section_start --> <p>Yesterday, Twitter launched their official button for websites and keen-eyed observers will have noticed that markwilson.it now sports a shiny new “tweet” icon at the head of each post.  It’s pretty easy to do (<a href="http://twitter.com/goodies/tweetbutton">Twitter generates the code for you</a> – and has an <a href="http://dev.twitter.com/pages/tweet_button_faq">FAQ for developers</a>) but there may be a couple of things to watch out for, <a href="http://mashable.com/2010/08/13/tweet-button-bloggers/">depending on your blog’s content management system</a>.</p> <p>I use self-hosted WordPress, and these were the changes I made to the site:</p> <ul> <li>For my single posts, I just added the Twitter-generated code to an appropriate position in the single.php file.</li> <li>For my main index page, I edited index.php, but didn’t want the generated link to be to the current page (my home page with several recent posts) – I wanted it to relate to the particular post that the viewer is tweeting from.  Adapting a tip from <a href="http://www.davidteng.com/">David Teng</a>, I added two parameters to the link code (<code>data-url="<?php the_permalink(); ?>"</code> and <code>data-text="<?php the_title(); ?>"</code>).</li> </ul> <p>Now, by clicking the Tweet button on this post, the link generated relates to the post – and not the home page for the blog.</p> <!-- google_ad_section_end --> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-1972" class="share-twitter sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=twitter" target="_blank" title="Click to share on Twitter"><span>Twitter</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-1972" class="share-facebook sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=facebook" target="_blank" title="Click to share on Facebook"><span>Facebook</span></a></li><li class="share-linkedin"><a rel="nofollow noopener noreferrer" data-shared="sharing-linkedin-1972" class="share-linkedin sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=linkedin" target="_blank" title="Click to share on LinkedIn"><span>LinkedIn</span></a></li><li class="share-pocket"><a rel="nofollow noopener noreferrer" data-shared="" class="share-pocket sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=pocket" target="_blank" title="Click to share on Pocket"><span>Pocket</span></a></li><li class="share-pinterest"><a rel="nofollow noopener noreferrer" data-shared="sharing-pinterest-1972" class="share-pinterest sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=pinterest" target="_blank" title="Click to share on Pinterest"><span>Pinterest</span></a></li><li class="share-tumblr"><a rel="nofollow noopener noreferrer" data-shared="" class="share-tumblr sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=tumblr" target="_blank" title="Click to share on Tumblr"><span>Tumblr</span></a></li><li class="share-reddit"><a rel="nofollow noopener noreferrer" data-shared="" class="share-reddit sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=reddit" target="_blank" title="Click to share on Reddit"><span>Reddit</span></a></li><li class="share-skype"><a rel="nofollow noopener noreferrer" data-shared="sharing-skype-1972" class="share-skype sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=skype" target="_blank" title="Click to share on Skype"><span>Skype</span></a></li><li class="share-jetpack-whatsapp"><a rel="nofollow noopener noreferrer" data-shared="" class="share-jetpack-whatsapp sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=jetpack-whatsapp" target="_blank" title="Click to share on WhatsApp"><span>WhatsApp</span></a></li><li class="share-email"><a rel="nofollow noopener noreferrer" data-shared="" class="share-email sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm?share=email" target="_blank" title="Click to email this to a friend"><span>Email</span></a></li><li class="share-print"><a rel="nofollow noopener noreferrer" data-shared="" class="share-print sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm" target="_blank" title="Click to print"><span>Print</span></a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-29247765-1972-5cc22c035013d' data-src='https://widgets.wp.com/likes/#blog_id=29247765&post_id=1972&origin=www.markwilson.co.uk&obj_id=29247765-1972-5cc22c035013d' data-name='like-post-frame-29247765-1972-5cc22c035013d'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="cat-links">Posted in Uncategorised</span><span class="tags-links">Tagged <a href="https://www.markwilson.co.uk/blog/tag/social-networking" rel="tag">Social Networking</a>, <a href="https://www.markwilson.co.uk/blog/tag/wordpress" rel="tag">WordPress</a></span><span class="comments-link"><a href="https://www.markwilson.co.uk/blog/2010/08/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm#comments">2 Comments</a></span> </footer><!-- .entry-footer --> </article><!-- #post-## --> <article id="post-1810" class="post-1810 post type-post status-publish format-standard hentry tag-apache tag-website-development tag-wordpress"> <header class="entry-header"> <h2 class="entry-title"><a href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm" rel="bookmark">Enabling website compression to reduce bandwidth use</a></h2> <div class="entry-meta"> <span class="posted-on">Posted on <a href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm" rel="bookmark"><time class="entry-date published" datetime="2010-05-10T23:34:32+01:00">Monday 10 May 2010</time><time class="updated" datetime="2010-05-10T23:37:28+01:00">Monday 10 May 2010</time></a></span><span class="byline"> By <span class="author vcard"><a class="url fn n" href="https://www.markwilson.co.uk/blog/author/Mark%20Wilson">Mark Wilson</a></span></span> </div><!-- .entry-meta --> </header><!-- .entry-header --> <a class="post-thumbnail" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm"> </a> <div class="entry-content"> <!-- google_ad_section_start --> <p>After years of steady growth, <a href="http://www.markwilson.co.uk/blog/">markwilson.it</a> has seen a small drop in the number of blog subscribers in recent months.  To me this means one of two things:</p> <ul> <li>Perhaps RSS is no longer the most useful way to consume blog content (for example, I rarely read RSS feeds these days and rely instead on what friends, peers and industry contacts “talk” about on Twitter to understand what’s worth reading.  I know that many of my readers follow me on Twitter <a href="http://twitter.com/markwilsonit">@markwilsonit</a> too).</li> <li>People don’t like my posts.</li> </ul> <p>If I’m brutally honest with myself, it’s most likely to be the latter – after years of blogging furiously, I have seriously scaled back – partly (mostly) due to a lack of time – and so I guess some people have assumed that I’m no longer blogging (or at least not blogging enough that’s interesting enough to keep in their feed reader).  That’s a shame – and it’s not really something that I want to see becoming a continuing trend.</p> <p><img src="https://i2.wp.com/www.markwilson.co.uk/blog/images/markwilsonit-bandwidth.png?w=700" alt="Graph showing bandwidth growing and exceeding quota" data-recalc-dims="1" />Strangely though, as my blog output has dropped significantly, and my subscribers have dropped (ever so slightly), my bandwidth usage has continued to rise – to the point that my hosting provider actually dropped the site returning a “bandwidth exceeded” message to readers recently (thankfully, this was resolved within a very short time of me noticing and bringing it to their attention).  When I started to look into this, I found that the biggest jump in bandwidth usage related to <a href="http://www.markwilson.co.uk/blog/2010/01/major-wordpress-update-completed.htm">my upgrade from WordPress 2.2 to 2.9 in January</a>.  I couldn’t understand why the same database, same theme, etc. running on a new version of WordPress would result in a significant increase in bandwidth usage until I saw that WordPress no longer contains an option to compress content for clients that support it, or, in WordPress parlance: “WordPress now leaves compression as a decision for the server”.</p> <p>There are loads of plugins out there to enable GZIP compression on WordPress 2.5 and later; however I found that the WordPress guys are right – the simplest way is often to let the web server handle the compression – after all, I’d like to compress content (and save bandwidth) for all of my content, regardless of whether it’s served from WordPress.</p> <p>I found the answer in <a href="http://www.ryansgoblog.com/">Ryan Williams</a>‘ <a href="http://austinmatzko.com/2008/02/22/wordpress-gzip-plugin/#comment-194566">comment on a post at Il Filosofo</a> – by adding a few lines to my .htaccess file (after checking that my host has the deflate module enabled in Apache), I saw a 72% reduction in the bandwidth required to serve my home page.  This is the code I added:</p> <p><dirtycode:noclick>AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json application/x-httpd-php application/x-httpd-fastphp application/rss+xml application/atom_xml application/x-httpd-eruby<br /> Header append Vary Accept-Encoding</dirtycode></p> <p>In a nutshell, this tells the server to deflate various text-based document types.  Job done.  There are various tools available on the ‘net to see if a site has compression enabled (such as <a href="http://www.gidnetwork.com/tools/gzip-test.php">GIDZipTest</a>) but my favourite is <a href="http://ismyblogworking.com/">Is My Blog Working</a> because it also tells me about some other items that I might like to look into to potentially improve the efficiency of the site.  Hopefully now I’ll see my bandwidth fall back within my quota – which should also please my hosting provider.</p> <!-- google_ad_section_end --> <div class="sharedaddy sd-sharing-enabled"><div class="robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing"><h3 class="sd-title">Share this:</h3><div class="sd-content"><ul><li class="share-twitter"><a rel="nofollow noopener noreferrer" data-shared="sharing-twitter-1810" class="share-twitter sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=twitter" target="_blank" title="Click to share on Twitter"><span>Twitter</span></a></li><li class="share-facebook"><a rel="nofollow noopener noreferrer" data-shared="sharing-facebook-1810" class="share-facebook sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=facebook" target="_blank" title="Click to share on Facebook"><span>Facebook</span></a></li><li class="share-linkedin"><a rel="nofollow noopener noreferrer" data-shared="sharing-linkedin-1810" class="share-linkedin sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=linkedin" target="_blank" title="Click to share on LinkedIn"><span>LinkedIn</span></a></li><li class="share-pocket"><a rel="nofollow noopener noreferrer" data-shared="" class="share-pocket sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=pocket" target="_blank" title="Click to share on Pocket"><span>Pocket</span></a></li><li class="share-pinterest"><a rel="nofollow noopener noreferrer" data-shared="sharing-pinterest-1810" class="share-pinterest sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=pinterest" target="_blank" title="Click to share on Pinterest"><span>Pinterest</span></a></li><li class="share-tumblr"><a rel="nofollow noopener noreferrer" data-shared="" class="share-tumblr sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=tumblr" target="_blank" title="Click to share on Tumblr"><span>Tumblr</span></a></li><li class="share-reddit"><a rel="nofollow noopener noreferrer" data-shared="" class="share-reddit sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=reddit" target="_blank" title="Click to share on Reddit"><span>Reddit</span></a></li><li class="share-skype"><a rel="nofollow noopener noreferrer" data-shared="sharing-skype-1810" class="share-skype sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=skype" target="_blank" title="Click to share on Skype"><span>Skype</span></a></li><li class="share-jetpack-whatsapp"><a rel="nofollow noopener noreferrer" data-shared="" class="share-jetpack-whatsapp sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=jetpack-whatsapp" target="_blank" title="Click to share on WhatsApp"><span>WhatsApp</span></a></li><li class="share-email"><a rel="nofollow noopener noreferrer" data-shared="" class="share-email sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm?share=email" target="_blank" title="Click to email this to a friend"><span>Email</span></a></li><li class="share-print"><a rel="nofollow noopener noreferrer" data-shared="" class="share-print sd-button share-icon" href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm" target="_blank" title="Click to print"><span>Print</span></a></li><li class="share-end"></li></ul></div></div></div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-29247765-1810-5cc22c03509f1' data-src='https://widgets.wp.com/likes/#blog_id=29247765&post_id=1810&origin=www.markwilson.co.uk&obj_id=29247765-1810-5cc22c03509f1' data-name='like-post-frame-29247765-1810-5cc22c03509f1'><h3 class="sd-title">Like this:</h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like</span></span> <span class="loading">Loading...</span></div><span class='sd-text-color'></span><a class='sd-link-color'></a></div> </div><!-- .entry-content --> <footer class="entry-footer"> <span class="cat-links">Posted in Uncategorised</span><span class="tags-links">Tagged <a href="https://www.markwilson.co.uk/blog/tag/apache" rel="tag">Apache</a>, <a href="https://www.markwilson.co.uk/blog/tag/website-development" rel="tag">Website Development</a>, <a href="https://www.markwilson.co.uk/blog/tag/wordpress" rel="tag">WordPress</a></span><span class="comments-link"><a href="https://www.markwilson.co.uk/blog/2010/05/enabling-website-compression-to-reduce-bandwidth-use.htm#respond">Leave a comment</a></span> </footer><!-- .entry-footer --> </article><!-- #post-## --> <nav class="navigation paging-navigation" role="navigation"> <h2 class="screen-reader-text">Posts navigation</h2> <div class="nav-links"> <div class="nav-previous"> <a href="https://www.markwilson.co.uk/blog/tag/wordpress/page/3" ><span class="meta-nav">←</span> Older posts</a> </div> <div class="nav-next"> <a href="https://www.markwilson.co.uk/blog/tag/wordpress/" >Newer posts <span class="meta-nav">→</span></a> </div> </div><!-- .nav-links --> </nav><!-- .navigation --> </main><!-- #main --> </div><!-- #primary --> <div id="secondary" class="widget-area" role="complementary"> <aside id="eu_cookie_law_widget-2" class="widget widget_eu_cookie_law_widget"><div class="hide-on-button negative" data-hide-timeout="30" data-consent-expiration="180" id="eu-cookie-law" > <form method="post"> <input type="submit" value="Close and accept" class="accept" /> </form> By using this website you allow cookies to be placed on your computer. They are harmless and never personally identify you. For more information about cookies and how they are used, visit the <a href="http://www.markwilson.co.uk/blog/about/privacy" > Privacy Policy and Data Protection Notice </a> </div> </aside><aside id="search-4" class="widget widget_search"><form role="search" method="get" class="search-form" action="https://www.markwilson.co.uk/blog/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" /> </label> <input type="submit" class="search-submit" value="Search" /> </form></aside><aside id="categories-2" class="widget widget_categories"><h2 class="widget-title">Categories</h2> <ul> <li class="cat-item cat-item-364"><a href="https://www.markwilson.co.uk/blog/topic/exercise" >Exercise</a> </li> <li class="cat-item cat-item-697"><a href="https://www.markwilson.co.uk/blog/topic/lifestyle" >Lifestyle</a> </li> <li class="cat-item cat-item-117"><a href="https://www.markwilson.co.uk/blog/topic/motoring" >Motoring</a> </li> <li class="cat-item cat-item-152"><a href="https://www.markwilson.co.uk/blog/topic/photography" >Photography</a> </li> <li class="cat-item cat-item-6"><a href="https://www.markwilson.co.uk/blog/topic/site-notices" >Site notices</a> </li> <li class="cat-item cat-item-218"><a href="https://www.markwilson.co.uk/blog/topic/technology" >Technology</a> </li> <li class="cat-item cat-item-38"><a href="https://www.markwilson.co.uk/blog/topic/inane-waffle" >Waffle and randomness</a> </li> <li class="cat-item cat-item-666"><a href="https://www.markwilson.co.uk/blog/topic/weeknotes" >Weeknotes</a> </li> </ul> </aside><aside id="archives-2" class="widget widget_archive"><h2 class="widget-title">Archives</h2> <label class="screen-reader-text" for="archives-dropdown-2">Archives</label> <select id="archives-dropdown-2" name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value="">Select Month</option> <option value='https://www.markwilson.co.uk/blog/2019/03'> March 2019  (1)</option> <option value='https://www.markwilson.co.uk/blog/2019/02'> February 2019  (1)</option> <option value='https://www.markwilson.co.uk/blog/2019/01'> January 2019  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/12'> December 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/11'> November 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/10'> October 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/09'> September 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/08'> August 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2018/07'> July 2018  (2)</option> <option value='https://www.markwilson.co.uk/blog/2018/06'> June 2018  (4)</option> <option value='https://www.markwilson.co.uk/blog/2018/05'> May 2018  (3)</option> <option value='https://www.markwilson.co.uk/blog/2018/04'> April 2018  (3)</option> <option value='https://www.markwilson.co.uk/blog/2018/03'> March 2018  (2)</option> <option value='https://www.markwilson.co.uk/blog/2018/02'> February 2018  (4)</option> <option value='https://www.markwilson.co.uk/blog/2018/01'> January 2018  (1)</option> <option value='https://www.markwilson.co.uk/blog/2017/12'> December 2017  (4)</option> <option value='https://www.markwilson.co.uk/blog/2017/11'> November 2017  (4)</option> <option value='https://www.markwilson.co.uk/blog/2017/10'> October 2017  (5)</option> <option value='https://www.markwilson.co.uk/blog/2017/09'> September 2017  (5)</option> <option value='https://www.markwilson.co.uk/blog/2017/08'> August 2017  (6)</option> <option value='https://www.markwilson.co.uk/blog/2017/07'> July 2017  (12)</option> <option value='https://www.markwilson.co.uk/blog/2017/06'> June 2017  (2)</option> <option value='https://www.markwilson.co.uk/blog/2017/05'> May 2017  (4)</option> <option value='https://www.markwilson.co.uk/blog/2017/04'> April 2017  (3)</option> <option value='https://www.markwilson.co.uk/blog/2017/03'> March 2017  (7)</option> <option value='https://www.markwilson.co.uk/blog/2017/02'> February 2017  (7)</option> <option value='https://www.markwilson.co.uk/blog/2017/01'> January 2017  (13)</option> <option value='https://www.markwilson.co.uk/blog/2016/12'> December 2016  (13)</option> <option value='https://www.markwilson.co.uk/blog/2016/11'> November 2016  (11)</option> <option value='https://www.markwilson.co.uk/blog/2016/10'> October 2016  (6)</option> <option value='https://www.markwilson.co.uk/blog/2016/09'> September 2016  (11)</option> <option value='https://www.markwilson.co.uk/blog/2016/08'> August 2016  (6)</option> <option value='https://www.markwilson.co.uk/blog/2016/07'> July 2016  (3)</option> <option value='https://www.markwilson.co.uk/blog/2016/06'> June 2016  (2)</option> <option value='https://www.markwilson.co.uk/blog/2016/05'> May 2016  (11)</option> <option value='https://www.markwilson.co.uk/blog/2016/04'> April 2016  (4)</option> <option value='https://www.markwilson.co.uk/blog/2016/03'> March 2016  (7)</option> <option value='https://www.markwilson.co.uk/blog/2016/02'> February 2016  (3)</option> <option value='https://www.markwilson.co.uk/blog/2016/01'> January 2016  (5)</option> <option value='https://www.markwilson.co.uk/blog/2015/12'> December 2015  (3)</option> <option value='https://www.markwilson.co.uk/blog/2015/11'> November 2015  (10)</option> <option value='https://www.markwilson.co.uk/blog/2015/10'> October 2015  (16)</option> <option value='https://www.markwilson.co.uk/blog/2015/09'> September 2015  (30)</option> <option value='https://www.markwilson.co.uk/blog/2015/08'> August 2015  (17)</option> <option value='https://www.markwilson.co.uk/blog/2015/07'> July 2015  (15)</option> <option value='https://www.markwilson.co.uk/blog/2015/06'> June 2015  (5)</option> <option value='https://www.markwilson.co.uk/blog/2015/05'> May 2015  (11)</option> <option value='https://www.markwilson.co.uk/blog/2015/04'> April 2015  (8)</option> <option value='https://www.markwilson.co.uk/blog/2015/03'> March 2015  (5)</option> <option value='https://www.markwilson.co.uk/blog/2015/02'> February 2015  (6)</option> <option value='https://www.markwilson.co.uk/blog/2015/01'> January 2015  (2)</option> <option value='https://www.markwilson.co.uk/blog/2014/12'> December 2014  (4)</option> <option value='https://www.markwilson.co.uk/blog/2014/11'> November 2014  (4)</option> <option value='https://www.markwilson.co.uk/blog/2014/10'> October 2014  (9)</option> <option value='https://www.markwilson.co.uk/blog/2014/09'> September 2014  (3)</option> <option value='https://www.markwilson.co.uk/blog/2014/08'> August 2014  (3)</option> <option value='https://www.markwilson.co.uk/blog/2014/07'> July 2014  (5)</option> <option value='https://www.markwilson.co.uk/blog/2014/06'> June 2014  (7)</option> <option value='https://www.markwilson.co.uk/blog/2014/05'> May 2014  (2)</option> <option value='https://www.markwilson.co.uk/blog/2014/04'> April 2014  (4)</option> <option value='https://www.markwilson.co.uk/blog/2014/03'> March 2014  (6)</option> <option value='https://www.markwilson.co.uk/blog/2014/02'> February 2014  (7)</option> <option value='https://www.markwilson.co.uk/blog/2014/01'> January 2014  (6)</option> <option value='https://www.markwilson.co.uk/blog/2013/12'> December 2013  (4)</option> <option value='https://www.markwilson.co.uk/blog/2013/11'> November 2013  (5)</option> <option value='https://www.markwilson.co.uk/blog/2013/10'> October 2013  (4)</option> <option value='https://www.markwilson.co.uk/blog/2013/09'> September 2013  (5)</option> <option value='https://www.markwilson.co.uk/blog/2013/08'> August 2013  (1)</option> <option value='https://www.markwilson.co.uk/blog/2013/07'> July 2013  (9)</option> <option value='https://www.markwilson.co.uk/blog/2013/06'> June 2013  (3)</option> <option value='https://www.markwilson.co.uk/blog/2013/05'> May 2013  (8)</option> <option value='https://www.markwilson.co.uk/blog/2013/04'> April 2013  (2)</option> <option value='https://www.markwilson.co.uk/blog/2013/03'> March 2013  (9)</option> <option value='https://www.markwilson.co.uk/blog/2013/02'> February 2013  (8)</option> <option value='https://www.markwilson.co.uk/blog/2013/01'> January 2013  (12)</option> <option value='https://www.markwilson.co.uk/blog/2012/12'> December 2012  (8)</option> <option value='https://www.markwilson.co.uk/blog/2012/11'> November 2012  (16)</option> <option value='https://www.markwilson.co.uk/blog/2012/10'> October 2012  (18)</option> <option value='https://www.markwilson.co.uk/blog/2012/09'> September 2012  (7)</option> <option value='https://www.markwilson.co.uk/blog/2012/08'> August 2012  (14)</option> <option value='https://www.markwilson.co.uk/blog/2012/07'> July 2012  (9)</option> <option value='https://www.markwilson.co.uk/blog/2012/06'> June 2012  (13)</option> <option value='https://www.markwilson.co.uk/blog/2012/05'> May 2012  (17)</option> <option value='https://www.markwilson.co.uk/blog/2012/04'> April 2012  (12)</option> <option value='https://www.markwilson.co.uk/blog/2012/03'> March 2012  (17)</option> <option value='https://www.markwilson.co.uk/blog/2012/02'> February 2012  (13)</option> <option value='https://www.markwilson.co.uk/blog/2012/01'> January 2012  (9)</option> <option value='https://www.markwilson.co.uk/blog/2011/12'> December 2011  (15)</option> <option value='https://www.markwilson.co.uk/blog/2011/11'> November 2011  (23)</option> <option value='https://www.markwilson.co.uk/blog/2011/10'> October 2011  (10)</option> <option value='https://www.markwilson.co.uk/blog/2011/09'> September 2011  (11)</option> <option value='https://www.markwilson.co.uk/blog/2011/08'> August 2011  (11)</option> <option value='https://www.markwilson.co.uk/blog/2011/07'> July 2011  (17)</option> <option value='https://www.markwilson.co.uk/blog/2011/06'> June 2011  (13)</option> <option value='https://www.markwilson.co.uk/blog/2011/05'> May 2011  (15)</option> <option value='https://www.markwilson.co.uk/blog/2011/04'> April 2011  (14)</option> <option value='https://www.markwilson.co.uk/blog/2011/03'> March 2011  (17)</option> <option value='https://www.markwilson.co.uk/blog/2011/02'> February 2011  (11)</option> <option value='https://www.markwilson.co.uk/blog/2011/01'> January 2011  (7)</option> <option value='https://www.markwilson.co.uk/blog/2010/12'> December 2010  (9)</option> <option value='https://www.markwilson.co.uk/blog/2010/11'> November 2010  (13)</option> <option value='https://www.markwilson.co.uk/blog/2010/10'> October 2010  (11)</option> <option value='https://www.markwilson.co.uk/blog/2010/09'> September 2010  (14)</option> <option value='https://www.markwilson.co.uk/blog/2010/08'> August 2010  (10)</option> <option value='https://www.markwilson.co.uk/blog/2010/07'> July 2010  (2)</option> <option value='https://www.markwilson.co.uk/blog/2010/06'> June 2010  (11)</option> <option value='https://www.markwilson.co.uk/blog/2010/05'> May 2010  (10)</option> <option value='https://www.markwilson.co.uk/blog/2010/04'> April 2010  (10)</option> <option value='https://www.markwilson.co.uk/blog/2010/03'> March 2010  (14)</option> <option value='https://www.markwilson.co.uk/blog/2010/02'> February 2010  (13)</option> <option value='https://www.markwilson.co.uk/blog/2010/01'> January 2010  (8)</option> <option value='https://www.markwilson.co.uk/blog/2009/12'> December 2009  (7)</option> <option value='https://www.markwilson.co.uk/blog/2009/11'> November 2009  (10)</option> <option value='https://www.markwilson.co.uk/blog/2009/10'> October 2009  (19)</option> <option value='https://www.markwilson.co.uk/blog/2009/09'> September 2009  (19)</option> <option value='https://www.markwilson.co.uk/blog/2009/08'> August 2009  (21)</option> <option value='https://www.markwilson.co.uk/blog/2009/07'> July 2009  (25)</option> <option value='https://www.markwilson.co.uk/blog/2009/06'> June 2009  (19)</option> <option value='https://www.markwilson.co.uk/blog/2009/05'> May 2009  (19)</option> <option value='https://www.markwilson.co.uk/blog/2009/04'> April 2009  (26)</option> <option value='https://www.markwilson.co.uk/blog/2009/03'> March 2009  (24)</option> <option value='https://www.markwilson.co.uk/blog/2009/02'> February 2009  (24)</option> <option value='https://www.markwilson.co.uk/blog/2009/01'> January 2009  (26)</option> <option value='https://www.markwilson.co.uk/blog/2008/12'> December 2008  (25)</option> <option value='https://www.markwilson.co.uk/blog/2008/11'> November 2008  (34)</option> <option value='https://www.markwilson.co.uk/blog/2008/10'> October 2008  (36)</option> <option value='https://www.markwilson.co.uk/blog/2008/09'> September 2008  (50)</option> <option value='https://www.markwilson.co.uk/blog/2008/08'> August 2008  (36)</option> <option value='https://www.markwilson.co.uk/blog/2008/07'> July 2008  (38)</option> <option value='https://www.markwilson.co.uk/blog/2008/06'> June 2008  (17)</option> <option value='https://www.markwilson.co.uk/blog/2008/05'> May 2008  (25)</option> <option value='https://www.markwilson.co.uk/blog/2008/04'> April 2008  (22)</option> <option value='https://www.markwilson.co.uk/blog/2008/03'> March 2008  (25)</option> <option value='https://www.markwilson.co.uk/blog/2008/02'> February 2008  (24)</option> <option value='https://www.markwilson.co.uk/blog/2008/01'> January 2008  (14)</option> <option value='https://www.markwilson.co.uk/blog/2007/12'> December 2007  (16)</option> <option value='https://www.markwilson.co.uk/blog/2007/11'> November 2007  (23)</option> <option value='https://www.markwilson.co.uk/blog/2007/10'> October 2007  (22)</option> <option value='https://www.markwilson.co.uk/blog/2007/09'> September 2007  (14)</option> <option value='https://www.markwilson.co.uk/blog/2007/08'> August 2007  (27)</option> <option value='https://www.markwilson.co.uk/blog/2007/07'> July 2007  (44)</option> <option value='https://www.markwilson.co.uk/blog/2007/06'> June 2007  (16)</option> <option value='https://www.markwilson.co.uk/blog/2007/05'> May 2007  (23)</option> <option value='https://www.markwilson.co.uk/blog/2007/04'> April 2007  (17)</option> <option value='https://www.markwilson.co.uk/blog/2007/03'> March 2007  (26)</option> <option value='https://www.markwilson.co.uk/blog/2007/02'> February 2007  (26)</option> <option value='https://www.markwilson.co.uk/blog/2007/01'> January 2007  (11)</option> <option value='https://www.markwilson.co.uk/blog/2006/12'> December 2006  (16)</option> <option value='https://www.markwilson.co.uk/blog/2006/11'> November 2006  (26)</option> <option value='https://www.markwilson.co.uk/blog/2006/10'> October 2006  (12)</option> <option value='https://www.markwilson.co.uk/blog/2006/09'> September 2006  (22)</option> <option value='https://www.markwilson.co.uk/blog/2006/08'> August 2006  (17)</option> <option value='https://www.markwilson.co.uk/blog/2006/07'> July 2006  (26)</option> <option value='https://www.markwilson.co.uk/blog/2006/06'> June 2006  (15)</option> <option value='https://www.markwilson.co.uk/blog/2006/05'> May 2006  (39)</option> <option value='https://www.markwilson.co.uk/blog/2006/04'> April 2006  (13)</option> <option value='https://www.markwilson.co.uk/blog/2006/03'> March 2006  (8)</option> <option value='https://www.markwilson.co.uk/blog/2006/02'> February 2006  (33)</option> <option value='https://www.markwilson.co.uk/blog/2006/01'> January 2006  (42)</option> <option value='https://www.markwilson.co.uk/blog/2005/12'> December 2005  (19)</option> <option value='https://www.markwilson.co.uk/blog/2005/11'> November 2005  (21)</option> <option value='https://www.markwilson.co.uk/blog/2005/10'> October 2005  (38)</option> <option value='https://www.markwilson.co.uk/blog/2005/09'> September 2005  (15)</option> <option value='https://www.markwilson.co.uk/blog/2005/08'> August 2005  (32)</option> <option value='https://www.markwilson.co.uk/blog/2005/07'> July 2005  (31)</option> <option value='https://www.markwilson.co.uk/blog/2005/06'> June 2005  (17)</option> <option value='https://www.markwilson.co.uk/blog/2005/05'> May 2005  (28)</option> <option value='https://www.markwilson.co.uk/blog/2005/04'> April 2005  (8)</option> <option value='https://www.markwilson.co.uk/blog/2005/03'> March 2005  (22)</option> <option value='https://www.markwilson.co.uk/blog/2005/02'> February 2005  (29)</option> <option value='https://www.markwilson.co.uk/blog/2005/01'> January 2005  (8)</option> <option value='https://www.markwilson.co.uk/blog/2004/12'> December 2004  (17)</option> <option value='https://www.markwilson.co.uk/blog/2004/11'> November 2004  (8)</option> <option value='https://www.markwilson.co.uk/blog/2004/10'> October 2004  (25)</option> <option value='https://www.markwilson.co.uk/blog/2004/09'> September 2004  (36)</option> <option value='https://www.markwilson.co.uk/blog/2004/08'> August 2004  (22)</option> <option value='https://www.markwilson.co.uk/blog/2004/07'> July 2004  (8)</option> <option value='https://www.markwilson.co.uk/blog/2004/06'> June 2004  (8)</option> <option value='https://www.markwilson.co.uk/blog/2004/05'> May 2004  (6)</option> <option value='https://www.markwilson.co.uk/blog/2004/04'> April 2004  (3)</option> <option value='https://www.markwilson.co.uk/blog/2004/03'> March 2004  (2)</option> <option value='https://www.markwilson.co.uk/blog/2004/02'> February 2004  (6)</option> <option value='https://www.markwilson.co.uk/blog/2004/01'> January 2004  (2)</option> </select> </aside><aside id="blog_subscription-2" class="widget widget_blog_subscription jetpack_subscription_widget"><h2 class="widget-title">Subscriptions</h2> <form action="#" method="post" accept-charset="utf-8" id="subscribe-blog-blog_subscription-2"> <div id="subscribe-text"><p>Enter your email address to subscribe to this blog and receive notifications of new posts by email (or <a href="http://www.markwilson.co.uk/blog/feed">subscribe by RSS</a>).</p> </div> <p id="subscribe-email"> <label id="jetpack-subscribe-label" class="screen-reader-text" for="subscribe-field-blog_subscription-2"> Email Address </label> <input type="email" name="email" required="required" class="required" value="" id="subscribe-field-blog_subscription-2" placeholder="Email Address"/> </p> <p id="subscribe-submit"> <input type="hidden" name="action" value="subscribe"/> <input type="hidden" name="source" value="https://www.markwilson.co.uk/blog/tag/wordpress/page/2"/> <input type="hidden" name="sub-type" value="widget"/> <input type="hidden" name="redirect_fragment" value="blog_subscription-2"/> <button type="submit" name="jetpack_subscriptions_widget" > Subscribe </button> </p> </form> </aside><aside id="twitter_timeline-3" class="widget widget_twitter_timeline"><h2 class="widget-title">@markwilsonit</h2><a class="twitter-timeline" data-height="400" data-theme="light" data-link-color="#f96e5b" data-border-color="#e8e8e8" data-lang="EN" data-partner="jetpack" href="https://twitter.com/markwilsonit" href="https://twitter.com/markwilsonit">My Tweets</a></aside><aside id="text-12" class="widget widget_text"><h2 class="widget-title">Awards</h2> <div class="textwidget"><ul> <li><img class="alignright" src="https://i1.wp.com/www.markwilson.co.uk/blog/images/mvp-horizontal-small.png?w=125" alt="Microsoft MVP 2008-2010" data-recalc-dims="1" />Microsoft Most Valuable Professional (2008-2010, Virtual Machine)</li> <li>Computer Weekly Blog Awards Winner (2010, Individual IT Professional (Male))</li> <li><img class="alignright" src="https://i0.wp.com/www.markwilson.co.uk/blog/images/mvp-reconnect.png?resize=117%2C38" alt="Microsoft MVP Reconnect" width="117" height="38" data-recalc-dims="1" />Microsoft MVP Reconnect (2016)</li> <li><img class="alignright" src="https://i0.wp.com/www.markwilson.co.uk/blog/images/ukba-finalist-logo.png?resize=125%2C125" alt="UK Blog Awards 2017 Finalist" width="125" height="125" data-recalc-dims="1" />UK Blog Awards Finalist (2017, Digital and Technology (Individual))</li> </ul> </div> </aside> </div><!-- #secondary --> </div><!-- .content-wrapper --> </div><!-- #content --> <div id="tertiary" class="footer-widget-area" role="complementary"> <div class="footer-widget-wrapper clear"> <div class="footer-widget"> <aside id="custom_html-2" class="widget_text widget widget_custom_html"><h2 class="widget-title">Referrals</h2><div class="textwidget custom-html-widget"><p>I've removed the ads from the site but I do use these services and recommend them to others:</p> <p><a href="https://www.giffgaff.com/orders/affiliate/markawilson" target="_blank"><img src="https://i0.wp.com/www.giffgaff.com/styleguide/images/banner/07_468x60.png?resize=468%2C60&ssl=1" width="468" height="60" alt="Get a free giffgaff Sim" data-recalc-dims="1" /></a></p> <!--<p><a href='http://www.plus.net/myreferrals/new.html?intReferrerID=00479014'><img src='https://i0.wp.com/www.plus.net/images/referrals/ref-biz-banner.gif?w=700' alt='Unlimited business broadband from £15.99 a month' border='0' rel='nofollow' data-recalc-dims="1"></a></p>--> <p>I use Hover for domain name registration. <a href="https://hover.com/MRGm6RPW">Get $2 off your next purchase</a>.</p> <p><a href="https://bulb.co.uk/refer/mark3758">Switch to Bulb Energy</a> and we both get some credit!</p> <!--<p><a href="http://rewards.first-utility.com/go.axd?ref=UJ47U7">Switch your gas and electricity supply to First Utility and get a £30 reward</a> (for each of us!)</p> --></div></aside><aside id="nav_menu-4" class="widget widget_nav_menu"><div class="menu-essentials-container"><ul id="menu-essentials" class="menu"><li id="menu-item-5873" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-5873"><a href="https://www.markwilson.co.uk/blog/about-mark-wilson">About Mark Wilson</a> <ul class="sub-menu"> <li id="menu-item-5874" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5874"><a href="https://www.markwilson.co.uk/blog/about-mark-wilson/press">Press and other commissioned work</a></li> </ul> </li> <li id="menu-item-5875" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5875"><a href="https://www.markwilson.co.uk/blog/about">About this site</a></li> <li id="menu-item-5876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5876"><a href="https://www.markwilson.co.uk/blog/about/legal">Legal notice</a></li> <li id="menu-item-5877" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5877"><a href="https://www.markwilson.co.uk/blog/about/linking">Linking to this site</a></li> <li id="menu-item-5878" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5878"><a href="https://www.markwilson.co.uk/blog/about/privacy">Privacy policy and data protection notice</a></li> <li id="menu-item-5879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5879"><a href="https://www.markwilson.co.uk/blog/about/rules">Rules for comments</a></li> <li id="menu-item-5880" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5880"><a href="https://www.markwilson.co.uk/blog/about/disclosure">Disclosure Policy</a></li> <li id="menu-item-5881" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5881"><a href="https://www.markwilson.co.uk/blog/contact">Contact</a></li> <li id="menu-item-5882" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5882"><a href="https://www.markwilson.co.uk/blog/contact/guest-contributors">Guest contributors</a></li> </ul></div></aside><aside id="execphp-4" class="widget widget_execphp"><h2 class="widget-title">Copyright Notice</h2> <div class="execphpwidget">The content at this website is © Mark Wilson 2004-2019, All Rights Reserved.</div> </aside> </div><!-- .footer-widget --> <div class="footer-widget"> <aside id="recent-posts-4" class="widget widget_recent_entries"> <h2 class="widget-title">Recent Posts</h2> <ul> <li> <a href="https://www.markwilson.co.uk/blog/2019/03/microsoft-ignite-the-tour-london-recap.htm">Microsoft Ignite | The Tour: London Recap</a> </li> <li> <a href="https://www.markwilson.co.uk/blog/2019/02/strava-art.htm">Strava Art</a> </li> <li> <a href="https://www.markwilson.co.uk/blog/2019/01/working-flexibly.htm">Working Flexibly…</a> </li> <li> <a href="https://www.markwilson.co.uk/blog/2018/12/caching-onedrive-for-business-content-when-files-on-demand-is-enabled.htm">Caching OneDrive for Business content when Files On-Demand is enabled</a> </li> <li> <a href="https://www.markwilson.co.uk/blog/2018/11/multiple-radius-servers-for-aruba-wi-fi.htm">Defining multiple RADIUS servers for Aruba Wi-Fi</a> </li> </ul> </aside> </div><!-- .footer-widget --> <div class="footer-widget"> <aside id="recent-comments-5" class="widget widget_recent_comments"><h2 class="widget-title">Recent Comments</h2><ul id="recentcomments"><li class="recentcomments"><span class="comment-author-link"><a href='https://www.thomasmaurer.ch' rel='external ' class='url'>Thomas Maurer</a></span> on <a href="https://www.markwilson.co.uk/blog/2019/03/microsoft-ignite-the-tour-london-recap.htm#comment-383980">Microsoft Ignite | The Tour: London Recap</a></li><li class="recentcomments"><span class="comment-author-link">g2-2b73cc07b91ab7a654f0495ad6b3a49a</span> on <a href="https://www.markwilson.co.uk/blog/2019/02/strava-art.htm#comment-383979">Strava Art</a></li><li class="recentcomments"><span class="comment-author-link"><a href='http://www.markwilson.co.uk/' rel='external ' class='url'>Mark Wilson</a></span> on <a href="https://www.markwilson.co.uk/blog/2015/07/complete-hudl-wipe-with-reflash-to-revert-to-factory-settings.htm#comment-383978">Complete Hudl wipe (with reflash) to revert to factory settings</a></li><li class="recentcomments"><span class="comment-author-link"><a href='https://andydavies.me' rel='external ' class='url'>andydavies</a></span> on <a href="https://www.markwilson.co.uk/blog/2014/03/removing-tesco-customisations-from-my-hudl.htm#comment-383976">Removing Tesco customisations from my Hudl</a></li><li class="recentcomments"><span class="comment-author-link">Peter Capon</span> on <a href="https://www.markwilson.co.uk/blog/2015/07/complete-hudl-wipe-with-reflash-to-revert-to-factory-settings.htm#comment-383972">Complete Hudl wipe (with reflash) to revert to factory settings</a></li></ul></aside> </div><!-- .footer-widget --> </div><!-- .footer-widget-wrapper --> </div><!-- #tertiary --> <footer id="colophon" class="site-footer" role="contentinfo"> <nav class="footer-navigation" role="navigation"> <div class="menu-social-networks-container"><ul id="menu-social-networks" class="clear"><li id="menu-item-5589" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5589"><a href="https://twitter.com/markwilsonit">Twitter</a></li> <li id="menu-item-5590" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5590"><a href="https://uk.linkedin.com/in/markawilson">LinkedIn</a></li> <li id="menu-item-5593" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5593"><a href="https://www.flickr.com/photos/mark-wilson">Flickr</a></li> <li id="menu-item-5592" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-5592"><a href="http://www.slideshare.net/markwilson">Slideshare</a></li> </ul></div> </nav><!-- .footer-navigation --> <div class="site-info"> <a href="http://wordpress.org/">Proudly powered by WordPress</a> <span class="sep"> | </span> Theme: Goran by <a href="http://wordpress.com/themes/goran/" rel="designer">WordPress.com</a>. </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <div style="display:none"> </div> <script type="text/javascript"> window.WPCOM_sharing_counts = {"https:\/\/www.markwilson.co.uk\/blog\/2011\/11\/handy-wordpress-url-re-write.htm":3259,"https:\/\/www.markwilson.co.uk\/blog\/2011\/11\/adding-extra-social-sharing-services-to-wordpress-with-jetpack-sharedaddy.htm":2627,"https:\/\/www.markwilson.co.uk\/blog\/2011\/10\/rebuilding-my-site-please-excuse-the-appearance.htm":3003,"https:\/\/www.markwilson.co.uk\/blog\/2011\/07\/failing-wordpress-updates-fixed-by-enabling-fastcgi.htm":2843,"https:\/\/www.markwilson.co.uk\/blog\/2010\/11\/wordpress-theme-update-prevents-access-to-administrative-pages.htm":2186,"https:\/\/www.markwilson.co.uk\/blog\/2010\/09\/rebuilding-wordpress.htm":2043,"https:\/\/www.markwilson.co.uk\/blog\/2010\/09\/adding-a-facebook-share-or-like-button-to-a-self-hosted-wordpress-blog.htm":2024,"https:\/\/www.markwilson.co.uk\/blog\/2010\/08\/more-on-implementing-twitters-tweet-button.htm":1979,"https:\/\/www.markwilson.co.uk\/blog\/2010\/08\/adding-a-tweet-button-to-a-self-hosted-wordpress-blog.htm":1972,"https:\/\/www.markwilson.co.uk\/blog\/2010\/05\/enabling-website-compression-to-reduce-bandwidth-use.htm":1810}; </script> <div id="sharing_email" style="display: none;"> <form action="/blog/tag/wordpress/page/2" method="post"> <label for="target_email">Send to Email Address</label> <input type="email" name="target_email" id="target_email" value="" /> <label for="source_name">Your Name</label> <input type="text" name="source_name" id="source_name" value="" /> <label for="source_email">Your Email Address</label> <input type="email" name="source_email" id="source_email" value="" /> <input type="text" id="jetpack-source_f_name" name="source_f_name" class="input" value="" size="25" autocomplete="off" title="This field is for validation and should not be changed" /> <img style="float: right; display: none" class="loading" src="https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/modules/sharedaddy/images/loading.gif" alt="loading" width="16" height="16" /> <input type="submit" value="Send Email" class="sharing_send" /> <a rel="nofollow" href="#cancel" class="sharing_cancel" role="button">Cancel</a> <div class="errors errors-1" style="display: none;"> Post was not sent - check your email addresses! </div> <div class="errors errors-2" style="display: none;"> Email check failed, please try again </div> <div class="errors errors-3" style="display: none;"> Sorry, your blog cannot share posts by email. </div> </form> </div> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/photon/photon.min.js?ver=20130122'></script> <script type='text/javascript' src='https://s0.wp.com/wp-content/js/devicepx-jetpack.js?ver=201917'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jquery-archive-list-widget/assets/js/jal.js?ver=4.0.1'></script> <script type='text/javascript' src='https://secure.gravatar.com/js/gprofiles.js?ver=2019Apraa'></script> <script type='text/javascript'> /* <![CDATA[ */ var WPGroHo = {"my_hash":""}; /* ]]> */ </script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/modules/wpgroho.js?ver=5.1.1'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/themes/edin/js/skip-link-focus-fix.js?ver=20130115'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/widgets/eu-cookie-law/eu-cookie-law.min.js?ver=20180522'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/twitter-timeline.min.js?ver=4.0.0'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/themes/goran/js/navigation.js?ver=20140807'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/themes/goran/js/goran.js?ver=20140808'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-includes/js/wp-embed.min.js?ver=5.1.1'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/postmessage.min.js?ver=7.2.1'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/jquery.jetpack-resize.min.js?ver=7.2.1'></script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/likes/queuehandler.min.js?ver=7.2.1'></script> <script type='text/javascript'> /* <![CDATA[ */ var sharing_js_options = {"lang":"en","counts":"1","is_stats_active":"1"}; /* ]]> */ </script> <script type='text/javascript' src='https://www.markwilson.co.uk/blog/wp-content/plugins/jetpack/_inc/build/sharedaddy/sharing.min.js?ver=7.2.1'></script> <script type='text/javascript'> var windowOpen; jQuery( document.body ).on( 'click', 'a.share-twitter', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcomtwitter', 'menubar=1,resizable=1,width=600,height=350' ); return false; }); var windowOpen; jQuery( document.body ).on( 'click', 'a.share-facebook', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcomfacebook', 'menubar=1,resizable=1,width=600,height=400' ); return false; }); var windowOpen; jQuery( document.body ).on( 'click', 'a.share-linkedin', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcomlinkedin', 'menubar=1,resizable=1,width=580,height=450' ); return false; }); var windowOpen; jQuery( document.body ).on( 'click', 'a.share-pocket', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcompocket', 'menubar=1,resizable=1,width=450,height=450' ); return false; }); var windowOpen; jQuery( document.body ).on( 'click', 'a.share-tumblr', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcomtumblr', 'menubar=1,resizable=1,width=450,height=450' ); return false; }); var windowOpen; jQuery( document.body ).on( 'click', 'a.share-skype', function() { // If there's another sharing window open, close it. if ( 'undefined' !== typeof windowOpen ) { windowOpen.close(); } windowOpen = window.open( jQuery( this ).attr( 'href' ), 'wpcomskype', 'menubar=1,resizable=1,width=305,height=665' ); return false; }); </script> <iframe src='https://widgets.wp.com/likes/master.html?ver=201917#ver=201917&lang=en-gb' scrolling='no' id='likes-master' name='likes-master' style='display:none;'></iframe> <div id='likes-other-gravatars'><div class="likes-text"><span>%d</span> bloggers like this:</div><ul class="wpl-avatars sd-like-gravatars"></ul></div> <script type='text/javascript' src='https://stats.wp.com/e-201917.js' async='async' defer='defer'></script> <script type='text/javascript'> _stq = window._stq || []; _stq.push([ 'view', {v:'ext',j:'1:7.2.1',blog:'29247765',post:'0',tz:'1',srv:'www.markwilson.co.uk'} ]); _stq.push([ 'clickTrackerInit', '29247765', '0' ]); </script> </body> </html>