This project is read-only.

Google cannot index any posts in my blog

Aug 26, 2009 at 6:46 AM

I've been a long time WordPress user, but recently switched to BlogEngine.NET because I wanted to distance myself from PHP. After some tweaking, it even worked under Mono (with MySQL!).

The only bad thing is that, since I switched to BlogEngine.NET, my visitor count went to about 0 because Google stopped indexing my page. The reason: redirect errors whatever page Google's web crawler attempts to load.

I already added this to the issue tracker some weeks ago (see Issue: BlogEngine.NET causes Redirect Errors for Google), you can find a more complete description of the error there.

Anyone can tell me what's wrong here? Why does the redirect happen and why can I view the posts in Firefox?

Btw, is the issue tracker used by this project at all? Issues seem to be simply mounting up without anyone looking at them.

Aug 26, 2009 at 2:12 PM

Based on your post Cygon, I'm assuming you're running on an Apache server. If so, do you have mod-rewrite turned on? If so, can you turn it off and see what happens? I'm guessing (based on what little knowledge of Apache that I have) that Apache's mod-rewrite is controlling the redirection after BE redirects the request.

Aug 27, 2009 at 9:00 AM

Correct, but I don't have mod_rewrite enabled on this domain. Other domains served by this Apache where mod_rewrite is enabled all configure mod_rewrite through a .htaccess file, which also doesn't exist in my BE folder, meaning that if mod_rewrite was enabled for some reason, it wouldn't do anything.


Sep 1, 2009 at 12:44 PM

I think I've got it solved now. After disabling BE's default 404 handler, this turned out to be a HTTP 500 (meaning BE converts any error into a 404 *eek*).

The reason is that on Mono, System.Globalization.CultureInfo.CurrentCulture.LCID can be 127 (the Invariant Culture), for which no System.Globalization.RegionInfo exists. So when the Browser doesn't specify a valid language, BE will fall back to 127 and then fail when constructing a RegionInfo for that. The HTTP 500 will cause ASP.NET to redirect to the custom error page, which will report a HTTP 404 error.