Введение

Наверное, каждый ASP.NET разработчик (или по крайней мере большинство) хочет иметь большое количество посетителей на своем сайте. Но посетители будут заходить на сайт, только если он будет на первых страницах Google или других поисковых систем. Поэтому каждый хочет видеть свой сайт в самом начале списка выдачи. За первые позиции идет нешуточная борьба, и Вы должны следить за каждым фактором оптимизации, влияющего на позицию в этом списке.


Существует более 100 важных факторов, используемых поисковыми системами для оценки релевантности страницы.  Большинство из них – просто теории, так как Google, Yandex и т.д. не раскрывают свои алгоритмы ранжирования. Кроме того, их алгоритмы очень часто меняются для поддержки релевантности результатов поиска. Google не может вручную изменить позицию страниц, даже если он считает, что некоторые из них должны иметь более низкую позицию. Вместо этого поисковые системы пытаются исправить ошибку алгоритма. Из-за этого SEO – очень динамическая и шаткая область веб разработки, но существуют основы, необходимые всем для изучения.

Уникальный заголовок (title) для каждой страницы

Каждая страница сайта должна иметь свой уникальный заголовок. Он должен быть кратким, содержательным и обязательно включать в себя ключевые слова, релевантные контенту на странице. Нежелательно вставлять название компании в начале каждого заголовка, поисковые системы могут посчитать данный ход как спам. Тег title может быть отредактирован на любой стадии проекта, но, если у вас имеется система управления контентом (CMS), Вы можете изменять его через свойство Page.Title:

[ C# ]

 

Page.Title = "ITVDN.com";

 

[ VB.NET ]

 

 Page.Title = "ITVDN.com";

 

Не используйте слишком длинные названия, так как поисковые системы обрезают тег title до 12-15 слов.

Использования мета-тегов “Description” и “Keywords”

Данные теги очень важны для поисковой оптимизации, но сейчас ими начали злоупотреблять. Сегодня мета-тег keywords - бесполезный инструмент, однако description по-прежнему остается основным ключевым тегом в SEO оптимизации. Google часто использует description при отображении результатов поиска в качестве текста под ссылкой на страницу. Поэтому, если у вас релевантный мета-тег description, Вы можете получить больше посещений, даже если Вы не на первых страницах поиска. Желательно установить уникальные описания для каждой страницы. Как и заголовок, Вы можете изменить данный мета-тег в разметке страницы, или динамически, на стороне сервера:

[ C# ]

 

protected void Page_Init(object sender, EventArgs e)

{

  // Тег description

  HtmlMeta metaDescription = new HtmlMeta();

  metaDescription.Name = "Description";

  metaDescription.Content = "Видеокурсы, видеотренинги  для  программистов. Языки программирования и информационные технологии";

  Page.Header.Controls.Add(metaDescription);

  // Тег keywords

  HtmlMeta metaKeywords = new HtmlMeta();

  metaKeywords.Name = "Keywords";

  metaKeywords.Content = "IT видео, Видео тренинги, видеокурсы, технологии Microsoft, видео обучение, ITVDN,Акции";

  Page.Header.Controls.Add(metaKeywords);

}

 

[ VB.NET ]

 

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
  '
Тег description
  Dim metaDescription As HtmlMeta = New HtmlMeta()
  metaDescription.Name = "Description"
  metaDescription.Content = "Видеокурсы, видеотренинги  для  программистов. Языки программирования и информационные технологии "
  Page.Header.Controls.Add(metaDescription)
 
  '
Тег keywords
  Dim metaKeywords As HtmlMeta = New HtmlMeta()
  metaKeywords.Name = "Keywords"
  metaKeywords.Content = "IT видео, Видео тренинги, видеокурсы, технологии Microsoft, видео обучение, ITVDN,Акции"
  Page.Header.Controls.Add(metaKeywords)
End Sub

 

Использование тега H1

Тег h1 – очень важный и в то же время очень простой способ улучшить Вашу позицию в результатах поиска. Лучше всего, если h1 будет иметь то же содержание, что и тег title. Просто поместите короткое, релевантное ключевое слово в теги h1 и title. Как и любой другой тег HTML, он изменяется в разметке, или динамически при добавлении runat="server" и установке его id:

 

<h1 runat="server" id="MyPageHeader" >h1>

 

Теперь вы можете манипулировать тегом h1 с помощью серверного кода ASP.NET:

[ C# ]

 

MyPageHeader.InnerText = "ITVDN.com";

 

[ VB.NET ]

 

 MyPageHeader.InnerText = "ITVDN.com";

 

Переадресация url адреса в ASP.NET

Иногда Вам нужно переместить страницу на другой URL или же полностью сменить домен. Типичный пример – смена ASP на ASP.NET. Для этого необходимо изменить расширения файлов с .asp на .aspx. Если посетитель заходит на Ваш старый адрес, он должен перенаправляться на новый адрес. Есть два вида переадресации:

  1. Временное перенаправление, выдающее сообщение “302 Found”. Используется очень редко.
  2. Постоянное перенаправление, выдающее “301 Moved Permanently”. Используется для передачи популярности (веса) на новый адрес.

Дружественные URL для SEO

Поисковые “web spiders” не любят непонятных символов в URL. Если Вы получаете данные из базы, чаще всего используется строка запроса вида /ShowProduct.aspx?id=23445. Данная гиперссылка выглядит достаточно логичной с точки зрения программирования, но неправильной для поисковых систем. Лучше использовать URL, содержащие ключевые слова, разделенные дефисом. Таким образом, вместо /ShowProduct.aspx?id?=23445 мы должны получить что-то вроде /My-Product-Name.aspx. Заметим, что URL, содержащая ключевые слова, легче читается человеком и лучше индексируется.

ViewState и SEO в ASP.NET

Существует предположение, что поисковые системы ограничены в чтении количества байтов для каждой страницы. Значение ViewState является скрытым полем на стороне клиента. Если у вас большой ViewState в начале страницы ASP.NET, то, возможно, “web spider” не увидит реального содержания страницы. Это может вредить ранжированию в результатах поиска. Самое простое решение проблемы – отключить ViewState, если он Вам не нужен. Но есть более правильный способ его отключения. В .NET Framework 3.5 SP1 введено новое свойство RenderAllHiddenFieldsAtTopOfForm. Установив значение на false, все генерируемые системой скрытые поля будут отображаться в конце страницы.

Комментируйте и оценивайте данную статью. 

Источник: http://www.codeproject.com/Articles/667340/SEO-For-ASP-NET-Web-Site