URL Shorteners and SEO/PageRank

September 15, 2009 by divydovy

Whilst browsing around on Twitter last night when I should really have been browsing the inside of my eyelids, I saw an interesting question from @euan:

Wondering if shortened url’s count towards Google page rank ….

http://twitter.com/euan/status/3982135076

Now my immediate thoughts were (1) no of course they can’t, because otherwise nearly every website in the world would be getting an SEO bump and that doesn’t make any sense and (2) If (for example) bit.ly has a PageRank of say 7, then that PageRank would be split between millions of URLs, so it wouldn’t actually be worth anything anyway.

My response:

@euan RE: shortened URLs/PageRank. Negligible effect if any. Their PR juice is spread amongst ALL outgoing links. Like PR/1,000,000

http://twitter.com/divydovy/status/3989799032

One day I WILL learn to think things through thoroughly before twittering. Then I thought some more and realised that if shortened URL links didn’t confer any SEO value, the search engines would be missing a lot of the power of social media. Now, I know that search engines strive to keep their algorithms as simple as possible – i.e. they include as few exceptions and special rules as possible. So, how could they judge the value of an incoming shortened URL?

Duh – by looking at the page it comes from. Somehow, the SEO value of the link must ‘bypass’ the shortened URL to be conferred to the target URL. How does this usually happen with websites? A webmaster’s best friend: the 301 redirect. In fact, that’s exactly how all the URL shorteners I’ve tested so far work (bit.ly, is.gd and tinyurl – not the most comprehensive testing I know).

Try it yourself – put a shortened URL into: http://www.webconfs.com/redirect-check.php – I bet it comes back as a search engine friendly redirect.

So, in answer to @euan’s original question – shortened URLs DO count towards SEO/Google PageRank, but they amount to which they do so depends entirely on the page(s) where the shortened URL is found. It’s the only way it could work really.

A final aside: when I’ve previously used 301 redirects to confer PageRank from one domain to another, it’s taken anything up to 3 months for that PageRank to have visibly transferred. I’m guessing that this is an artefact of the fact that the big G only updates PageRanks every few months, not continually. I bet that the SEO value is conferred almost immediately, both in domain redirect 301s and shortened URL 301s.

Was this all totally obvious? Am I wrong? Let me know in the comments.

Seamless CSS updates

July 29, 2009 by divydovy

If you run a website, sometimes you need to make changes to the (X)HTML/CSS to fix or improve your website’s styling.

Sometimes these changes can be pretty drastic in terms of layout changes. Browsers commonly cache CSS files. If a visitor’s browser has cached the old version of your CSS file, they may see a very ugly version of your site, applying the old stylesheet to the new markup.

There’s a cunning way to make sure that visitors always see your site using the latest CSS (I guess this would work with any other cached files e.g. JavaScript too). I ran across it here: http://www.alistercameron.com/2008/09/12/wordpress-plugin-css-cache-buster/ whilst in the world of wordpress.

The principle is simple. just use a query string on your CSS call – e.g.

<link href="/css/your.css?date" type="text/css" rel="stylesheet" />

Every time you update the CSS file, simply change the query string to that date. This forces any browser to download the new file, which it will cache until the next time you update your query string, or until something else makes the cache expire.

Cool trick!

ASP.NET, RSS feeds, Validation, Misconfigured servers and Content-Length

May 6, 2009 by divydovy

A very frustrating problem! We’ve had an RSS feed available at www.lowcarboneconomy.com/GetRSS.xml for ages to syndicate our news feed. I monitor it daily using Netvibes to ensure that it’s working. The other day, I created a LinkedIn and FriendFeed page for LowCarbonEconomy.com and neither would accept the RSS feed.

So, W3 validator to the rescue again. Or not. I got a ‘misconfigured server’ error. I couldn’t find any info on this via Google, so tried a different validator. This time, I got a couple of warnings, but a valid feed result :)

So, to cut a long story short, I narrowed it down to some kind of HTTP Header or compression problem and asked Andre to check it out. I’ll leave him to pick up the story: http://drayblog.gotdns.com/

(SPOILER: In case his blog goes offline, it’s all about IIS compression and setting a Content-Length in the header to avoid chunked compression by turning the content from dynamic into static)

Windows Live Mesh – Website Folder Sync Workaround

February 3, 2009 by divydovy

See this thread: http://social.microsoft.com/Forums/en-US/LiveMesh/thread/de97cae2-1ab6-481c-be9d-311dff79b8f7/?ffpr=0 for more details, but the simple solution is…

Right click the website folder, choose the customize tab, and change the icon back to a normal folder icon. That’s it. Your website will still work as such, but now it will sync too :)

Send Email to Gmail Groups – Why no UK support?

January 23, 2009 by divydovy

I’ve read a couple of posts online about how to send email to contact groups in Gmail. Apparently this is quite possible in Australia and the US (or at least it was at some point). Why can’t we do it in the UK? Don’t you trust us Google?

If somone sends me a funny that I want to send on to my friends, I have to copy the message, go to my contacts, find the group, select to email them, then paste the email/attachments in and send. It would be nice to be able to click ‘forward’, type the group name and go.

Would love to know any quick ways to do this, or any idea from the Gmail team as to when and if this is coming to the UK?

Multiple Accounts for delicious in Firefox 3

January 9, 2009 by divydovy

Despite too much looking, I couldn’t find a Firefox extension or combination of extensions that managed to allow me to post bookmarks to two different delicious accounts without logging in and out of the delicious website.

In the end I’ve gone for my work delicious account on Firefox 3 with the official delicious add-on, and Google Chrome with a bookmarklet for my personal account. Bit of a pain, but a decent workaround.

Why on earth no one has updated Firefox Complete for FF3 I don’t know.

Digsby Failed to Connect to Gmail

December 12, 2008 by divydovy

Just a quick one really. Restarted my computer after some standard Windows Update installs and since I started my computer today my Digsby won’t connect to Gmail.

It had trouble connnecting to twitter too, but got there in the end.

From the Digsby forums it looks like a restart might solve the problem. I’ll post back if it does.

UPDATE

Digsby announcement – it’s gmail’s servers apparently. Looking forward to getting the update.

UPDATE 9th Jan 09

I thought I’d updated this post :S Digsby update came out quickly, worked great – well done Digsby.

Google Sites and HTM/HTML files

December 3, 2008 by divydovy

I recently wrote a couple of UWA widgets that allow users to display photos from a SmugMug feed on their netvibes/iGoogle/Vista sidebar.

I was trying to find somewhere I could host the .htm widget files and was hoping to be able to use Google Sites (because I’m cheap and it’s free).

Frustrated to find that after setting everything up, you can’t upload .htm files to your Google Site :(

Troublesome Opacity in IE7

November 6, 2008 by divydovy

So, you’ve worked out that IE7 isn’t standards-compliant WRT the opacity property in CSS, so you’ve used the ‘filter:alpha’ method – and the opacity’s still not working?

IE7 needs an element to be positioned before opacity will work. If you don’t want to use positioning, apply zoom:1; to the element in CSS (both standard and :hover) and that should get it working…

SQL Server: using Parameters and Local Variables

August 29, 2008 by divydovy

I was trying to get a stored procedure in SQL Server to run using a mixture of parameters passed from an ASP.NET page and a local variable which I wanted to declare in order to modify one of the parameters received.

I couldn’t figure out where to put the local variable in relation to the parameters, until I found this page:

http://www.sqlteam.com/article/introduction-to-dynamic-sql-part-2

The parameters go before the ‘AS’ statement, the local variable after, but before the ‘BEGIN’ statement if you use it.