Saturday, February 28, 2009

Your Blog, A Welcome Post, And The Search Engines

When New Blogger 2006 was rolled out in January 2006, one of the first shiny new features provided was the Welcome Post. Bloggers had been asking for the ability to add a welcome post, that is a text object that would sit at the top of the blog, and show up on every page displayed, long before 2006. That addition, one of my first customisations of my new blog, made the blog more friendly (so I hoped).
Welcome to The Real Blogger Status. See "About Us" for help using the site. If you're reading an article, you find that you need more detail about what you're reading, and there's a link in the text there, click on the link.
Not long after I added my new gadget, though, I noted a problem.


The Real Blogger Status: Custom Domains Using 301 Redirect In DNS ...
Welcome to The Real Blogger Status, now addressed as "blogging.nitecruzr.net". See "About Us" for help using the site. I appreciate your comments - as do ...

Say what? Why should my SERP entries start with the welcome post?


My SERP entries should start with the beginning of the article!


The Real Blogger Status: Your Blog, Custom Domains, And Righteous ...
Your Blog, Custom Domains, And Righteous Solutions. A Google Custom Domain is very simple to setup, when you understand how rigidly simple it is. ...

Now, that's more like it! That's what my prospective readers need to see!!



But, how to get the second SERP entry, consistently? I've been spending some time every month, for the last year or so, thinking about that. Last week, I found a hint that lead to the answer.
... the content of an IFrame won't be picked up by the search engines.
And, the answer was obvious. Put the Welcome post inside an iframe.

Like many solutions, the actual implementation wasn't a 5 minute job. A quick 5 minute iframe gives you the result shown in my IFrame Test blog. See the Welcome post in the iframe? I don't think my readers will want that showing up on top of my blog!

So, what was needed was a second blog, with a thin template. Very thin.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="<$BlogLanguageDirection$>">
<head>
<style>
#navbar-iframe {height:0px;visibility:hidden;display:none;!Important;}
</style>
</head>

<body>

</body>
</html>

To this, I added the Welcome "post" (now, simply an HTML phrase).

<span style="color:rgb(255,0,0);font-family:Arial,sans-serif;font-size:80%;"><span style="font-size:160%;">W</span>elcome</span><span style="font-family:Arial,sans-serif;font-size:80%;"> to The Real Blogger Status. See "<a href="http://blogging.nitecruzr.net/search/label/About%20Us?max-results=100" target="_top">About Us</a>" for help using the site. I appreciate your comments - as do most bloggers - but please note the <a href="http://blogging.nitecruzr.net/2005/06/commenting-policy.html" target="_top">commenting policy</a> here. And always, if you're reading an article, you find that you need more detail about what you're reading, and there's a link in the text there, <a href="http://blogging.nitecruzr.net/2005/06/congratulations.html" target="_top">click on the link</a>.</span>

And that becomes the content of my new blog, Nitecruzr RBS Welcome.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="<$BlogLanguageDirection$>">
<head>
<style>
#navbar-iframe {height:0px;visibility:hidden;display:none;!Important;}
</style>
</head>

<body>
<span style="color:rgb(255,0,0);font-family:Arial,sans-serif;font-size:80%;"><span style="font-size:160%;">W</span>elcome</span><span style="font-family:Arial,sans-serif;font-size:80%;"> to The Real Blogger Status. See "<a href="http://blogging.nitecruzr.net/search/label/About%20Us?max-results=100" target="_top">About Us</a>" for help using the site. I appreciate your comments - as do most bloggers - but please note the <a href="http://blogging.nitecruzr.net/2005/06/commenting-policy.html" target="_top">commenting policy</a> here. And always, if you're reading an article, you find that you need more detail about what you're reading, and there's a link in the text there, <a href="http://bloggerstatusforreal.blogspot.com/2005/06/congratulations.html" target="_top">click on the link</a>.</span>
</body>
</html>

Then, I changed the Welcome post text gadget, at the top of this blog, to a simple IFrame, with the source being Nitecruzr RBS Welcome.

<a name="Top"></a><iframe src="http://nitecruzr-rbs-welcome.blogspot.com/" width="100%" frameborder="0" height="100"></iframe>


Getting the thin template, the Welcome "post", and the Welcome post text gadget in this blog, all working together, with the necessary CSS style entries, involved a bit of experimentation, patience, and persistence. So look at the Welcome object at the top of the page - what do you think?

>> Top

Friday, February 27, 2009

Third Party Templates, Again

This month, we have another round of bloggers complaining of problems being experienced while uploading templates provided by Pyzam and other third party sources.

I'm tired of wasting my time trying to upload a new template that just won't upload. I am new to Blogger and just when I knew where beautiful templates are, that's when Blogger upload starts going crazy. It used to be very easy, no hassle before. I'm starting to lose my interest in Blogger. I'm beginning to resent the fact that is difficult to upload third party templates now.

and
I have been trying to change my template, but I am receiving error messages every time I try. It states:
We were unable to save your template. Please correct the error below, and submit your template again.

Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly.

XML error message: The markup in the document following the root element must be well-formed.


Here we have another group of bloggers who expect Blogger to support all aspects of Blogging, including contributions from unknown third party authors, who may or may not be authoritative, benevolent, and competent in their work.

I've been watching Pyzam for many months, and wondering what would happen, as they became more popular. There are a number of issues here. Some of them you're obviously aware of, others you may not be. Everybody won't be aware of the same issues either.

The most obvious issue is third party code, in general. Pyzam contributors will have their own standards and priorities. They may not test Blogger code as thoroughly as Blogger contributors will. Some products may contain code which is intended for other blogging platforms too, and which may conflict with Blogger standard code.

Another issue is HTML vs XML - aka Classic vs Layouts. Many Pyzam templates are written in HTML, which is what Classic Blogger templates use. The "Upload" button, though, is only found in the "Edit HTML" wizard of Layouts Blogger. Templates written for Classic Blogger blogs won't work for Layouts Blogger, and vice versa.

Unfortunately, there's no indicator in any template that tells us "This template is written for Classic Blogger.", or "This template works only in Layouts Blogger.". When you upload, or modify, a template designed for one standard, using a wizard of the other, you will cause problems - and the problems will be unpredictable. Some of the problems will result in immediate bX codes, others may simply produce a corrupt template, and problems which show up later. Some problems have produced damage so severe and subtle, that deletion of the blog provided the final solution.

If you're going to use some Pyzam templates, you may have to revert the blog to use Classic / HTML. You won't have an "Upload" button there, nor will you have the gadgets and other accessories available to you.

Still another issue is support for Pyzam templates. It's ethically, morally, and technically wrong to expect Blogger to unconditionally support third party code. Some issues that you experience may be known by Pyzam contributors. Your reporting them to Pyzam may help you, other Pyzam customers, and Pyzam contributors. If you are one of those experiencing these problems, you may want to identify a Pyzam support forum, and be in contact with the helpers or staff there.

So, feel free to use templates provided by Pyzam and other contributors, if you want a beautiful blog and you aren't satisfied by the Blogger native selection. But, understand and accept the limitations which you will run into.

>> Top

Thursday, February 26, 2009

Blogger Following Integration With Google Friend Connect Was Not Seamless

Very few changes in Blogger are ever seamless. On the morning of 2/23/2009, this blog had 226 Followers. By the same time the next day, it was down to 184 Followers. Many bloggers reported still more alarming changes in their Following populations.

Blogger Support, in Known Issues for Blogger 2/23, notes
users who already use Following and Friend Connect may notice missing blogs in their profile, as well as a decrease in the number of public Followers on their blogs.

This is because we have set these users to "anonymous" to avoid linking the profiles of Blogger and Friend Connect users without their permission. They are still following privately and will able to make themselves public again.
In other words, your blog did not lose any Followers, some of your Followers were simply changed to Following anonymously.

You (the blog owner) simply have less pictures to look at, on your blog. And you (the blog Follower) simply have your picture visible on less blogs. But the Following population, overall, is still the same, though notably less visible.

Other miscellaneous irritations, noted 2/25 include an image size distortion problem, and an interaction with iGoogle applications. And some bloggers claim that the gadget contributes to their blog being subject to the Internet Explorer "Operation Aborted" bug.

Annoying changes, yes. Nothing earthshaking, or damaging to your blog, though.

Lighten up, Francis.

>> Top

Publicising Updates To Your Blog, Using Email From FeedBurner

To further answer the regularly asked question "How do I let my friends know when my blog is updated?", we have FeedBurner, which will provide a neat subscription form for your blog, and helps you maintain your subscription list, for any publicly accessible blog which publishes a feed.

Once you setup a FeedBurner feed for your blog, go to "Publicize" - "Email Subscriptions" in FeedBurner.

Your Blog Published As A Virtual Host, And Successfully Accessed

Sometimes, after setting up a blog, publishing it to a custom domain, and dealing with the "404 Not Found" and the "Another blog ..." / "naked domain" errors, we get a working custom domain. And just as knowing what diagnostics we do not want to see, it's good to know what we do want to see.

Here, for instance, we have a blog published to "blog.mydomain.com", which is a virtual host in the domain "mydomain.com".

First, an excerpted Dig log.

blog.mydomain.com. 3600 IN CNAME ghs.google.com.
www.blog.mydomain.com. 3600 IN CNAME ghs.google.com.


Next, an excerpted HTTP trace.

Sending request:

GET / HTTP/1.1
Host: www.blog.mydomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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·302·Moved·Temporarily(CR)(LF)
Location:·http://blog.mydomain.com/(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: blog.mydomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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)

<link·rel="alternate"·type="application/atom+xml"·href="http://blog.mydomain.com/feeds/posts/default"·/>(LF)
<link·rel="alternate"·type="application/rss+xml"·href="http://blog.mydomain.com/feeds/posts/default?alt=rss"·/>(LF)

Congratulations, this one is good to go.

>> Top

Wednesday, February 25, 2009

Custom Domains, Google Apps, FeedBurner, and An Unusual "404 Not Found"

Occasionally, the ubiquity of the custom domain curse
Server Not Found

Error 404
surprises even me. In this case, as in many others, the domain is properly setup.

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.
---
ghs.google.com. 282206 IN CNAME ghs.l.google.com.
ghs.l.google.com. 300 IN A 74.125.43.121

An an (abbreviated) HTTP trace gives intriguing details.

Sending request:

GET / HTTP/1.1
Host: www.mydomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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·302·Moved·Temporarily(CR)(LF)
Location:·http://feedburner.google.com/fb/a/home(CR)(LF)

Even FeedBurner, it appears, is involved in the Google Apps quagmire.

Fortunately, there's a possibility to sort this. We may be able to use the FeedBurner MyBrand wizard to remove the domain mappings.
  1. Use the FeedBurner MyBrand wizard, and define "feeds.mydomain.com" in Step 1 of MyBrand.
  2. Add a new virtual host to your domain, defining the target URL, as specified in Step 2 of MyBrand.
    feeds.mydomain.com.      3600    IN      CNAME   1e0jtkx.feedproxy.ghs.google.com.
  3. Activate the MyBrand service.
  4. Deactivate the MyBrand service.


>> Top

Tuesday, February 24, 2009

Your Computer, Your Browser, And Cookies

This month, we have had a few reports of problems logging in to Blogger, possibly involving the "cookies" which retain login information from one online session to the next.

Many security issues are deeply frustrating, to the folks who have to endure the problems. This becomes more frustrating, when you understand that the code from Blogger.Com has no choice in the matter. If Blogger.Com requires cookies (as most web sites do), and if cookies aren't being retained by the browser, the Blogger scripts can't function. And when you have a setting that's created under "Blogger.com" and read while your blog is being accessed (under "BlogSpot.com" or whatever non BlogSpot domain your blog is published), you'll need third party cookies enabled.

The really frustrating issue is that many security products, constantly "evolving" thanks to economic pressure (free enterprise competition) and security pressure (never ending hacking attempts), are constantly adding to their functionality. What used to be called a "personal firewall" (a network level protection) is now called a "security suite". Ditto for what used to be called "antivirus protection" (an application level protection) is likewise called a "security suite". Any of these may now contain cookie or script restrictions, and cause your problem.

Complicating this matter is some security suites may bind with some browsers, but not all, and may not consistently provide the same level of protection with all browsers.

If you are seeing this problem with one browser, but not another, I seriously suggest that you examine your computer for any security protection, and for any recent changes. Only you know what security products have been added to your computer. And any of them might have settings to block (or permit) cookies and scripts.

The bottom line, though, is that Blogger scripts don't manage the cookies, they only read and write them. If you have a problem, you visit Blogger Help Group, and you find only a couple (or no) other posts about your problem, consider carefully whether Blogger is undeniably the primary cause of your problem.

>> Top

Monday, February 23, 2009

Your Blog, Multiple URLs

Having multiple blogs in a custom domain is a simple matter, with a custom domain array. Sometimes, you may want to publish just one blog, but use multiple domain URLs for that blog. There are several ways to do this, producing varying results with some subtle differences.

Recently, I changed the domain URL for my church blog "Martinez United Methodist Church", from martinezumc.org, to martinez-umc.org. I started out with a stub at the new location, and slowly added content. The new URL was fully operational last week, and over the weekend I finished the job.

The blog now has 4 URLs

Each of the secondary URLs redirects, using a "301 Moved Permanently", to another URL.
  1. The original BlogSpot URL "martinezumc.blogspot.com" redirects to the original domain "martinezumc.org", using a standard BlogSpot custom domain redirect.
  2. The original domain "martinezumc.org" redirects to the primary URL "martinez-umc.org".
  3. The current BlogSpot URL "martinez-umc.blogspot.com" redirects to the primary URL "martinez-umc.org", using a standard BlogSpot custom domain redirect.


The effect of a "301 Moved Permanently" is to simultaneously
  1. Take traffic to a secondary URL such as "martinezumc.org", and redirect the traffic to the primary URL "martinez-umc.org".
  2. Instruct the search engines to replace the secondary URL, such as "martinezumc.org" with the primary URL "martinez-umc.org", in their database.
  3. Display the primary URL "martinez-umc.org", as the destination in the browser.


My task for the weekend was to make the original domain "martinezumc.org" redirect to the primary URL "martinez-umc.org". This involved a 2 step process.
  1. Define the DNS addresses for the original domain "martinezumc.org", pointing to the GoDaddy Forwarding server.
  2. Define the target of the redirect, "martinez-umc.org", on the GoDaddy Forwarding server.


The first step involved DNS address definitions, pointing to the GoDaddy Forwarding Server.

martinezumc.org. 3589 IN A 64.202.189.170
www.martinezumc.org. 3600 IN CNAME martinezumc.org.

pwfwd-v01.prod.mesa1.secureserver.net (64.202.189.170)
64.202.160.0 - 64.202.191.255
GoDaddy.com, Inc.

The second step involved Advanced DNS Settings in the GoDaddy DNS Manager wizard for "martinezumc.org", where I selected "301 Moved Permanently", and entered "www.martinez-umc.org". The GoDaddy script would not accept the primary domain, "martinez-umc.org", as the target, so I was forced to use the "www" alias "www.martinez-umc.org", as the target.

Having setup the redirect, let's examine it in an HTTP trace excerpt.

Sending request:

GET / HTTP/1.1
Host: martinezumc.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 64.202.189.170
• 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)
Content-Length:·0(CR)(LF)
Location:·/?b1b7cb08(CR)(LF)

Sending request:

GET /?b1b7cb08 HTTP/1.1
Host: martinezumc.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 64.202.189.170
• 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)
Content-Length:·0(CR)(LF)
Location:·/(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: martinezumc.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 64.202.189.170
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·301·Moved·Permanently(CR)(LF)
Connection:·close(CR)(LF)
Date:·Tue,·24·Feb·2009·07:17:54·GMT(CR)(LF)
Server:·Microsoft-IIS/6.0(CR)(LF)
X-Powered-By:·ASP.NET(CR)(LF)
X-AspNet-Version:·2.0.50727(CR)(LF)
Location:·http://www.martinez-umc.org(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: www.martinez-umc.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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·302·Moved·Temporarily(CR)(LF)
Location:·http://martinez-umc.org/(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: martinez-umc.org
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 216.239.32.21
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·200·OK(CR)(LF)

<link·rel="alternate"·type="application/rss+xml"·title="Martinez·United·Methodist·Church·-·RSS"·href="http://martinez-umc.org/feeds/posts/default?alt=rss"·/>(LF)
<link·rel="service.post"·type="application/atom+xml"·title="Martinez·United·Methodist·Church·-·Atom"·href="http://www.blogger.com/feeds/3417375949242075395/posts/default"·/>(LF)


>> Top

Including Mathematics Equations In Your Blog

Occasionally, we see the wistful forum query
I want to include mathematical formulas in my blog. Will Blogger include Latex support, as WordPress has recently done?
The concept of Blogger including Latex, or possibly Mathcad or Mathematica, is probably a matter for the Blogger WishList.

Short of a Blogger enhancement, consider using the standard practice of hosting the mathematical content in a WordPress blog, or another web site. You can then include the other web site in your Blogger blog. You can include large articles or discussions in separate pages, with links in the posts or maybe sidebar linklists. Small articles or discussions can be displayed in iframes, sourced from the articles in the other web sites. With single equations, you can always make pictures, and embed the pictures in the posts.

>> Top

Saturday, February 21, 2009

Custom Domain Publishing, Your Blog, And The Browser

Many bloggers, grown weary of the periodic and unpredictable nature of the ubiquitous
Not Found

Error 404
and its cousins, the old
Another blog is already hosted at this address
and the newer
Blogs may not be hosted at naked domains
errors, are losing their grip. Recently, we see too frequently
I tired of worrying about it, just published my blog to www.mydomain.com, and decided to forget about the option
Redirect mydomain.com to www.mydomain.com.
Imagine my surprise when I typed "mydomain.com" into the browser address window, and up popped the blog!

Those of us experienced with this issue simply ask
Were you using the Firefox browser?
and following the surprised reply
Yes, but how did you know?
we explain
Firefox does this automatically. If Firefox gets a "404" when retrieving "mydomain.com", it automatically tries for "www.mydomain.com", and vice versa.

Not all browsers work this way. Anybody using Internet Explorer, Opera, Safari, ... is still probably seeing
Not Found

Error 404
or an equivalent.

There's no shortcut here. Get into Google Apps, and recycle the domain settings.

>> Top

Your Blog, Custom Domains, And Top Level Domains

This blog is "blogging.nitecruzr.net". It is published as a virtual host in the domain "nitecruzr.net". We say that the URL element "nitecruzr.net" is the domain name.

The URL component "net" is significant, and in Internet terminology is called a Top Level Domain ("TLD"). There are 7 generic Top Level Domains ("gTLD"s) which relate to domain content, and were defined when the Internet was very young.
  • com - Commercial.
  • edu - Educational.
  • gov - Governmental.
  • int - International treaty based organisations.
  • mil - Military.
  • net - Internet organisations.
  • org - Non profit organisations.
This blog, The Real Blogger Status aka "blogging.nitecruzr.net", is a virtual host in the "nitecruzr.net" domain. Similarly, Nitecruzr Dot Net aka "www.nitecruzr.net" is a virtual host in the "nitecruzr.net" domain. I treat Nitecruzr Dot Net as the "home" blog in the domain cluster "nitecruzr.net", but it has no special significance otherwise.

Blogger permits "www.nitecruzr.net" and "nitecruzr.net" to be (optional) alternate URLs, and similarly "www.blogging.nitecruzr.net" and "blogging.nitecruzr.net" to be (optional) alternate URLs. When custom domains first came out, this option didn't exist, this was made available sometime afterwards.

When I publish the blog "Nitecruzr Dot Net" to "www.nitecruzr.net", the Blogger ("Settings" - "Publishing" - ) "Advanced Settings" wizard treats "nitecruzr.net" as the domain in the URL "www.nitecruzr.net", and is then able to offer the option
Redirect nitecruzr.net to www.nitecruzr.net
because "www.nitecruzr.net" and "nitecruzr.net" are (optional) alternate URLs. Here, the wizard treats "net" as the Top Level Domain, and "nitecruzr" as the domain within "net".

The blog in question is published to "www.nitecruzr.net". The ability for "nitecruzr.net" to redirect to "www.nitecruzr.net" is not magic - this will happen only when "Redirect nitecruzr.net to www.nitecruzr.net" is selected, as part of the custom domain setup process.

This only works when my domain DNS addresses are properly setup, with essential URLs directed to Google servers.

nitecruzr.net. 3600 IN CNAME ghs.google.com.
www.nitecruzr.net. 3600 IN CNAME ghs.google.com.


"nitecruzr.net" is an Internet related organisation, intended for USA activity. Organisations related to non USA activity may have country code Top Level Domains ("ccTLD"s), instead of generic Top Level Domains ("gTLD"s), in the top position of the URL.

Organisations related to foreign countries will have different URL structures. If my "nitecruzr" organisation were commercial, and were United Kingdom related, it might be registered as "nitecruzr.co.uk". If I were to publish "Nitecruzr Dot Com - United Kingdom Edition", I might address it as "www.nitecruzr.co.uk". Upon using "Advanced Settings", I would hope to get the option
Redirect nitecruzr.co.uk to www.nitecruzr.co.uk
but that will happen only if the "Advanced Settings" wizard treats "co.uk" as a ccTLD, and "nitecruzr" as the domain.

And again, this only works when my domain DNS addresses are properly setup, with essential URLs directed to Google servers.

nitecruzr.co.uk. 3600 IN CNAME ghs.google.com.
www.nitecruzr.co.uk. 3600 IN CNAME ghs.google.com.


We describe "co.uk" as a 2 level TLD.

With software that's not 2 level TLD aware, "uk" may be treated as the Top Level Domain, and "co" as the domain. In those cases, "nitecruzr" and "www.nitecruzr" would be treated as different virtual hosts within the domain "co.uk". The wizard would not treat "nitecruzr.net" and "www.nitecruzr.net" as (optional) alternate URLs. The alternate URL option for "nitecruzr.co.uk" would be "co.uk", and for "www.nitecruzr.co.uk" would be "www.www.nitecruzr.co.uk".

How many bloggers will setup DNS addresses

co.uk. 3600 IN CNAME ghs.google.com.
nitecruzr.co.uk. 3600 IN CNAME ghs.google.com.

or

www.nitecruzr.co.uk. 3600 IN CNAME ghs.google.com.
www.www.nitecruzr.co.uk. 3600 IN CNAME ghs.google.com.


One of the causes of the old
Another blog is already hosted at this address
and the newer
Blogs may not be hosted at naked domains
errors starts with lack of the essential DNS address definitions, directing a given URL to Google.

URLs that contain 2 level TLDs are a challenge for custom domains, where the ability to treat "www.nitecruzr.co.uk" as a possible alternative to "nitecruzr.co.uk", and not to "www.www.nitecruzr.co.uk", is a desired option. In both the "Advanced Settings" wizard, and the unavoidable alternative (for some bloggers) Google Apps domain settings recyling process, 2 level ccTLDs may be relevant.

The Custom Domain "Advanced Settings" wizard has to offer the option
Redirect nitecruzr.co.uk to www.nitecruzr.co.uk
with the understanding that "nitecruzr.co.uk" and "www.nitecruzr.co.uk" are possible alternate URLs. If the code behind the wizard can't reliably detect a 2 level TLD, this won't happen all of the time. This may be one of the primary causes of the
Blogs may not be hosted at naked domains
error.

If you can't publish your blog to "www.mydomain.com", and select "Redirect mydomain.com to www.mydomain.com", without seeing
Blogs may not be hosted at naked domains
it's possible that somewhere in the wizard code, there's confusion resulting in either "com" or "www.www.mydomain.com" being considered as the valid alternate URL. And if this is the case, my suspicion is that it's caused by dodgy 2 level TLD detection code.

Considering these details, I think the Blogger decision to restrict the ability to alias various domain hosts is completely logical.

>> Top

Wednesday, February 18, 2009

Your Blog, The Search Engines, And The Main Page Contents

Many bloggers are confused about how their blogs are indexed by the search engines.

We occasionally see the confused query
Visitors are coming in to my blog through the Google search engine. They don't stay though, the reason being that Google doesn't take them to the post they found - and which is obviously the one relevant to their search - but to the home page of the blog. Why does this happen?

The search engines are like your readers - with your posts published on the main page, they will index the post content, from the main page.

Tuesday, February 17, 2009

Disappearing Posts - The Mystery Begins

Today, we have a mystery - disappearing posts. I felt the need to revise my post Custom Domain Publishing, And The 404 Error, so I found a link to the post, selected "Open In A New Window", and let it load.

A new window is what I got. With the blog contents, but not the post contents. I even cleared browser cache, and tried again. I looked at page source, using View - Page Source (Firefox), and the code listed contained no post content, either. It's not a dropped post problem.


Note the browser window, at the top, where you'll see the post title. Just no post content in the blog body.



Having made the above picture, and uploaded it, I tried again maybe 10 minutes later. Now the post shows up fine.

(Update 3/3): Today, this problem became even more interesting.

(Update 3/2): If your blog is showing this symptom, first try a workaround suggested by Blogger. If that doesn't work, try using the "Edit Posts" menu - select all posts ("Select: All"), then publish ("Publish All") - to work around the problem.

(Update 2/19 15:00): If you are seeing this problem in your browser, do "View" - "Page Source", and examine the listing for the blog display. Do a text search for "google.friendconnect". Let us know if you find that in the code.

If you're seeing this problem, please find a thread (there are several to choose from) in Blogger Help Group: Something Is Broken. Provide details, of your experience.
  • What's the blog URL?
  • Is it published only to BlogSpot, or is it also published externally - either using a custom domain, or FTP?
  • Is this your blog, or someone else's?
  • Do you see this in main page, or single post mode?
  • Are you logged in as an administrator / owner when attempting to load the page?
  • What browser (name and version, please) are you using?
  • Did you try clearing browser cache?
  • Is the problem seen (posts not seen) in main page view, in label view, or in archive view? Please check, specifically.
  • Did you just previously publish a new post, or was a comment just published, to the blog, immediately before discovering this problem?
  • Where are you located, and what ISP do you use?


(Update 2/17 18:00): Blogger has acknowledged the problem
Are any of you still having trouble with this? Please let us know and we'll see what we can do.


>> Top

Monday, February 16, 2009

Please, Blogger, Restore My Deleted Blog

Every week, we see the anxious query in the forum
I have been trying for about 2 weeks to get a hold of someone about my accidentally deleted blog. I have filled out the contact form numerous times, and have gotten no response. Is there anyone who can help?
This question comes from someone who hasn't bothered to read the (not at all) fine print in the "Delete This Blog" wizard, currently accessed from Settings - Basic - Blog Tools.
This will permanently delete your blog including all posts. You can create another blog at this address using the Google Account you're currently logged in with, however, we can't restore your blog posts once you choose to delete your blog.
That warning seems pretty explicit to me.
You can create another blog at this address using the Google Account you're currently logged in with, however, we can't restore your blog posts.


What more should be said? You delete it, it's gone. Maybe Blogger Support will relent, if you fill out a Contact Us form, and are very patient. I wouldn't be emailing my friends, just yet, to tell them that you're back online.


Start from Settings - Basic.




Before deleting the blog, Export It, to local storage.



If the blog in question was deleted because you deleted the account that owned it, you'll have to start by getting that account restored. Once the account that owned the blog is restored, you can recreate the blog from that account.

(Update 2009/03/27): This situation is now significantly improved.

>> Top

Saturday, February 14, 2009

"Blogs may not be hosted at naked domains"

As a possible supplement (and maybe an eventual replacement) for the old monolithic error
Another blog is already hosted at this address
we now have
Blogs may not be hosted at naked domains

Your Neighbour's Cough

Have you ever visited your personal physician, and instructed him
My neighbour has the same cough as I have. Her doctor prescribed xxxxxxxx medicine. I want a prescription for xxxxxxx.
Hopefully, not. Your doctor, if he has any professional capability, will know that a smoker's cough (in your 80 year old neighbour) won't be treated the same way as an influenza infection (in you).

Also hopefully, your doctor spends some time reading about what disease level is normal, in the population, at any time. If you go to him with a complaint, he'll possibly know
This has been going around for a few weeks. Go home, drink plenty of fluids (no alcohol please), and get plenty of rest. Come back in 2 weeks, if you're not feeling better.

Likewise, bloggers need to be aware of what diseases currently affect Blogger blogs. And, they need to know when their blog has a problem - and to understand that maybe somebody else's blog showing a similar symptom won't mean that both blogs have the same problem.

It would not hurt anybody to understand about affinity testing - and about differential testing - and try a bit of each, when confronted by a Blogger problem.

All of this is why I continually post, in the forums
Please, start a new thread and describe your problems. Do not hijack someone else's thread. Help us to help you.


>> Top

Visitor Logs: Monitoring the Blood Pressure / Pulse Of Your Blog

If you're concerned about your personal health, you track your vital signs, regularly. Personally, I monitor my blood pressure and pulse every two months, courtesy of the American Red Cross (and regular blood donation). If you care about the health of your blog, you'll do the same, using one or more visitor meters.

If your blog has a complete outage, you'll know that right away. You, personally, won't be able to access it. What if some readers can see the blog, and others can't? Examining your visitor logs, regularly, can help you know when your blog is offline, completely or partially.

If you are in one geographic location (with a given ISP), and the majority of your readers are in another location (with another ISP), you may or may not know when your readers can't see your blog. Likewise, if the blog is offline for a couple days, when you're not looking at it, you may never know (though your readers will).

A visitor meter, with its accompanying log, will show you traffic to your log, and identify the readers browser, computer, and location. If you have a partial or temporary outage, seeing a drop in traffic during a given time period, or for a given browser, computer type, or geographical location will alert you of the problem.

This will work best if you take the time to learn the normal amount of traffic from a given browser, computer type, and / or geographical location. When your blog is online, and no problems are being reported, spend your spare time examining your visitor logs. Just like monitoring your personal blood pressure and pulse, watch your visitor logs regularly. And understand that fluctuations in visitor activity are normal.
  • If you spend less time working on your blog this week, you may see less (or maybe more) visitor activity next week.
  • The constant referer spam war will lead to rising and falling of Stats pageview counts.
  • Your readers will, occasionally, have other things to do, periodically.

Know, on your own, when you have an outage. Don't wait for your reader to email you (if possible)
Dude, your blog has been down for a week. What's your problem?


>> Top

Tuesday, February 10, 2009

Custom Domain Publishing, And Google Apps - February, 2009

For our latest episode in the ongoing saga of domains purchased through Blogger / Google, with DNS setup by Google Apps, we now (possibly) have parked domains setup by Google Apps. This (excerpted) Dig log looks like it shows a simple case of the domain not being properly setup.

mydomain.com. 3593 IN A 68.178.232.99
www.mydomain.com. 3600 IN CNAME mydomain.com.

parkwebwin-v02.prod.mesa1.secureserver.net (68.178.232.99)
68.178.128.0 - 68.178.255.255
GoDaddy.com, Inc.

The blogger reporting a problem states
I tried publishing back on blogger and then back to my custom domain but no change.
which, to me, suggests that our old friend
Another blog is already hosted at this address
may not be part of this scenario. Typically when "Another blog is already hosted at this address." is seen, it's when trying to re publish to the custom domain address.

The problem of domains redirecting to a parking server, owned and operated by the registrar, has been with us for a while. Generally we see it when a blogger, who has yet to learn of the special needs of custom domains, buys a domain from a registrar, starts right into "Advanced Settings", and tries to publish the blog to the domain. Here we generally see
Another blog is already hosted at this address
because the domain DNS does not yet point to Google.

With this case, we see no such error. Just a non accessible blog, and another old friend
Server Not Found

Error 404


And, the blogger further claims
Bought it right on Blogger, through Google.
which implies, to me, a DNS setup by Google Apps. The wording of that statement makes me think of a blogger who doesn't know of the difference between DNA and DNS. It's certainly not from a blogger who would covertly edit the standard Asymmetrical setup, into the broken setup above.

>> Top

Saturday, February 07, 2009

Firefox V3 and Cookies

Cookies have been a recognised security hazard for several years, for many security experts. Firefox Version 3 takes cookies very seriously, and expects you to do likewise.

If you've upgraded to Firefox Version 3 recently, you may have noted problems when logging in to Blogger, or running scripts like CAPTCHA based verification for comment entry. Under Tools - Options - Privacy, you'll find a selection to "Accept third-party cookies". The Blogger login process uses cookies from Google and / or GMail ("mail.google.com" / "gmail.com") to allow you access to your Blogger account. CAPTCHA scripts check to see if you are the owner of the blog, so you, the owner of your blog, don't have to enter a CAPTCHA when posting comments to your blog.

If you don't enable third party cookies, you'll likely see mysterious messages about JavaScript not being enabled, you may have to login repeatedly (even though you selected "Remember me"), or the essential CAPTCHA simply won't show an image.

Enable "Accept third-party cookies", and you'll do fine. Another case of excessive or mysterious security, and you should get used to it.

>> Top

Blogger / Google Balances Freedom Of Speech Against Freedom From Harassment

Blogger / Google is based in the USA, where freedom of speech is one of the most acknowledged basic freedoms. They try to balance the schizophrenic right of you (the blog owner) to publish (without feeling harassed by reader opinion), against you (the blog reader) to surf and read blogs (without feeling harassed by publisher opinion). And, they do this in a multi-lingual fashion. What's objectionable in Portuguese may be only slang in American.

Everybody has an opinion. If it's your opinion that a particular Blogger blog contains material that's harmful, hateful, or otherwise objectionable, and violates Blogger Terms Of Service, Blogger has provided their form Blogger Help: Report a Terms of Service Violation. There, you can state your opinion.

Having stated your opinion, please don't post the URL of the objectionable blog in an open forum. Leave it to Blogger to evaluate the blog in question, and be patient.

>> Top

Friday, February 06, 2009

Custom Domains and Case Significance in the URLs

This blog is "blogging.nitecruzr.net". If I wanted to dress it up a bit, I might tell you it's "Blogging.Nitecruzr.Net". Either URL should work, equally well.

That's not the case with all blogs, today. Here's an example - "mydomain.com". A normal DNS configuration, per an excerpted Dig log.

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.
---
ghs.google.com. 32316 IN CNAME ghs.l.google.com.
ghs.l.google.com. 300 IN A 74.125.43.121


The HTTP traces are rather unique. First, look at "mydomain.blogspot.com", in 2 variations. Look carefully at the URLs - the upper case letters aren't decorative.

GET / HTTP/1.1
Host: mydomain.blogspot.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 209.85.133.191
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...
Receiving Header:
HTTP/1.1·301·Moved·Permanently(CR)(LF)
Location:·http://www.MyDomain.com/(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: www.MyDomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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)

...

<link·rel="alternate"·type="application/atom+xml"·title="My·Blog·-·Atom"
·href="http://www.MyDomain.com/feeds/posts/default"·/>(LF)
<link·rel="alternate"·type="application/rss+xml"·title="My·Blog·-·RSS"
·href="http://www.MyDomain.com/feeds/posts/default?alt=rss"·/>(LF)

Apparently published to "www.MyDomain.com", from seeing the feed URLs. There's a variation of this result. See if you can spot the difference.

GET / HTTP/1.1
Host: mydomain.blogspot.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Connection: close

• Finding host IP address...
• Host IP address = 74.125.19.191
• Finding TCP protocol...
• Binding to local socket...
• Connecting to host...
• Sending request...
• Waiting for response...

Receiving Header:
HTTP/1.1·200·OK(CR)(LF)

...

<link·rel="alternate"·type="application/atom+xml"·title="My·Blog·-·Atom"
·href="http://www.MyDomain.com/feeds/posts/default"·/>(LF)
<link·rel="alternate"·type="application/rss+xml"·title="My·Blog·-·RSS"
·href="http://www.MyDomain.com/feeds/posts/default?alt=rss"·/>(LF)


The first trace is what you see after transition period has expired, and the blog is explicitly published to the custom domain URL. The second trace is what you see during the transition period, with the blog published to the domain URL (see the feed URL?), but without a "301 Moved Permanently" redirect in place.

OK, so far. How about "www.mydomain.com"?

Sending request:

GET / HTTP/1.1
Host: www.mydomain.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
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·404·Not·Found(CR)(LF)


And here's what you get, when accessing the blog. Look closely at the URL, in the address window. "mydomain.blogspot.com" --> "www.mydomain.com", which can't be found, since the blog was published to "www.MyDomain.com".



D'ohh.

Maybe publishing your blog, using mixed case in the name, isn't a good idea.

This looks like a case of case observation / case preservation gone wrong.

In this case, my advice would be given as
Publish the blog back to BlogSpot, then re publish it to "www.mydomain.com".

http://blogging.nitecruzr.net/2007/11/custom-domain-publishing-and-404-error.html
And hope like heck to not see
Another blog is already hosted at this address.


If you do see the latter error, recycle the domain settings in Google Apps, persistently. Then re publish to the "www" alias again.

>> Top

Thursday, February 05, 2009

Adding Social Networking Buttons To Your Blog

Look carefully at the bottom of this post - and other posts in this blog. Right below "Topics", do you see "Share This Post!"? The "Share This Post!" section is what we call Social Networking. It lets your readers - hopefully those who have social networking memberships - bookmark your posts in the social networking services. In my blogs, we currently have De.licio.us, Digg, FaceBook, StumbleUpon, Technorati, and Twitter.

If one of your readers has a membership in one of those services, and wishes to share your post with other members, he / she has only to click on the icon, or the adjacent text link, and the selected service will bookmark the post (subject to the normal site bookmarking procedure, which varies by service).

In order to make that happen, the icon / shortcut contains code which automatically picks up the Title and / or URL of the post being viewed. The code has to be part of the post template, to pick up the Title / URL, which are XML variables. This works only for a Layouts template, and requires manual installation into the template code. No HTML gadget here, and no GUI Page Elements wizard. Sorry.

You have to edit the template code, and insert this into the post footer, which is part of the post template.

Here is the current XML code involved in my "Share This Post!" paragraph. There are 12 sections of code, here - 6 buttons, and 6 text links - look at the "Share This Post!" section below this post. All 12 sections have to be part of one logical line, so they display as one line below each blog post (though possibly flowing onto another physical line, if the post column width requires). Note that if you wish to copy this code, you'll need to be very careful with your copying, and check afterwards (and remove) any gratuitous line breaks, which may or may not be present!

<p class='post-footer-line post-footer-line-3'>
<strong>Share This Post! </strong> <a expr:href='"http://del.icio.us/post?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='Del.icio.us'><img alt='Del.icio.us' border='0' height='16' src='http://3.bp.blogspot.com/_pzC_7PLtN-0/SXDK01IpJ6I/AAAAAAAAB-0/4AiDPosezwY/s400/De.licio.us+Icon.gif' width='16'/></a> <a expr:href='"http://del.icio.us/post?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='Del.icio.us'>Del.icio.us</a> <a expr:href='"http://www.digg.com/submit?url=" + data:post.url + "&title=" + data:post.title + "&phase=2"' target='_blank' title='Digg'><img alt='Digg' border='0' height='14' src='http://4.bp.blogspot.com/_pzC_7PLtN-0/SXDK08-GbMI/AAAAAAAAB-s/p5LMcEOR6Jk/s400/Digg+Icon.gif' width='16'/></a> <a expr:href='"http://www.digg.com/submit?url=" + data:post.url + "&title=" + data:post.title + "&phase=2"' target='_blank' title='Digg'>Digg</a> <a expr:href='"http://www.facebook.com/share.php?u=" + data:post.url' target='_blank' title='Facebook'><img alt='Facebook' border='0' height='16' src='http://2.bp.blogspot.com/_pzC_7PLtN-0/SXDK0jnR9vI/AAAAAAAAB-k/cB0CP-z6HSo/s400/Facebook+Icon.png' width='14'/></a> <a expr:href='"http://www.facebook.com/share.php?u=" + data:post.url' target='_blank' title='Facebook'>Facebook</a> <a expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='StumbleUpon'><img alt='StumbleUpon' border='0' height='16' src='http://3.bp.blogspot.com/_pzC_7PLtN-0/SdqXhm2cUkI/AAAAAAAACG0/eJRZZc3lXzs/s320/StumbleUpon+Icon.gif' width='16'/></a> <a expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='StumbleUpon'>StumbleUpon</a> <a expr:href='"http://technorati.com/cosmos/search.html?url=" + data:post.url' target='_blank' title='Technorati'><img alt='Technorati' border='0' height='16' src='http://4.bp.blogspot.com/_pzC_7PLtN-0/SXDK0QSE_YI/AAAAAAAAB-U/y-HDJyntbOE/s400/Technorati+Icon.gif' width='14'/></a> <a expr:href='"http://technorati.com/cosmos/search.html?url=" + data:post.url' target='_blank' title='Technorati'>Technorati</a> <a expr:href='"http://twitter.com/home/?status=Currently reading:" + data:post.url' target='_blank' title='Twitter'><img alt='Twitter' border='0' height='16' src='http://1.bp.blogspot.com/_pzC_7PLtN-0/SXDK0gJQmjI/AAAAAAAAB-c/AMQtMq7Cpcg/s400/Twitter+Icon.png' width='16'/></a> <a expr:href='"http://twitter.com/home/?status=Currently reading:" + data:post.url' target='_blank' title='Twitter'>Twitter</a>
</p>


Need I remind you to back up the template, before and after making this change?

You'll want to Edit Template HTML, and select "Expand Widget Templates". Find a section of code similar to:


<p class='post-footer-line post-footer-line-3'>
</p>


and add the above code, giving you:


<p class='post-footer-line post-footer-line-3'>
<strong>Share This Post! </strong> <a expr:href='"http://del.icio.us/post?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='Del.icio.us'><img alt='Del.icio.us' border='0' height='16' src='http://3.bp.blogspot.com/_pzC_7PLtN-0/SXDK01IpJ6I/AAAAAAAAB-0/4AiDPosezwY/s400/De.licio.us+Icon.gif' width='16'/></a> <a expr:href='"http://del.icio.us/post?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='Del.icio.us'>Del.icio.us</a> <a expr:href='"http://www.digg.com/submit?url=" + data:post.url + "&title=" + data:post.title + "&phase=2"' target='_blank' title='Digg'><img alt='Digg' border='0' height='14' src='http://4.bp.blogspot.com/_pzC_7PLtN-0/SXDK08-GbMI/AAAAAAAAB-s/p5LMcEOR6Jk/s400/Digg+Icon.gif' width='16'/></a> <a expr:href='"http://www.digg.com/submit?url=" + data:post.url + "&title=" + data:post.title + "&phase=2"' target='_blank' title='Digg'>Digg</a> <a expr:href='"http://www.facebook.com/share.php?u=" + data:post.url' target='_blank' title='Facebook'><img alt='Facebook' border='0' height='16' src='http://2.bp.blogspot.com/_pzC_7PLtN-0/SXDK0jnR9vI/AAAAAAAAB-k/cB0CP-z6HSo/s400/Facebook+Icon.png' width='14'/></a> <a expr:href='"http://www.facebook.com/share.php?u=" + data:post.url' target='_blank' title='Facebook'>Facebook</a> <a expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='StumbleUpon'><img alt='StumbleUpon' border='0' height='16' src='http://3.bp.blogspot.com/_pzC_7PLtN-0/SdqXhm2cUkI/AAAAAAAACG0/eJRZZc3lXzs/s320/StumbleUpon+Icon.gif' width='16'/></a> <a expr:href='"http://www.stumbleupon.com/submit?url=" + data:post.url + "&title=" + data:post.title' target='_blank' title='StumbleUpon'>StumbleUpon</a> <a expr:href='"http://technorati.com/cosmos/search.html?url=" + data:post.url' target='_blank' title='Technorati'><img alt='Technorati' border='0' height='16' src='http://4.bp.blogspot.com/_pzC_7PLtN-0/SXDK0QSE_YI/AAAAAAAAB-U/y-HDJyntbOE/s400/Technorati+Icon.gif' width='14'/></a> <a expr:href='"http://technorati.com/cosmos/search.html?url=" + data:post.url' target='_blank' title='Technorati'>Technorati</a> <a expr:href='"http://twitter.com/home/?status=Currently reading:" + data:post.url' target='_blank' title='Twitter'><img alt='Twitter' border='0' height='16' src='http://1.bp.blogspot.com/_pzC_7PLtN-0/SXDK0gJQmjI/AAAAAAAAB-c/AMQtMq7Cpcg/s400/Twitter+Icon.png' width='16'/></a> <a expr:href='"http://twitter.com/home/?status=Currently reading:" + data:post.url' target='_blank' title='Twitter'>Twitter</a>
</p>


Note that this example puts the code into the third line of the footer. You're welcome to put your code into any line that you wish.

Just do it, Save Template, and test it, and backup the template, before and after making the change (yes, I said that above too!).

>> Top

Custom Domains, and a Second Typical "404 Not Found"

Sometimes, even with a properly setup custom domain, you (or your readers) may encounter a well known problem
Server Not Found

Error 404
I wrote about this earlier, about a symptom that has no obvious cause.

Sometimes, the well known "Server Not Found Error 404" symptom has a cause, but you may have to look carefully to find it. Many times, you find no clue in the DNS addresses. This is a normal (asymmetrical) DNS address configuration.
mydomain.net.            3600    IN      A       216.239.32.21
mydomain.net.            3600    IN      A       216.239.34.21
mydomain.net.            3600    IN      A       216.239.36.21
mydomain.net.            3600    IN      A       216.239.38.21
www.mydomain.net.      3600    IN      CNAME   ghs.google.com.
---
ghs.google.com.         282206  IN      CNAME   ghs.l.google.com.
ghs.l.google.com.       300     IN      A       74.125.43.121 


Here, an (abbreviated) HTTP trace will give you a clue.

Sending request:

GET / HTTP/1.1
Host: mydomain.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
1.9.0.5) Gecko/2008120122 Firefox/3.0.5
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·302·Moved·Temporarily(CR)(LF)
Location:·http://www.mydomain.net(CR)(LF)

Sending request:

GET / HTTP/1.1
Host: www.mydomain.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:
1.9.0.5) Gecko/2008120122 Firefox/3.0.5
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·302·Moved·Temporarily(CR)(LF)
Location:·http://start.mydomain.net(CR)(LF)

Unlike the previously noted "Server Not Found Error 404" symptom, this one won't be solved by merely publishing back to Blog*Spot, then re publishing to the custom domain.

What we see here is that the Start Page service in Google Apps is apparently enabled, and published to "www.mydomain.net". In this case, you're going to first have to disable Start Page. If you don't, you're going to see another old friend
Another blog is already hosted at this address.
After doing that, then you can publish back to Blog*Spot, then re publish to the custom domain.

Similar to the Start Page redirect, you may on occasion see a redirect to the Google Sites service.

>> Top

Wednesday, February 04, 2009

Please Don't Post Clickable Links to Malware Blogs

Every day, well intentioned bloggers post anxious demands in Google Blogger Help Group
This person listed their blog in several forums. As an admin of two of them, I have had many complaints over it about spamming. We have blocked his address from our forums, but it seems he has many of them and he keeps spamming it hourly.

Please shut this blog down.

http://bigspamblog.blogspot.com


So getting "bigspamblog.blogspot.com" removed should be such a simple task, but it's not.

The problem is that, for everybody who reports a spam blog in BHG, someone else reports that their blog was just falsely accused of being a spam blog. Not every blog reported to be a splog actually is a splog, and not everybody reporting a splog actually is reporting a splog to get it removed.

So Blogger has to verify each spam blog report, before acting on a demand posted here.

Many spammers post in BHG
OMG, remove bigspamblog.blogspot.com!

and while we wait for Blogger to take action, they watch their hits roll in, from a clickable link in their post. They know that, while we wait for Blogger to take action against the blog, their post will sit here, attracting the curious
I know that it's spam, but what sort of spam? I have nothing better to do, so I'll check it out.


By the time Blogger does anything, the spammer will publish
"bigspamblog2.blogspot.com", "bigspamblog3.blogspot.com", and so on. Next week, the spammer will post under another name
OMG, remove bigspamblog2.blogspot.com!

and watch the hits roll in for that one.

And the spammers will use millions of botted computers all over the world (maybe the payoff of the latest worm, such as Conficker / Downadup) and create thousands of splogs daily - "bigspamblog2000.blogspot.com", "bigspamblog2001.blogspot.com", "bigspamblog2002.blogspot.com", and so on. Out of those thousands, one or two may get reported.

It would be real nice if Blogger would hire somebody to be more proactive and remove the spam blogs immediately. That same person could watch for the Indian Escort Service spammer in BHG, and axe the accounts used for each spam, immediately.

But, they won't.

So we have to take the initiative, and protect ourselves. Various security product providers (antimalware, firewall, and other security products) are providing browser add-on software, that will automatically scan each web page, and identify links to malicious web sites.

And, Google has provided a new form, for us to use to report the hacking, porn, and spam blogs. But making an entry in the form won't get the web sites removed, immediately - somebody will have to verify each accused blog. And a list of the verified guilty blogs will feed one of the malicious web sites databases. You may get some insight into the solution provided, in the Official Google Webmaster Central Blog: Better badware notifications for webmasters.

>> Top

Make Links Open In A New Window

If you design your blogs, as I do, with lots of links to other blogs and web sites, you probably like to make the links to the other blogs and web sites open in a new browser tab or window (depending upon reader preference). That helps with reader retention (for you), and increases convenience (for your readers).

Unfortunately, in all of the Blogger GUIs, there's no selection for "Make links open in new window". If you want all links in your blog to open in a new window, you can do this with a simple template change (but do this with discretion). If you want specific links to open in a new window, you have to code each link individually.

Here's a link to this post.
Make Links Open In A New Window

<a href="http://blogging.nitecruzr.net/2009/02/make-links-open-in-new-window.html">Make Links Open In A New Window</a>

the coding change isn't complicated
Make Links Open In A New Window

<a href="http://blogging.nitecruzr.net/2009/02/make-links-open-in-new-window.html" target="_blank">Make Links Open In A New Window</a>


Alternately, if you are creating / editing in Compose mode, when you add or edit a link, simply select the option
Open this link in a new window.
in the "Add link " wizard.

>> Top

Tuesday, February 03, 2009

The Two Domains - Blogger vs BlogSpot

Not everybody asking for help in GBH: Something Is Broken, or one of the other forums, provides a lot of detail in their problem reports. Occasionally, we see some gems
When I access the server, I get a blank page.


This sort of problem report detail possibly comes from someone who isn't really aware that there are two domains.
  • Blogger - This is where you setup your blog, and publish your posts.
  • Blogspot - This is where you view your blog, when you don't publish your blog externally, that is.

This lets us maintain different levels of trust, between Blogger and BlogSpot.

Many times, Blogger will be up, and Blogspot will be down. If you can create, edit, and publish your posts, but nobody can read them, you have a big problem. No readers, which = no immediate revenue. And less future readers, which = less future revenue.

Other times, Blogger will be down, and Blogspot will be up. Everybody will be able to read your blog, so no problems with current revenue. But you won't be able to make any changes to your blog. If your blog (as most do) depends upon updated information, you'll soon suffer from less readers, which again = less future revenue.

But you need to know the differences. And when you discuss your problems in Blogger Help Forum, it's good to know the differences, and to state the details, relevant to the differences. This is a good start, to learning how to ask for help, effectively.

>> Top

Monday, February 02, 2009

Creating A Custom Feed

This blog is about blogging, and I suspect that a few of you have subscribed to one or more of the feeds that are provided here. I use a number of feeds, too, in this blog - look in the sidebar. You can, alternatively, subscribe to a topic related feed from this blog.

Maybe my blog, alone, will be authoritative for some readers. Some folks may like to combine my feed with other web sites, for more a more balanced and versatile content. For that, we can use a feed aggregator, like FeedBurner or FeedDigest, and burn a feed of our own.

When we burn a feed, we can (subject to options provided by the aggregator, and what's provided in the content) include such details as:
  • Which web sites or feeds we want to read.
  • Whether to include author, date, title, and / or web site of the original article.
  • What specific subjects to include.


Once the feed is burned, we can then decide what format we wish to use, when including the information on our blog. Depending upon the feed aggregator, again, we may be able to get the feed as Flash, HTML, JavaScript, PHP, or RSS. Each of these formats have their advantages and disadvantages.

If your feed is burned by FeedBurner, the BuzzBoost option under Publicize may be useful, if you need an HTML / JavaScript version of your feed. BuzzBoost has the same options as the Blogger Feed gadget, plus one intriguing new one - "Open links in New Window".

Some feed formats update on an almost real time basis, but aren't supported by all browsers, security programs, or web sites. Other formats are universally supported, but update slower or are harder to format attractively. But know the options available to you.

With FeedBurner, if you create a feed and redirect the blog posts feed to the FeedBurner feed, you can access a number of options that let your feed more specifically serve you and your readers. FeedBurner, which is now a Google subsidiary, offers several menus of options.
  • Statistics ("Analyze"). useful statistics about the readers of the blog, and how the feed is being accessed. The information provided is vaguely similar to (though less detailed than) the information from a visitor meter.
  • Configure Ads ("Monetize"). Activate Google AdSense for feeds and choose options that control how these ads display in your feed.
  • Feed Tuning ("Optimize"). The ability to adjust the content of the feed, to suit the needs of your blog.
  • Feed Blog Displays ("Publicize"). The ability to adjust the way the feed is offered on your blog, to make it more visible to your readers.
  • Diagnose Problems ("Troubleshootize"). General tips and a couple of quick-fixes to try with any malfunctioning feed.
To really describe the range of possibilities, you'll have to explore the FeedBurner menus, for your feed, and see what you can use.

>> Top

Sunday, February 01, 2009

Importing / Exporting Blog Contents Supports Other Blogging Platforms

Last year, we announced an exciting improvement in Blogger blogs - the ability to export and import blog content (comments / posts) between Blogger blogs (as long as you have administrative access to both blogs). At the time, that was interesting, but not so useful, as only Blogger blog content was supported by the process.

Last month, Google announced an improvement on that possibility - the ability to export and import blog content between Blogger, LiveJournal, MovableType, and WordPress. Hopefully, other blogging platforms will follow in availability. It's possible that both the receiving and sending platforms will have to make adjustments to their code, to enable additional platforms to be included.

With a blog of any significant size, it would be wise to import, then publish, in two separate steps. Get everything imported, and check out the Posts list under "Imported", before Publishing.

>> Top

The Content Of Our Blogs Is Our Responsibility

Blogger provides an interface, and utilities, for us to create web sites using Blogger One Button Publishing.

Short of ensuring that what we publish isn't illegal or other wise violates Terms Of Service, Blogger doesn't care about what we publish. What we publish is our business. And that includes maintaining our access to our blogs, and of keeping track of what we publish.

Daily, we see the complaints
I deleted my post, by mistake. Can Blogger restore it for me?
or
My sidebar is at the bottom of the page. Blogger, fix this.
or
I don't know what's wrong, it just stopped working. It looks fine in Firefox, but you can't see anything using Internet Explorer.
and these are all problems with blog content.

If your blog is subject to a Content Warning, it's possible that this is a recent problem that involve Blogger changes. Other than the interstitial which has been causing problems recently, problems which involve blog content are our responsibility.