posted on: 9th November 2008 by
danny in
Search Engine Optimisation
In my line of work, there has been a widespread belief that Google is unable to crawl “unoptimised” URLs and that ideally all URLs should be in a directory structure. This is totally untrue as mentioned by Google’s blog post.
In fact, Google actually says that they might have problems crawling and ranking your dynamic URL if you try to change it to look like a static URL.
However, this post will give you my opinion on why URL optimisation should be considered and to what extent should we optimise it to.
Continue Reading
posted on: 5th August 2008 by
danny in
News
If you haven’t noticed the new feature of Google Maps, Street View, you should definitely check it out. It is absolutely stunning how they’ve managed to pretty much capture the entire image of Australia on a street level.

You can turn on the Street View feature on the top right navigations by clicking on Street View (d’oh). The blue lines that you see are the regions that Google has mapped out on a street level. Pretty impressive ay?

The Street View feature allows you to rotate 360 degrees, inspect all angles around the point on the map you selected. To move to a different spot, simply click and drag the yellow man on the map to a region that has the blue outlines.
It also has a limited zoom feature which will result in a pixelated view, but I guess that is a good thing for privacy reasons.

You can also see that a general concensus showed on the ninemsn homepage shows that majority of Australians do not see the mapping of the streets as an invasion of privacy.
I’m quite impressed at the quality of the images and the accuracy of the rotational views. Google has definitely stepped up in its mapping technology and only one can wonder what will Google’s inter-galatic mapping be like.
posted on: 26th July 2008 by
danny in
Web Development
As promised in my previous post (301 Meta Refresh Redirects: How Google and Yahoo Sees It), I will show you a script I wrote that will handle 301 redirects from Blogger to Wordpress using the meta refresh tag and javascript.
I have tested it on my old blogger (http://dannynsl.blogspot.com) and it seems to have worked fine so far.
There are a few steps you will first need to do.
- Install Wordpress on your domain. There should be installation tutorials on the website. I haven’t had time yet to do my own installation tutorial.
- Import your Blogger posts into Wordpress. In your dashboard, go to Manage and then Import.

- Change your permalink structure. In your dashboard, go to Settings and then Permalinks. The Day and name or Month and name settings should work. However, for my script I think Month and name should be safer.

- Use my javascript code just after the start of the <head> tag in your Blogger layout template. Note: Please make sure you do a backup before making changes. The variables that you need to change are old_root_domain and new_root_domain. This script handles redirection of individual posts, monthly archives and yearly archives. Anything else it will redirect to your homepage.
<script type='text/javascript'>
/*
* Written by Danny Ng (http://www.dannytalk.com/2008/07/25/how-to-301-redirect-from-blogger-to-wordpress/)
* Free to use and distribute but must keep this comment in place.
*/
var post_regex = /^http:\/\/(www.)?.*\.blogspot\.com\/\d{4}\/\d{2}\//;
var month_archive_regex = /http:\/\/(www.)?.*\.blogspot\.com\/\d{4}_\d{2}_\d{2}_archive.html/;
var year_archive_regex = /updated-min=\d{4}/;
var label_regex = /search\/label\/.+/;
var old_root_domain = 'http://dannynsl.blogspot.com', new_root_domain = 'http://www.dannytalk.com', tag_url = '/tag/', redirect_suffix;
if (post_regex.test(location.href))
redirect_suffix = (location.href.search(/www/i) == 7) ? location.href.substring(old_root_domain.length+4, location.href.length-5) : location.href.substring(old_root_domain.length, location.href.length-5); // -5 to strip .html
else if (month_archive_regex.test(location.href))
{
redirect_suffix = (location.href.search(/www/i) == 7) ? location.href.substring(old_root_domain.length+4, location.href.length-16) : location.href.substring(old_root_domain.length, location.href.length-16); // -16 to strip _XX_archive.html
redirect_suffix = redirect_suffix.replace(/_/g, '/');
}
else if (year_archive_regex.test(location.href))
{
redirect_suffix = year_archive_regex.exec(location.href).toString();
redirect_suffix = redirect_suffix.replace(/updated-min=/, '/');
}
else if (label_regex.test(location.href))
{
redirect_suffix = label_regex.exec(location.href).toString();
redirect_suffix = tag_url + redirect_suffix.split('/')[2];
}
else
redirect_suffix = '';
document.write("<meta content='0;" + new_root_domain + redirect_suffix + "' http-equiv='refresh'/>");
</script>
If you want to do a 302 redirect equivalent, just change the number in the meta content from 0 to 1 or 2.
Hope this works for you and please let me know if there are any bug issues.
[edit date=26/07/08]
I just fixed the code to accommodate blog addresses with ‘www’ subdomains. As for redirects for labels, I’ll try to update the code for it tomorrow if I have time.
[/edit]
[edit date=27/07/08]
I’ve added a new regular expression to handle labels and also another variable tag_url that points to your permalink structure for tags or categories.

This setting can be found under Setting, then Permalinks and just scroll right down to the bottom. You will need to edit the variable tag_url to what you’ve sent in the permalinks structure. Make sure you add the ‘/’ at the end of it.
I think by default, Wordpress automatically imports posts from Blogger and sets the labels to categories instead of tags. In this case, just set the variable to the category slug name unless you can be bothered to go through all the posts and set them as tags instead.
[/edit]
Normally the best practice for 301/302 (permanent/temporary) redirects are through your web server. However, you can only do this if you own your own domain. So what happens when you’re using a free webpage service such as Blogger, Wordpress and Typepad, and you want to do 301 redirects to your new website?
If you’re thinking of doing Javascript redirects, this isn’t highly recommended as Google and Yahoo web crawlers won’t be able to follow the redirects, which will affect the destination’s ranking and indexing.
Although not the best, your next best bet is using the meta refresh tag to do your redirections. It seems that Google recognises meta redirects and Googlebot should be able to crawl to the new page, according to Google’s Webmaster Help Center.
Yahoo’s Search Help also seems to recognise meta redirects and the crawler will be able to follow the redirects.
It appears that a meta refresh delay of 0 or 1 second will be considered as a 301 redirect and anything longer is considered a 302.
I will try to post a javascript solution that will be able to handle redirects from your old website to appropriate pages of your new website this weekend.
posted on: 23rd July 2008 by
danny in
Web Development
Have you ever deleted your Google Apps account linked to your domain? Well I did last night and it was disasterous.
The reason I deleted my Google Apps account was because I wanted to change the domain admin email of the account but for some reason I couldn’t.
So I thought I’d delete it and start fresh again immediately. However, when I tried signing up again, I get this error
Server error
Sorry, you’ve reached a login page for a domain that isn’t using Google Apps. Please check the web address and try again.
I was left baffled for many hours trying to figure out how do set it up again as I like using Google’s email, docs and calendar.
I even contacted my web host asking them to reinstate it but instead they got me to click on a feature that lets Google host my website entirely.
This lead to my website being down for half a day to allow the DNS to propogate. Obviously I was extremely pissed about this and asked them to immediately rectify this which they did (thumbs up for customer service).
Lucky for me, this website isn’t an e-commerce website or else I’d be loosing money!
So I spent many hours searching for a solution and for some reason the search results didn’t really give me good answers. I really had to dig around until I decided to visit Google’s help centre (which I should’ve done in the first place!).
There are 4 reasons why you’ll get the above error.
- A Google Apps account doesn’t exist for the domain name you’ve entered
You’ve tried to access the Google Apps control panel without having yet registered for the service. As a result we weren’t able to locate a Google Apps account for your domain. To sign up for a Google Apps account with your domain name please visit www.google.com/a.
- Your Google Apps account was deleted.
If you’ve recently deleted your Google Apps account it will take five days for it to be entierly removed. After five days, please visitwww.google.com/a to sign up for a Google Apps account with your domain name.
- Your Google Apps account was deactivated because we were unable to verify your domain ownership.
If you signed up for Google Apps and didn’t verify domain ownership, you’ll receive an email notification at your secondary email address that indicates the domain will be removed from our records. Once the account is closed, it will take five days to be fully deleted. This will delete all data associated with the existing Google Apps account. After five days, please visit www.google.com/a to sign up for a new Google Apps account with your domain name.
- You’re trying to access the control panel for a domain that’s registered as a domain alias
The domain you’ve supplied is currently configured as a domain alias for another Google Apps account. Please check with other members of your organization who may have already provided this domain name.
So there you have it, it takes 5 days to delete your account entirely. You can read more on it from Google’s Help Centre for Google Apps.
posted on: 9th July 2008 by
danny in
Web Development
For some reason I found it pretty hard to find Google Analytic’s (GA) API on Google itself.
Most GA users usually use the default installation by just copying and pasting the code into their templates to track website statistics.
If you’re interesting it configuring GA to track e-commerce transactions and customising how GA records your traffic and visitors, visit the Google Analytic’s API.
The documentation is quite good and easy to understand (somewhat similar to Java’s API documentation).
posted on: 18th September 2007 by
danny in
Web Development
I woke up and I found this cool way of searching for things on Google’s search engine. You get a list of index directories containing the files of your search string. What that means is that you can literally download anything for free!
In your google search field, type in
intitle:index.of “search string”
So for example if you wanted to search for an e-book for Java, you’d type in
intitle:index.of “java pdf”
Viola! Click away. Hope this helps.
Recent Comments