A Blogger / Google Custom Domain is reasonably simple to setup.
You get simplicity, when you understand that custom domain design uses three rigidly defined models, in the DNS addressing.
A lot of the trouble, that many blog owners experience, comes from doing it their own way.
You have to start out with properly setup DNS addresses - if you want a working custom domain.
This includes attention to domain manager address entry convention.
Be aware of the "second" "CNAME" - which is essential in verifying domain ownership. The domain ownership verification "CNAME" is neither optional nor trivial, if required during domain setup.
Note that if you have already purchased your domain - and you find, to your disappointment, that your registrar cannot support the required DNS addressing, you will need to setup (free) third party DNS hosting.
Third party DNS hosting is a far better choice, than setting up a spurious workaround. For instructions on setting up third party DNS hosting, go here.
Next, I'll show the most commonly used DNS address configurations, illustrated with Dig log excerpts. TTL, or "Time To Live" is an essential component in each address.
For detailed setup instructions, go here.
Symmetrical DNS Configuration
The most obvious configuration uses a symmetrical DNS structure - dual "CNAME" referrals.
This is the simplest to explain. Both the domain root, and the "www" alias separately use a "CNAME" referral to "ghs.google.com", which provides a second referral to the current Google server that is available for use.
With a symmetrical configuration, you may publish to either "mydomain.com" or "www.mydomain.com", at your convenience.
For an example showing a typical asymmetrical address configuration, go here.
Asymmetrical DNS Configuration, aka "Google Apps"
If you have a domain with email, FTP, and other possible auxiliary services, you use an asymmetrical structure, which use Google Apps to let you add auxiliary services, with quadruple DNS server redundancy.
Look carefully at the IP addresses in the 4 "A" records, before concluding that the 4 records are identical. If you want a stable custom domain, the domain root must be properly defined and used - instructions provided by Blogger not withstanding.
There appears to be a variant asymmetrical configuration, for domains purchased through Google Domains.
Only "ghs.googlehosted.com" provides this option. "www.mydomain.com.ghs.google.com" is not valid.
With an asymmetrical configuration, you may not publish to the domain root. Your only valid choice is to publish to "www.mydomain.com", and select "Redirect mydomain.com to www.mydomain.com". If you publish to "mydomain.com", you will eventually see
For an example showing a typical asymmetrical address configuration, go here.
Additional Virtual Host
If you wish to add an additional blog to the domain, maybe to add your Blogger blog to your web site, you setup an additional virtual host. There are several variations on this setup - some righteous, others spurious - that you need to consider, carefully.
Here, you may publish to "blog.mydomain.com", only. Only use a "CNAME" referral to "ghs.google.com" - do not use any "A" referrals to the Google Apps servers.
For an example showing a typical asymmetrical address configuration, go here.
An Actual Example, And An HTTP Trace
Let's look at a real life example, "nitecruzr.net". You will note, perhaps, that I wrote this example before server "64.233.179.121" was removed from service.
Here's an excerpted Dig log, to start.
And, here's an excerpted HTTP trace.
So, what do we see here? Follow me, here, please.
The domain root, "nitecruzr.net", is using an "A" referral to a pair of Google Apps servers, shown here as a dual redundant array. This was a triple redundant array until October 2008. Now, you should be using a set of four servers, in a quadruply redundant array.
"nitecruzr.net" uses "64.233.179.121", right now. If "64.233.179.121" was offline, it would, hopefully, use "72.14.207.121".
"nitecruzr.net" is currently redirected to "www.nitecruzr.net", within Google Apps. The redirection may, or may not, be a "302 Temporary", as trace utilities like "Rex Swain's HTTP Viewer" are known to confuse "301 Moved Permanently" with "302 Moved Temporarily". A "301 Moved Permanently" is preferred over "302 Moved Temporarily".
"www.nitecruzr.net" is using a "CNAME" referral to "ghs.google.com".
"ghs.google.com" is then using a "CNAME" referral to "ghs.l.google.com", which is a load balancing DNS server array. Note the tremendously long TTL for "ghs.google.com", here showing as "435706". "ghs.l.google.com" is robustly engineered, with multiple redundant components.
Both "www.nitecruzr.net" and "ghs.l.google.com" use DNS to convert their names into IP addresses. Google provides DNS servers that resolve "google.com". If any one individual Google server is taken offline, Google changes their DNS to point to another server IP address. You never worry about this detail, and your DNS setup never has to be changed, allowing "ghs.google.com" to "always" resolve to "ghs.l.google.com" .
"ghs.l.google.com" is currently using the IP address "66.249.91.121". TTL here is "300" seconds or 5 minutes. Tomorrow, or 5 minutes from now, "66.249.91.121" might be offline, and a different IP address would be issued.
"www.nitecruzr.net" is currently being served from "209.85.171.121", an address issued by "66.249.91.121" aka "ghs.l.google.com". Tomorrow, or 5 minutes from now, "209.85.171.121" might be offline, and another IP address would be issued.
If one individual server in the "ghs.l.google.com" server array goes down, Google changes the DNS address for "ghs.l.google.com" to direct to another server in the array. This results in an outage of a maximum of 5 minutes, as TTL for "ghs.l.google.com", in the cached DNS addresses, all around the Internet, expires.
Since all that "ghs.l.google.com" does is issue an IP address for serving your domain, the only domains affected will be those simultaneously
The average down window will be 2.5 minutes, and since TTL for most custom domains is generally 30, 60, or more minutes, the impact of an outage is much smaller than it could be.
If you are currently seeing the well known
Finally, check the "Redirect mydomain.com to www.mydomain.com" option in Settings - Publishing (or your available variation).
For more information:
You get simplicity, when you understand that custom domain design uses three rigidly defined models, in the DNS addressing.
A lot of the trouble, that many blog owners experience, comes from doing it their own way.
- Sometimes, we make our own mistakes, in setting up our domain.
It should work this way, so this is how I'm going to do it.
- In other times, advice from your DNS host / registrar may contribute to the problem.
The tech support wizard at my registrar's help desk told me to configure it this way!
- Sometimes, we make our own mistakes and take advice from a third party.
The tech support wizard at my registrar's help desk told me this is all that I need!!
- Some people overlook the possibility that recommended custom domain configuration could change.
My blog was working fine this way, last year!
You have to start out with properly setup DNS addresses - if you want a working custom domain.
This includes attention to domain manager address entry convention.
Be aware of the "second" "CNAME" - which is essential in verifying domain ownership. The domain ownership verification "CNAME" is neither optional nor trivial, if required during domain setup.
Note that if you have already purchased your domain - and you find, to your disappointment, that your registrar cannot support the required DNS addressing, you will need to setup (free) third party DNS hosting.
Third party DNS hosting is a far better choice, than setting up a spurious workaround. For instructions on setting up third party DNS hosting, go here.
Next, I'll show the most commonly used DNS address configurations, illustrated with Dig log excerpts. TTL, or "Time To Live" is an essential component in each address.
For detailed setup instructions, go here.
Symmetrical DNS Configuration
The most obvious configuration uses a symmetrical DNS structure - dual "CNAME" referrals.
mydomain.com. 3600 IN CNAME ghs.google.com. www.mydomain.com. 3600 IN CNAME ghs.google.com.
This is the simplest to explain. Both the domain root, and the "www" alias separately use a "CNAME" referral to "ghs.google.com", which provides a second referral to the current Google server that is available for use.
With a symmetrical configuration, you may publish to either "mydomain.com" or "www.mydomain.com", at your convenience.
For an example showing a typical asymmetrical address configuration, go here.
Asymmetrical DNS Configuration, aka "Google Apps"
If you have a domain with email, FTP, and other possible auxiliary services, you use an asymmetrical structure, which use Google Apps to let you add auxiliary services, with quadruple DNS server redundancy.
mydomain.com. 3600 IN A 216.239.32.21 mydomain.com. 3600 IN A 216.239.34.21 mydomain.com. 3600 IN A 216.239.36.21 mydomain.com. 3600 IN A 216.239.38.21 www.mydomain.com. 3600 IN CNAME ghs.google.com.
Look carefully at the IP addresses in the 4 "A" records, before concluding that the 4 records are identical. If you want a stable custom domain, the domain root must be properly defined and used - instructions provided by Blogger not withstanding.
There appears to be a variant asymmetrical configuration, for domains purchased through Google Domains.
mydomain.com. 3600 IN A 216.239.32.21 mydomain.com. 3600 IN A 216.239.34.21 mydomain.com. 3600 IN A 216.239.36.21 mydomain.com. 3600 IN A 216.239.38.21 www.mydomain.com. 3600 IN CNAME www.mydomain.com.ghs.googlehosted.com.
Only "ghs.googlehosted.com" provides this option. "www.mydomain.com.ghs.google.com" is not valid.
With an asymmetrical configuration, you may not publish to the domain root. Your only valid choice is to publish to "www.mydomain.com", and select "Redirect mydomain.com to www.mydomain.com". If you publish to "mydomain.com", you will eventually see
Blogs may not be hosted at naked domains.or maybe a well known monolithic error
Another blog or Google Site is already using this address.
For an example showing a typical asymmetrical address configuration, go here.
Additional Virtual Host
If you wish to add an additional blog to the domain, maybe to add your Blogger blog to your web site, you setup an additional virtual host. There are several variations on this setup - some righteous, others spurious - that you need to consider, carefully.
Here, you may publish to "blog.mydomain.com", only. Only use a "CNAME" referral to "ghs.google.com" - do not use any "A" referrals to the Google Apps servers.
blog.mydomain.com. 3600 IN CNAME ghs.google.com.
For an example showing a typical asymmetrical address configuration, go here.
An Actual Example, And An HTTP Trace
Let's look at a real life example, "nitecruzr.net". You will note, perhaps, that I wrote this example before server "64.233.179.121" was removed from service.
Here's an excerpted Dig log, to start.
nitecruzr.net. 3600 IN A 64.233.179.121 nitecruzr.net. 3600 IN A 72.14.207.121 www.nitecruzr.net. 3600 IN CNAME ghs.google.com. --- ghs.google.com. 435706 IN CNAME ghs.l.google.com. ghs.l.google.com. 300 IN A 66.249.91.121
And, here's an excerpted HTTP trace.
Sending request: GET / HTTP/1.1 Host: nitecruzr.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18) Gecko/20081029 Firefox/2.0.0.18 Connection: close • Finding host IP address... • Host IP address = 64.233.179.121 • Finding TCP protocol... • Binding to local socket... • Connecting to host... • Sending request... • Waiting for response... Receiving Header: HTTP/1.1·302·Moved·Temporarily(CR)(LF) Location:·http://www.nitecruzr.net(CR)(LF) Sending request: GET / HTTP/1.1 Host: www.nitecruzr.net User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.18) Gecko/20081029 Firefox/2.0.0.18 Connection: close • Finding host IP address... • Host IP address = 209.85.171.121 • Finding TCP protocol... • Binding to local socket... • Connecting to host... • Sending request... • Waiting for response... Receiving Header: HTTP/1.1·200·OK(CR)(LF)
So, what do we see here? Follow me, here, please.
nitecruzr.net. 3600 IN A 64.233.179.121
nitecruzr.net. 3600 IN A 72.14.207.121
The domain root, "nitecruzr.net", is using an "A" referral to a pair of Google Apps servers, shown here as a dual redundant array. This was a triple redundant array until October 2008. Now, you should be using a set of four servers, in a quadruply redundant array.
GET / HTTP/1.1 Host: nitecruzr.net • Finding host IP address... • Host IP address = 64.233.179.121
"nitecruzr.net" uses "64.233.179.121", right now. If "64.233.179.121" was offline, it would, hopefully, use "72.14.207.121".
HTTP/1.1·302·Moved·Temporarily(CR)(LF) Location:·http://www.nitecruzr.net(CR)(LF)
"nitecruzr.net" is currently redirected to "www.nitecruzr.net", within Google Apps. The redirection may, or may not, be a "302 Temporary", as trace utilities like "Rex Swain's HTTP Viewer" are known to confuse "301 Moved Permanently" with "302 Moved Temporarily". A "301 Moved Permanently" is preferred over "302 Moved Temporarily".
www.nitecruzr.net. 3600 IN CNAME ghs.google.com.
"www.nitecruzr.net" is using a "CNAME" referral to "ghs.google.com".
ghs.google.com. 435706 IN CNAME ghs.l.google.com.
"ghs.google.com" is then using a "CNAME" referral to "ghs.l.google.com", which is a load balancing DNS server array. Note the tremendously long TTL for "ghs.google.com", here showing as "435706". "ghs.l.google.com" is robustly engineered, with multiple redundant components.
Both "www.nitecruzr.net" and "ghs.l.google.com" use DNS to convert their names into IP addresses. Google provides DNS servers that resolve "google.com". If any one individual Google server is taken offline, Google changes their DNS to point to another server IP address. You never worry about this detail, and your DNS setup never has to be changed, allowing "ghs.google.com" to "always" resolve to "ghs.l.google.com" .
ghs.l.google.com. 300 IN A 66.249.91.121
"ghs.l.google.com" is currently using the IP address "66.249.91.121". TTL here is "300" seconds or 5 minutes. Tomorrow, or 5 minutes from now, "66.249.91.121" might be offline, and a different IP address would be issued.
GET / HTTP/1.1 Host: www.nitecruzr.net • Finding host IP address... • Host IP address = 209.85.171.121
"www.nitecruzr.net" is currently being served from "209.85.171.121", an address issued by "66.249.91.121" aka "ghs.l.google.com". Tomorrow, or 5 minutes from now, "209.85.171.121" might be offline, and another IP address would be issued.
If one individual server in the "ghs.l.google.com" server array goes down, Google changes the DNS address for "ghs.l.google.com" to direct to another server in the array. This results in an outage of a maximum of 5 minutes, as TTL for "ghs.l.google.com", in the cached DNS addresses, all around the Internet, expires.
Since all that "ghs.l.google.com" does is issue an IP address for serving your domain, the only domains affected will be those simultaneously
- Being accessed during the 5 minute outage period.
- Without fresh addresses for the domain in cache, on the local DNS server being used by a domain reader.
- Without a fresh address for "ghs.l.google.com", on the local DNS server being used by a domain reader.
The average down window will be 2.5 minutes, and since TTL for most custom domains is generally 30, 60, or more minutes, the impact of an outage is much smaller than it could be.
If you are currently seeing the well known
Server Not Founddisplay, and you just made changes as advised above, you now need to allow for DNS Latency, and wait patiently. Next, publish your blog back to BlogSpot, then republish to the domain. If you have any problem here, recycle the domain settings in Google Apps, persistently.
Error 404
Finally, check the "Redirect mydomain.com to www.mydomain.com" option in Settings - Publishing (or your available variation).
For more information:
- Understand what your registrar has to do before you setup your "A" and "CNAME" records!
- Understand how custom domains work.
- Understand the complete custom domain setup process.
- See some more detailed series of analyses of acceptable configurations.
- See what DNS configurations do not work with custom domains.
- See what typical "404 Not Found" scenarios are being observed.
- Read advice from Blogger, about setting up a Custom Domain in general, and about creating a "CNAME" record in particular. Note: Please read that advice with a grain of salt - if their advice was 100% accurate and easy to follow, you maybe shouldn't be here, looking for third party advice. Specifically, note my advice about DNS hosting, which you must provide for on your own.
- Read about what will happen to traffic to the blog, as you migrate to the new URL.
- Read about proper DNS configurations which support a Blogger blog, and a non Blogger website, published in the same domain.
Comments
This is one of the most helpful blogs I've been to in a while because no one else is talking about this topic in a way I can actually understand. But I am still a little confused with this article.
I registered a domain with GoDaddy and would like to host my blog there.
If I understand correctly I should follow the assymetrical dns configuration and therefore I would have two A records and one CNAME as follows:
www.mydomain.com. 3600 IN A 64.233.179.121
www.mydomain.com. 3600 IN A 72.14.207.121
www.mydomain.com. 3600 IN CNAME ghs.google.com
I totally follow you up to this point. Where I get lost if when I go into my DNS setup at GoDaddy.
For the A record, The instruction say to:
"
To create a new A record for this zone file, please enter the Host Name, "Points To" IP Address, and TTL in the fields below; then click "Continue."
"
A little further it says:
"
"Entering "@" will automatically insert your domain name as the host name for the A Record. If the A Record is for the domain "www.domainnamegoeshere.com", the host name should be entered as "www".
Do not enter "www.domainnamegoeshere.com" as the host name for an A Record.
"
For setting up CNAME the instructions say:
"
If you want the CNAME record to point "www" within your domain to "www.domainnamegoeshere," you should enter "www" in the Alias field and "www.domainnamegoeshere.com" in the Points To field.
"
So my question is what would be the correct host name to put in the A record?
This is what I did:
Host Points-to TTL
@ 64.233.179.121 1-hour
@ 72.14.207.121 1-hour
CNAME
www ghs.google.com 1-hour
The thing that is causing confusion is the host names. I get the impression from your article I should put:
www.mydomain.com. with the "." at the end.
If you can clarify this I am sure you will help a lot of people.
Thanks for the feedback. I think I see the content for another post that I should write, in your comment. ;)
The issue with the "." is part of a policy that varies, from DNS host to DNS host. I'm working on a post that discusses that issue and similar ones, like the redundant domain name problem, which also varies from DNS host to DNS host.
As an alternative, is it possible to ignore the CNAME for the root domain, creating just a CNAME for the www subdomain, while having blogspot reply both to the root AND the www (if possible, using the root domain in the URLs)?
Thanks for your assistance.
--
Albert
I'd like to explore these issues with you, but we can do that better using GBH: How Do I?. Support community help - use the forums for technical questions.
I followed your post and things work now. Thanks a lot!
plumfish
While I have been trying to resolve my custom domain issue, I came across your site. While following your suggestions, I've noticed that while I can enter through your custom domain www.nitecruzr.net all the page URLs within look like http://blogging.nitecruzr.net/2008/12/your-blog-custom-domains-and-righteous.html
Please tell me what I should expect when I finally do resolve my custom domain issue. Will your URL structure be a result I will have, or will it be more like what I was expecting an URL with a custom domain to look like, ex: www.mydomain.com/i-run-fast.html ?
Thanks a bunch,
Corl
You're asking about the normal and unavoidable Blogger directory structure.
You have replied to my problem posted as below:
My Problem: "Oops! The link is broken".
My URL: http://www.newproductsfinder.com
Your reply:
"Your problem is in the DNS addresses. Here's what you have:
www.newproductsfinder.com. 172800 IN CNAME ghs.google.com.
Here's what you need:
newproductsfinder.com. 172800 IN A 216.239.32.21
newproductsfinder.com. 172800 IN A 216.239.34.21
newproductsfinder.com. 172800 IN A 216.239.36.21
newproductsfinder.com. 172800 IN A 216.239.38.21
www.newproductsfinder.com. 172800 IN CNAME ghs.google.com.
That's some wicked TTL, too. Make the above changes, and you'll be waiting for 2 full days, before doing anything else.
Make the above changes, and wait for 2 FULL DAYS.
My question:
My domain never faced this problem since 2007 when it was purchased. Now, do you advise me to create 4 "A" records as you have mentioned?
Thanks.
malathy
Please see the forum thread for discussion. Using 4 x "A" referrals for the domain root is not an eccentricity on Blogger's part.
You'll want to read about the custom domain migration process, and follow the links in the article.
What if i want to rediretct a usbdomain for example forums.mysite.com to my godaddy linux hosting.
Thank you
You can use your GoDaddy hosting, if you wish. You won't be able to publish a Blogger blog there, but you can use GoDaddy and have a web site.