SEO Issue: Sitemap Protocol 0.84 Deprecated

Jul 1, 2013 at 7:57 PM
Edited Jul 1, 2013 at 7:59 PM
Hello, Blogengine 2.8.0.1 needs to be updated with a new sitemap schema, because the sitemap protocol 0.84 is now deprecated by Google.
Google adheres to Sitemap Protocol 0.9 as defined by sitemaps.org.
Check this info: http://www.google.com/schemas/sitemap/0.84/
Nov 7, 2013 at 7:52 AM
Has anyone done this change? from protocol 0.84 to protocol 9.0
Coordinator
Nov 7, 2013 at 3:22 PM
At a minimum, all you have to do is to change in the BlogEngine.Core/HttpHandlers/SiteMap.cs

from:
writer.WriteStartElement("urlset", "http://www.google.com/schemas/sitemap/0.84");

to:
writer.WriteStartElement("urlset", "http://www.google.com/schemas/sitemap/0.9");

I don't see any changes to the nodes used by BE, only version number moved from 0.84 to 0.9. But you would have to do it in VS and then compile core DLL, because change is in the core class, not website.
Nov 7, 2013 at 8:21 PM
Thanks for your help.. rtur..
Nov 7, 2013 at 11:27 PM
I notice that the correct urlset, according sitemap schemas, is "http://www.sitemaps.org/schemas/sitemap/0.9" as we can see in this page > http://www.sitemaps.org/protocol.html ; am I wrong?
Nov 8, 2013 at 1:54 AM
Not wrong.
For what it's worth, I didn't see any difference in format affecting BE between versions 0.84 and 0.9 either.
When this issue was first raised I took the precaution of altering SiteMap.cs to reflect the change in version number.
Shoot me down for not being particularly interested in SEO apart from producing semantic markup and relevant accessible content, but having made that change, I can't say that I noticed any observable benefit at that time other than piece of mind. Having said that, if the protocol is deprecated and you know about it, play it safe and change the version number.
Coordinator
Nov 8, 2013 at 3:59 PM
Yep, my mistake - new set should be "http://www.sitemaps.org/schemas/sitemap/0.9". No other changes, and I'm changing it in current code so should be ok going forward.
Nov 8, 2013 at 6:33 PM
Ok but for those who are not programmer and would like to apply that change what are the steps to follow?

I downloaded source and be done editing the file SiteMap.cs in VS with new link, now???

Blogengine.core.dll is in BIN folder. After compilation, I only need to replace the old file with new... right?

But process to compile core DLL???? How is?

I have VS 2005..

Can you help me???
Nov 8, 2013 at 7:07 PM
Hi fabry19dice,


Here are the steps:
  1. Download Visual Studio 2013 Express
http://www.asp.net/downloads
  1. Download the full source code of the current version you are using on your website
BlogEngine.NET 2.8 (source)

https://blogengine.codeplex.com/downloads/get/666188

Or go here to find your current version:

https://blogengine.codeplex.com/SourceControl/list/changesets
  1. Now edit the file
BlogEngine.Core/HttpHandlers/SiteMap.cs


Note: You can not just edit this file with out the full source code of your website, you have to have full source
in order to compile it into a .dll
  1. After you edited the file save it.
  2. Go to solution explore and right click on "ReBuild"
What this does is recompile it into the Blogengine.core.dll
  1. Now press Ctrl+F5 to run it to make sure it is running ok
  2. Now upload the updated Blogengine.core.dll into your website.
Here is a YouTube Video I made a while back showing how to do this, turn on your speakers :)

http://www.youtube.com/watch?v=N4hQEtGSZEM


Have a Great Day!

Brian Davis

http://Kbdavis07.info
Coordinator
Nov 8, 2013 at 7:23 PM
Thanks Brian!

For a new version, I've added app setting so if in the future this changes again, we'll only need to update value in web.config.
Nov 8, 2013 at 9:07 PM
Thanks Brian,

your explanation is very detailed..... I did all!!

Fabry