Wednesday, September 19, 2007

The Google Custom Domain Setup - The DNS Referral

Of all of the instructions in the process of setting up a Google Custom Domain for your Blogger blog, none seems to generate so much confusion as setting up the DNS Referral. The actual procedure is simple enough.

So what's the procedure?

Note: In the examples below, I'm using the "ping" command to verify the state of my domain. In each example, I refer to my fictitious domain, mydomain.com. Please substitute the name of your domain, when appropriate.

  1. Add a "CNAME" record. Point "www.mydomain.com" (or whatever address that you wish the readers to use for your blog) to "ghs.google.com". And leave the "NS" records to be maintained by your DNS provider.
    www.mydomain.com. CNAME ghs.google.com.
    That's what the necessary "CNAME" referral record looks like. You'll have to work with a wizard provided by your DNS host, and you'll have to learn the rules of the wizard, to produce that "CNAME" referral. (** Note 1)
    Make sure that the "www" entry is at the top of the "CNAME" list, and that there are no "A" records, if you want the primary domain (aka domain root) to refer to "ghs.google.com" too.

  2. After you have a correct CNAME in place, test it.


    C:\>ping mydomain.com

    Pinging ghs.l.google.com [66.249.81.121] with 32 bytes of data:

    Reply from 66.249.81.121: bytes=32 time=73ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=71ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=71ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=74ms TTL=247

    Ping statistics for 66.249.81.121:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 71ms, Maximum = 74ms, Average = 72ms

    C:\>ping www.mydomain.com

    Pinging ghs.l.google.com [66.249.81.121] with 32 bytes of data:

    Reply from 66.249.81.121: bytes=32 time=73ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=71ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=71ms TTL=247
    Reply from 66.249.81.121: bytes=32 time=74ms TTL=247

    Ping statistics for 66.249.81.121:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
    Approximate round trip times in milli-seconds:
    Minimum = 71ms, Maximum = 74ms, Average = 72ms
    You may see variants of this, but look for the essential results! ( ** Note 2 )

  3. Once the CNAME has taken effect, and you see the test results as above, go to Settings - Publishing, and publish the blog ("Switch to: • Custom Domain", then "Switch to advanced settings") to
    mydomain.com
    Here you don't add a trailing ".", just enter "mydomain.com" for "Your Domain". Then, select "Redirect www.mydomain.com to mydomain.com.". You may see a variant of this too, another, very well known problem. ( ** Note 3 )

    You may, alternatively, choose to publish to "www.mydomain.com", and select "Redirect mydomain.com to www.mydomain.com.". In some cases, this may be your only choice.

  4. You're done here. Get busy writing, and promoting, the blog under the new URL.



(** Note 1:) Step 1, above, shows the "CNAME" record, that's the end result of your DNS setup. If your DNS Host provides a setup wizard, like GoDaddy Total DNS Control, you'll have to translate those instructions to fit the wizard. You may even have to involve the Support team at your DNS Host. You pay them (generally), so use what you're paying for. Or find another hosting service, that can help you.

(** Note 2:) You may see a variant of the illustration provided in Step 2, above.


C:\>ping mydomain.com

Pinging ghs.l.google.com [64.233.179.121] with 32 bytes of data:

Request timed out.
Request timed out.
Request timed out.
Request timed out.

Ping statistics for 64.233.179.121:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)



This is not a fatal problem here. As long as you see
Pinging ghs.l.google.com [64.233.179.121]
you are in good shape. If you continue with step 3, your readers will eventually see your blog in it's new, non-Blog*Spot URL. An issue that's possibly unique to you, like dropped packets, shouldn't keep a custom domain from working. You will want to work on that problem too, but later.

You may possibly see another, only slightly less disappointing result.


C:\>ping mydomain.com
Ping request could not find host mydomain.com. Please check the name and try again.

C:\>ping www.mydomain.com

Pinging ghs.l.google.com [66.249.81.121] with 32 bytes of data:

Reply from 66.249.81.121: bytes=32 time=74ms TTL=246
Reply from 66.249.81.121: bytes=32 time=71ms TTL=246
Reply from 66.249.81.121: bytes=32 time=73ms TTL=246
Reply from 66.249.81.121: bytes=32 time=75ms TTL=246

Ping statistics for 66.249.81.121:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 71ms, Maximum = 75ms, Average = 73ms


This, too, is another oddity of DNS, and similarly may not be a fatal result.


(** Note 3:) You may see a variant of the desired results in Step 3, above. The well known error "Another blog is already hosted at this address" is not fatal, though some additional work may be required.

So why do we need all of this?

But why a "CNAME" record? And why "ghs.google.com"?
  • The host "ghs.google.com" is a load balancing server array. When the reader's DNS client asks for the address of "ghs.google.com", it gets the address of whatever server is available right now. If you have published your blog to "www.mydomain.com", there will be an entry in "ghs.google.com", for "www.mydomain.com", pointing to your blog.
  • In order for you to refer DNS traffic for "mydomain.com" to "ghs.google.com", rather than to "64.233.179.121" (among many possibilities), you have to use a "CNAME" record. An Address ("A") record will only point to an IP address; to point to a host name you must use a Canonical Name ("CNAME") record.


When a reader of your blog points his browser in your direction, he is referred to "ghs.google.com".The host "ghs.google.com" then provides a specific IP address, pointing to the single server that will be used to serve your blog to this reader.

Another reader of your blog will be accessing it thru a different IP address, using another server. If one reader accesses your blog thru server "D", another reader may access it thru server "F", and a third thru server "G". If server "B" is down, "ghs.google.com" won't offer it for referral. Other readers of other blogs may be using servers "A", "C", and "E" at the same time.

Google provides a load balancing server array, to give your readers the best possible experience. Use the array, not a single server, nor a URL referral. Or prepare for complaints
Gee, your blog performance sucks.
or
Your blog is down - again!


>> Top

14 comments:

Goutam said...

I am using EveryDNS for domain hosting. While adding a CNAME record, we only enter the host name as "www" instead of www.yourdomain.com.

Also when I point "www" to "ghs.google.com." it accepts but when I view the records after adding, I only see"ghs.google.com"

There is no dot after ghs.google.com

So, how to add www.yourdomain.com. CNAME ghs.google.com. ? I am having trouble setting up my custom domain. I hope you are getting it.

Chuck said...

Goutam,

I'll try to look for your thread in Google Blogger Help. That's where we solve problems best.

Goutam said...

Thank You!
Here is my thread in Google Blogger Help!
Custom Domains in Blogger and Google Apps working but not always

gfan said...

I do not get ping reply without www prefix. What could be the problem?

I got when I ping www.domain.com but not domain.com?

Chuck said...

Gfan,

Have you published the blog to "www.domain.com" yet?

gfan said...

Hi Chuck, thanks a lot for your prompt reply. Yes, I have added domain.com to the field provide in the blogger setting>publishing>custom domain with prefix http : // already in placed and have published as well. It's been 12 hours then.... I'm still getting error message as:

"Server Not Found
Error 404"

And also pinging to domain.com without www shows up nothing....

May I point out that the dns host for changing CNAME record doesn't have any field to put extra period (dot) after .com like you suggested for both www.domain.com and ghs.google.com. Should I add one dot after ghs.google.com? I cannot edit domain part though.

Chuck said...

GFan,

Depending upon the wizard that your DNS Host provides, you may not be able to, or have to, add a trailing ".". The trailing "." is most consistently seen in the resulting "CNAME" record, which you see in a DNS Report.

Any chance that you could move this thread to GBH? The Blogger Comment wizard is a pain in the ass to use, for several reasons.

And calling your domain "domain.com" is wasting everybody's time.

Simge said...

Firstly, I'd like to thank you for the post. But it seems like there's a problem going on. My DNS provider is using DirectAdmin, so I added that CNAME record, but when I type http://www.fashinn.net, Error404 appears..

When I type http://fashinn.net, I just see my index page, not the blog page it refers to. (I set the option to "custom domain" from blogger.com)

I'll apreciate your comment.

Chuck said...

Simge,

The Custom Domain 404 is a known problem, fortunately with a known workaround.

Work on the 404 first, then we'll see what to do about the second symptom.

Aaron Stiner, DRB said...

Chuck - okay, first off, the internet is AWESOME and so is your blog! Anyway, ahem, my site is ynpnphoenix.org, hosted by godaddy. I want to direct it to my blogspot (it was formally being directed to wordpress). I have done everything you said, including learning how to ping, and my ping has yet to show that my address is being directed to google. I just updated godaddy today. How long does it usually take? Thanks!

Chuck said...

Aaron,

Here's the DNS setup.

www.ynpnphoenix.org. 3600 IN CNAME ynpnphoenix.org.

That's wrong. You need

www.ynpnphoenix.org. 3600 IN CNAME ghs.google.com.

Reread the article, please.

John said...
This comment has been removed by the author.
Chuck said...

Hi John,

Have you posted already in GBH: Something Is Broken, and I missed the post? If so, my apologies. But the online forums are much easier to use, then Blogger Blog Commenting, for interactive problem solving.

Pasifik said...

another salute to you chuck. i've been dealing with this error and i refer to your article above and now my custom domain just working fine.

thanks a lot.

this is my new custom domain:
http://games.toddlerworlds.com/

peace,
TODDLER GAMES