Sitemap полезная технология, для указания поисковым системам где находится контент. Они конечно могут найти его и по ссылкам, но это дает возможность указать в первую очередь новые и изменившиеся страницы. Её поддерживают основные поисковики – Гугл, Яндекс, Яху, Лайв.
Этот протокол изначально планировался легко расширяемым (в кратце – это просто xml файл) и гугл уже добавил полезные дополнения. Это раширение протокола – Video Sitemaps. Оно полезно для разнообразных видеохостингов – указывает дополнительную информацию о видео, проигрывающихся на страницах. Гугл его использует при поиске по видео (http://video.google.com). Поэтому если у вас на сайте публикуется видео – настоятельно рекомендую обратить внимание. Также надеюсь, что Яндекс на своем поиске по видео http://video.yandex.ru тоже будет его использовать.
А теперь, по уже наметившейся традиции, хватит теории и немного практики. Конечно на .NET :)
В .NET 3.5 стало намного проще и изящнее создавать xml документы в коде с помощью LINQ to XML.
Вот небольшие выдержки из кода на FilmOnline.ru video sitemap сделан для трейлеров фильмов:
/// <summary>
/// For protocols details see https://www.google.com/webmasters/tools/docs/en/protocol.html
/// </summary>
public static readonly XNamespace sitemap =
"http://www.sitemaps.org/schemas/sitemap/0.9";
...
private static XDocument CreateSitemap(IEnumerable<MyPair<string, DateTimeOffset?>> locations,
Func<string, XElement, XElement> processor)
{
return new XDocument(
new XElement(sitemap + "urlset",
locations
.Where(loc => !string.IsNullOrEmpty(loc.First))
.Select(loc => processor(loc.First,
new XElement(sitemap + "url",
new XElement(sitemap + "loc", loc.First),
loc.Second.CoalesceEx(date =>
new XElement(sitemap + "lastmod",
date.Value.ToString("yyyy-MM-ddTHH:mm:ss%K")))
)))));
}
...
/// <summary>
/// For protocols details see http://www.google.com/support/webmasters/bin/answer.py?answer=80472&topic=10079
/// </summary>
public static readonly XNamespace video =
"http://www.google.com/schemas/sitemap-video/1.0";
...
element.Add(new XElement(video + "video",
new XElement(video + "content_loc", trailer.Data.AbsoluteUri),
new XElement(video + "title", trailer.Title),
trailer.Thumbnail.CoalesceEx(thumb =>
new XElement(video + "thumbnail_loc", thumb.AbsoluteUri))));
Пример результата можно посмотреть, например, здесь: http://filmonline.ru/Sitemap/External/Trailers/www.afisha.ru/movie/trailer/190429/.
Комментариев нет:
Отправить комментарий