I’ve wanted to make my blog posts more visual for a while but selecting good stock images takes time. Creating them takes even more time!
Anyway, I decided to include an image from Pixabay (with credit) in yesterday’s post as well as in the one that I’ve scheduled for after my return to work in January.
I could quickly fill up my web space with images and I didn’t really want to expand my WordPress database with images either (they are currently hosted in a folder structure) but there is an option in WordPress to include media stored in Google Photos.
Unfortunately, my attempts to authorise access were met with a message about an “invalid/missing request nonce” (whatever that is). I tried another computer, in case the problem was related to cookies, or to restrictions on my work PC, but that was no help.
Then I tried another route…
Logging into wordpress.com (even though my blog is self-hosted with wordpress.org) and managing the marketing connections gave me an alternative interface to authorise WordPress with Google Photos. That then jumped into life:
After this, I could easily insert images from Google Photos into my blog posts.
I’ve also stopped running ads on this site. Not really anything to do with GDPR but Akismet wanted to charge me $5 a month for spam protection on a “commercial site”. Since Google Panda (an algorithmic change a few years ago), I only make about that much each month on the ads (and hosting costs me another £8 or so)… so I binned them off. So this site is now exclusively funded from my own pocket. Except that I may need to put them back on for a couple of weeks to get the £1.86 that will tip me over the trigger point for payment of the £58.14 I currently have stored up with Google Adsense…
Last week, I spent some time with the risual Marketing team recording a short interview on “my social media journey”. The idea was that I have an established blog and I’m prolific on Twitter – what could colleagues pick up from my experience that might help them?
Then the team decided to put it out on YouTube! You can watch the video below but I apologise for the constant glancing at my Surface screen – I only had 20 minutes to prepare and we shot it all in one take!
For those without time to watch the video – these are the notes I prepared in advance for Jordan’s questions:
risual: First off, can you talk about what influenced/inspired you to start using social media/your blog?
Mark: I started blogging in about 2004. We didn’t even use the term “social media” then around about then having a “weblog” had started to become popular. I just wanted somewhere to store my notes and thought they might be useful to others too. 13 years later and there are around 2500 posts on there!
I’m pretty bad at remembering things – even today it surprises me when I search for an answer and my own site comes up in search results!
Twitter was a bit different. I really didn’t “get it” at first, then it clicked one day when I was watching a keynote video and saw the moderated tweets on the hashtag alongside. I could really see the value. I started tweeting soon afterwards (at a Microsoft event) and over time Twitter has become my main social media output.
risual: In terms of starting off, did you have a goal? How did you build up your follower count?
Mark: I didn’t really have a goal, but the site sort of took off – as I wrote more, more people read it. Then I put some ads on the pages and it started to make money. Then Google changed their algorithm and I started to lose money ;-). I’m not in it for the money though.
Actually, there was a time (around 2005) when I was double-blogging on my own site and my employer’s site – myself and Jamie Thomson [@jamiet] (who also went on to be an MVP) had a bit of an internal battle at as the company’s most prolific bloggers – me for infrastructure and him for data!
As for followers, I’m not too worried about the number of followers – more in the quality of those followers.
If you create good content the followers will come naturally.
risual: How much time do you spend updating your blog or using social media daily?
Mark: Not enough and too much at the same time! I would like to have more time to write blog posts but you do have to be in the right frame of mind. I have loads of part-written posts – and even set up a Kanban board in Office 365 Planner a few nights ago to try and sort out my blog post planning!
Twitter is a lot easier – you can tweet on the train, in gaps between meetings, etc. But it’s good to tweet at times when people are around (UK and US business hours) – all too often I find myself catching up on Twitter at bedtime when I should be sleeping. It’s not healthy!
risual: Do you think it’s helped you engage better with other tech professionals with the ability to keep up to date with what topics are “hot”?
Mark: Absolutely. My personal brand has been greatly enhanced with blogging and tweeting. It’s probably how I got my MVP Award and, even though I’m not an MVP anymore I’m still recognised by Microsoft as what their marketing folks call an “influencer”.
risual: What do you get out of it all personally? You’ve obviously got a very busy job and have no obligation to do it, but do, why?
Mark: Narcissism! No, not really. I think personal branding is important in our industry. It’s amazing how often I meet people in the real world that I know via social media. In fact, I once attended an interview where the interviewer told me he read my blog – that was a bit of a curved ball!
risual: It may seem like an obvious question, but what’s your own advice for those starting out on Twitter hoping to build a following?
Mark: Not obvious at all!
Just dive in there and start RTing things you think are relevant.
Tweet links to your own blog posts.
The more you tweet the more followers you will get. It’s just the way it is. Having said that, quality is more important than quantity.
Engage, reply – don’t just broadcast.
Don’t just tweet things to advertise your company! People don’t want to be marketed to (at least not in an obvious way). I sometimes tweet risual posts that I’ve been involved in – or if it’s something that could really make a difference to people – like what we’re doing in Education. But I also mix it with lots of tweets from other people (not just Microsoft!) and about 10% personal stuff. People follow people, not brands!
I have about 43,000 tweets at the moment. Over an 8 year period that’s not many a day (<15 on average) although I have to admit a big chunk of my tweeting was when I was working in a role where it was actually a part of my job!
risual: How do you keep up to date with the latest technology news in order to talk about them when they’re still hot out of the oven?
Mark: I listen to podcasts (like the Microsoft Cloud Show and WB-40) and Twitter is my main news source. I’d like to read more blogs but don’t have the time.
Twitter is a bit of an echo chamber at times but I’ve created some lists of people who tweet interesting content (I have a CTO watchlist, a Microsoft watchlist and a risual list) and I try to keep up to date with them. I don’t actually read all of the tweets for all the people I follow – mostly just the ones on these lists!
I’ve offered email subscriptions on this blog for years now, initially using FeedBlitz, then FeedBurner and also via WordPress.com. Ironicially, given that FeedBurner is now owned by Google, it’s FeedBlitz that I’m least happy with – primarily because of the poor quality adverts that it wraps around my content.
For this reason, I’m going to be switching off the FeedBlitz feed over the next few days. I’ll contact every existing subscriber on the FeedBlitz feed, before switching them over to the WordPress-powered subscription, but thought it appropriate to post an update on the site as well.
It’s great to know that people still read the content I create – you can always subscribe to the RSS feed or for email updates via WordPress.com or using the Subscriptions section on the right hand side of the blog homepage.
Even when I was helping my then-CTO to raise his social media presence, my employer’s PR agency was encouraging the use of comments on blogs to generate backlinks and now the tide is turning as Google cracks down on low-quality backlinks.
As a result, I’m getting an increasing number of emails from digital agencies including phrases like the one below:
“I’m writing to request the removal of a link to my clients’ [sic] site which is located at the following page:”
They’re (or their clients are) wasting my time, so I reserve the right to charge for removing such links.
The irony is that, over the last few years, Google’s index changes have penalised original content creators like myself in favour of corporate websites and this blog has just a fraction of the traffic it once enjoyed (oh, those were the days)…
Over the last few weeks, I’ve dropped a few hints online about a change in my job at Fujitsu. Some, eagle-eyed LinkedIn connections saw me update my profile a couple of weeks ago to add a new position – as Fujitsu’s Head of Practice and Lead Architect for Messaging in the UK and Ireland – and today is my first day (although I’ve been picking up parts of the role for a few weeks now).
After almost three years in a strategy role, supporting two Chief Technology Officers with very different areas of focus, it’s time for a new challenge. My new role is a mixture of line management and practicing consultant so I’m actually returning to my technical roots whilst gaining additional experience of directly leading a team and being responsible for growing part of our business (including some challenging financial targets). Added to that, as messaging moves into our Business and Application Services service line, this is an opportunity for me to work in an applications business whilst building on many years of infrastructure experience. There’s also some pretty exciting stuff going on with Microsoft (I’m not sure that’s announced publicly, so I won’t say anything more here) – but it’s a great time for me to be making this move.
Messaging is not entirely new for me – from the mid-1990s through to the mid-2000s, I worked on a number of NT and Microsoft Mail/Exchange migrations/implementations and I was one of the consultants working on ICL’s partner stand at the Microsoft Exchange 4.0 UK launch roadshow. In addition, one of my technical career highlights was the work I did at Polo Ralph Lauren, to design and project-manage a migration from Novell Netware to Microsoft Windows Server, from Novell GroupWise to Microsoft Exchange Server and to roll out a standard desktop build across Europe, in multiple languages, with just two Windows XP images (one uniprocessor and one ACPI). The success of that project was down to the professionalism and capabilities of the team around me – and it will be just the same in this new role.
As for this blog, well, I’ve been pretty busy for the last few weeks, as I’ve juggled two jobs – and I expect I’ll be just as busy over the coming weeks and months – but I’m still tweeting and I’ll still knock out the odd blog post too. There might be some more Microsoft Exchange and Lync content but I expect that the usual mix of photography, social media and observations on the state of tech will persist. This blog has been here for 9 years now, the content just shifts slightly as I do different things in my life and it seems that some people still find it interesting enough to read (or at least to subscribe)!
My hosting provider has told me that they are moving this website to a new server over the weekend.
All being well, the move will be transparent but I will also need to point the domain names at new DNS servers, so, if I disappear offline for a while on Sunday night, please bear with me and I should be back again once the interwebs have updated…
A couple of weeks ago, I wrote about a WordPress plugin called Redirection. I mentioned that I’ve been using this to highlight HTTP 404 errors on my site but I’ve also been using the crawl errors logged by Google’s Webmaster Tools to track down a number of issues resulting from the various changes that have been made to the site over the years, then creating HTTP 301 redirects to patch them.
Redirections as a result of other people’s mistakes
One thing that struck me was how other people’s content can affect my site – for example, many forums seem to abbreviate long URLs with … in the middle. That’s fine until the HTML anchor gets lost (e.g. in a cut/paste operation) and so I was seeing 404 errors from incomplete URLs like http://www.markwilson.co.uk/blog/2008/12/netboo…-file-systems.htm. These were relatively easy for me to track down and create a redirect to the correct target.
Unfortunately, there is still one inbound link that includes an errant apostrophe that I’ve not been able to trap – even using %27 in the redirect rule seems to fail. I guess that one will just have to remain.
Locating Post IDs
Some 404s needed a little more detective work – for example http://www.markwilson.co.uk/blog/2012/05/3899.htm is a post where I forgot to add a title before publishing and, even though I updated the WordPress slug afterwards, someone is linking to the old URL. I used PHPMyAdmin to search for post ID 3899 in the wp_content table of the database, from which I could identify the post and create a redirect.
Pattern matching with regular expressions
Many of the 404s were being generated based on old URL structures from either the Blogger version of this site (which I left behind several years ago) or changes in the WordPress configuration (mostly after last year’s website crash). For these I needed to do some pattern matching, which meant an encounter with regular expressions, which I find immensely powerful, fascinating and intimidating all at once.
Many of my tags were invalid as, at some point I obviously changed the tags from /blog/tags/tagname to /blog/tag/tagname but I also had a hierarchy of tags in the past (possibly when I was still mis-using categories) which was creating some invalid URLs (like http://www.markwilson.co.uk/blog/tag/apple/ipad). The hierachy had to be dealt with on a case by case basis, but the RegEx for dealing with the change in URL for the tags was fairly simple:
Source RegEx: (\/tags\/)
Target RegEx: (\/tag\/)
Using the Rubular Ruby RegEx Editor (thanks to Kristian Brimble for the suggestion – there were other tools suggested but this was one I could actually understand), I was able to test the RegEx on an example URL and, once I was happy with it, that was another redirection created. Similarly, I redirected (\/category\/) to (\/topic\/).
I also created a redirection for legacy .html extensions, rewriting them to .htm:
Source RegEx: (.*).html
Target RegEx: $1.htm
Unfortunately, my use of a “greedy” wildcard meant this also sustituted html in the middle of a URL (e.g. http://www.markwilson.co.uk/blog/2008/09/creating-html-signatures-in-apple-mail.htm became http://www.markwilson.co.uk/blog/2008/09/creating-.htm-signatures-in-apple-mail.htm) , so I edited the source RegEx to (.*).html$.
More complex regular expressions
The trickiest pattern I needed to match was for archive pages using the old Blogger structure. For this, I needed some help, so I reached out to Twitter:
Any RegEx gurus out there who fancy a challenge, please can you help me convert /blog/archive/yyyy_mm_01_archive.htm to /blog/yyyy/mm ?
Dan’s example helped me to understand a bit more about how match groups are used, taking the second and fourth matches here to use in the target, but I later found a tutorial that might help (most RegEx tuturials are quite difficult to follow but this one is very well illustrated).
A never-ending task
It’s an ongoing task – the presensce of failing inbound links due to incorrect URLs means that I’ll have to keep an eye on Google’s crawl errors but, over time, I should see the number of 404s drop on my site. That in itself won’t improve my search placement but it will help to signpost users who would otherwise have been turned away – and every little bit of traffic helps.
Last year, a combination of a loss of service from my hosting provider and my appalling backups meant that this website was temporarily wiped off the face of the Internet. It’s never recovered – at least not in terms of revenue – and it taught me an important lesson about backups (it’s all too easy to forget the hours of effort that go into a “hobby” site like this one…).
Whilst the blog posts were restored, and I took the opportunity to apply a new theme to the site (it’s probably due another one now…) but some of the images had got AWOL along the way. I’ve been ignoring that (mostly) but decided I really should do something about it when an old post was picked up by a journalist today and I realised it had a missing graphic.
I remembered a WordPress plugin that I used on another site recently, for managing redirects when access to the .htaccess file is not available. The plug-in, written by John Godley, is called Redirection, and one of its modules will report on HTTP 404 errors, like the ones that my missing graphics will create. I know there are other tools that can do this for me (Google’s Webmaster Tools, for example, or trawling through the web logs) but it’s an easy way to see when a 404 has been returned in order to investigate accordingly. So far this afternoon, I’ve tracked down and replaced around 8 missing graphics and one broken permalink using the logs from Redirection. I’m now scanning through the rest of John’s plugins to see what else I’m missing and will certainly be donating later…
Long-time readers of my blog will know that I used to manage the Fujitsu UK and Ireland CTO Blog (which we’ve recently closed, but have left the content in place for posterity) and I’m still getting the comment notifications (mostly spam). Many of the posts have HTTP 301 redirects to either mine or David Smith‘s blogs (I found a great WordPress plugin for that – Redirection) but, for those that remain, I wanted to turn off comments. Doing this individually for each post seemed unnecessarily clunky but there is, apparently, no way to do this from the WordPress user interface (with database access it would have been straightforward but I don’t have that level of access).
There is a plug-in that globally disables all comments – named, rather aptly, Disable Comments – except that the blog is part of a multi-site (network) install and I’m not sure what the broader impact would be…