Каждый разработчик ASP.NET (или, по крайней мере, большинство из нас) хочет, чтобы на их веб-сайтах было много посетителей. Google, Yahoo и другие поисковые системы могут отправлять множество посещений, особенно если ваш сайт отображается на первой странице их результатов поиска. И наоборот, если ваш веб-сайт отображается на тридцатой странице или не проиндексирован, вы не увидите никакой выгоды от поисковых систем. Поскольку все хотят выиграть первую страницу, существует сильная конкуренция, и вам нужно позаботиться о каждом факторе, который влияет на то, насколько ваша страница будет дружественной для поисковых систем.
Существует более 100 важных факторов, используемых поисковыми системами для ранжирования страницы. Большинство из них - просто предположения, поскольку Google, Yahoo и другие не хотят раскрывать свой алгоритм ранжирования. Кроме того, их алгоритмы меняются очень часто (сотни раз в год), чтобы улучшить взаимодействие с пользователем и обеспечить правильные результаты. Даже у Google нет возможности вручную изменять рейтинг страниц, если они считают, что какая-то страница должна иметь более высокий или худший рейтинг. Вместо этого они пытаются выяснить, какая ошибка в алгоритме вызвала неправильное ранжирование, и пытаются исправить это таким образом. Из-за этого поисковая оптимизация (SEO) является очень динамичной областью, но основы и самые важные вещи остаются прежними.
У каждой страницы сайта должен быть свой уникальный заголовок. Заголовок должен быть кратким, описательным, осмысленным, содержать ключевые слова и соответствовать содержанию страницы. Не вставляйте повторяющиеся фразы, такие как название компании, в начале заголовка каждой страницы. Пусть ваша самая актуальная информация появится первой. Тег title можно редактировать во время разработки, но если у вас есть какая-то система управления контентом, вы можете изменить ее, используя свойство Page.Title с кодом, подобным следующему:
[C #]
Page.Title = "Мои уникальные ключевые слова с богатым заголовком";
[VB.NET]
Page.Title = "Мой уникальный заголовок с богатым названием"
Когда кто-то использует поиск Google, термины запроса будут отображаться жирным шрифтом в результатах поиска. Из-за этого вам нужно разместить целевые ключевые слова в заголовке, чтобы сделать его заметным и, следовательно, получить больше кликов на ваш сайт. Конечно, чтобы посетить ваш титул, нужно порадовать и посетителей, а не только поисковые системы. Вы не можете просто перечислить ключевые слова в заголовке без какого-либо значения. Вместо этого, пусть ваши теги заголовков будут точными описаниями каждой страницы, и вы будете в порядке как с поисковыми системами, так и с людьми. Не используйте слишком длинные заголовки, потому что поисковые системы все равно их урежут. Держите заголовок длиной до 65 символов.
В прошлом мета-теги описания и ключевых слов были очень важны для поисковой оптимизации, но ими широко злоупотребляли. В настоящее время мета-тег ключевых слов практически бесполезен, но мета-тег описания по-прежнему важен. Хотя это не улучшит вашу позицию в результатах поиска, это косвенно выгодно. Google часто использует мета-тег описания при отображении результатов поиска под заголовком в качестве краткого описания вашей страницы. Таким образом, если у вас есть броский мета-тег описания, вы можете получить больше посещений, даже если вы не первый в результатах поиска. Установите уникальное описание страницы для каждой страницы. Как и заголовок страницы, вы можете изменять метатеги в разметке или динамически в коде на стороне сервера:
[C #]
защищенный void Page_Init (отправитель объекта, EventArgs e)
{
// Добавить мета-тег описания
HtmlMeta metaDescription = new HtmlMeta ();
metaDescription.Name = "Описание";
metaDescription.Content = "Краткое описание страницы с уникальными ключевыми словами." ;
Page.Header.Controls.Add (MetaDescription);
// Добавить мета-тэг
HtmlMeta metaKeywords = new HtmlMeta ();
metaKeywords.Name = "Ключевые слова";
metaKeywords.Content = "выбрано, страница, ключевые слова";
Page.Header.Controls.Add (metaKeywords);
}
[VB.NET]
Защищенный Sub Page_Init (ByVal отправитель как объект, ByVal и как System.EventArgs) Обрабатывает меня .Init
Добавить мета-тег описания
Dim metaDescription As HtmlMeta = New HtmlMeta ()
metaDescription.Name = "Описание"
metaDescription.Content = "Краткое описание страницы с уникальными ключевыми словами."
Page.Header.Controls.Add (MetaDescription)
Добавить мета-тэг
Dim metaKeywords As HtmlMeta = New HtmlMeta ()
metaKeywords.Name = "Ключевые слова"
metaKeywords.Content = "выбрано, страница, ключевые слова"
Page.Header.Controls.Add (metaKeywords)
End Sub
Этот подход также будет работать, если вы используете главные страницы.
Тег H1 очень важен, но в то же время очень простой способ улучшить вашу позицию в результатах поиска. Лучше всего, если тег h1 имеет такое же содержимое, как тег title. Просто поместите одну и ту же короткую релевантную фразу с ключевыми словами в теги h1 и title, и это единственное усилие значительно повысит ваш рейтинг. Как и любой другой тег HTML, вы можете изменить тег h1 непосредственно в разметке или динамически, если добавите runat = "server" и установите его идентификатор, как показано ниже:
<h1 runat = "server" id = "MyPageHeader" > </ h1>
Теперь вы можете манипулировать тегом h1 с помощью кода на стороне сервера ASP.NET:
[C #]
MyPageHeader.InnerText = "Это мой броский заголовок";
[VB.NET]
MyPageHeader.InnerText = "Это мой броский заголовок"
Существуют также важные теги <h2> и <h3>, которые можно использовать для подзаголовков, и тег <strong>, чтобы сделать некоторые ключевые слова более значимыми в тексте.
Иногда вам нужно переместить страницу на другой URL-адрес или полностью переместить веб-сайт на другой домен. Типичный пример: если вы обновляете веб-сайт, созданный в классическом ASP, до ASP.NET, вам нужно изменить расширение файла с .asp на .aspx. Если какой-либо посетитель заходит на вашу старую ссылку из поисковой системы или напрямую, он или она должны быть перенаправлены на новый URL. Есть два возможных перенаправления:
1. Временное перенаправление, возвращает сообщение «302 найдено». Это перенаправление следует использовать только при необходимости, очень редко для поисковой оптимизации.
2. Постоянное перенаправление, возвращено сообщение «301 перемещено окончательно». Это перенаправление сообщает паукам, что страница или сайт перемещены на другой URL. Он используется в SEO, чтобы перенести популярность ссылок на новый адрес.
Response.Redirect вернет перенаправление 302, поэтому его нельзя использовать для поисковой оптимизации в ASP.NET. Для перенаправления навсегда используйте код, подобный следующему:
[C #]
Response.Status = "301 перемещено навсегда";
Response.AddHeader ("Location", "/ your-new-url /");
Response.End ();
[VB.NET]
Response.Status = "301 перемещено навсегда"
Response.AddHeader ("Location", "/ your-new-url /")
Response.End ()
Этого кода достаточно, если вам нужно переместить одну страницу. Но если вы хотите переместить полный веб-сайт, лучше всего это сделать на Internet Information Server (IIS). Перейти к старым свойствам сайта и выбрать вкладку Домашний каталог . Выберите «Перенаправление на URL» и напишите новый URL в текстовом поле ниже, как показано на рисунке:
Не забудьте установить флажок «Постоянное перенаправление для этого ресурса», чтобы получить перенаправление 301. Избегайте использования обратной передачи
Некоторые программисты помещают элемент управления Button или LinkButton в веб-форму и используют Response.Redirect для перехода на другую страницу события щелчка элемента управления. Это проблема, потому что элементы управления ASP.NET используют JavaScript для отправки сообщений назад. Поскольку веб-пауки не могут работать с JavaScript, многие страницы не могут быть проиндексированы и не будут отображаться в результатах поиска. Чтобы сделать веб-страницы видимыми для поисковых систем, старайтесь избегать использования обратной передачи. Вместо элементов управления Button или LinkButton разместите простой тег <a>. Текст в ссылках должен быть описательным, избегать бессмысленных ссылок, таких как «Читать дальше», «Нажмите здесь» и т. Д.
Если вам необходимо использовать обратную передачу, предоставьте альтернативный способ навигации с помощью простых простых гиперссылок. Это может быть реализовано в виде карты сайта. Карта сайта может быть страницей, содержащей ссылки на все страницы веб-сайта. Когда веб-паук посещает страницу карты сайта, он легко найдет все остальные страницы.
Веб-пауки не любят параметры строк запроса в URL. Если вы получаете данные из базы данных, обычно используется строка запроса, например ShowProduct.aspx? Id = 23445. Хотя этот URL выглядит логичным с точки зрения программиста, он не удобен для пользователя и обычно не имеет хорошего рейтинга в поисковых системах. Вам нужно использовать URL-адреса, содержащие ключевые слова, разделенные дефисами. Таким образом, вместо /ShowProduct.aspx?id?=23445 должно быть что-то вроде /My-Product-Name.aspx. URL-адрес, содержащий ключевые слова, легче читается посетителями сайта и лучше оценивается в поисковых системах. Кроме того, сайт с SEO дружественными URL-адресами более безопасен, так как вы можете скрыть идентификатор или даже расширение файла.
Перезапись URL в ASP.NET может быть реализована на многих уровнях, непосредственно на странице, в Global.asax, с помощью специального модуля HTTP или обработчика HTTP, на уровне веб-сервера и т. Д.
Перезапись URL-адреса на странице является жестким способом кодирования, но может быть полезен в некоторых сценариях. На странице с понятным URL используйте метод Server.Transfer для вызова реальной страницы. Таким образом, в этом случае у вас должна быть страница с независимым URL-адресом в виде файла и поместите в нее всего одну строку кода для передачи выполнения:
Server.Transfer ("/UnfriendlyPage.aspx?id=423874")
Перезапись URL-адреса в Global.asax использует метод RewritePath в событии Application_BeginRequest. Реализация может выглядеть так:
[C #]
void Application_BeginRequest (отправитель объекта, EventArgs e)
{
HttpApplication app = (HttpApplication) отправитель;
if (app.Request.Url.AbsolutePath.StartsWith ("http://www.example.com/Friendly-Page/"))
{
app.Context.RewritePath ("/UnfriendlyPage.aspx?id=423874");
}
}
[VB.NET]
Защищенное Sub Application_BeginRequest (отправитель ByVal как объект, ByVal и как System.EventArgs)
Dim app As HttpApplication = отправитель
Если (app.Request.Url.AbsolutePath.StartsWith ("http://www.example.com/Friendly-Page/")), то
app.Context.RewritePath ("/UnfriendlyPage.aspx?id=423874")
End If
End Sub
Если вы заинтересованы в переписывании URL с помощью модуля HTTP или проверки обработчика HTTP Перезапись URL в ASP.NET учебник, где объясняются оба метода.
Чтобы получить быстрые результаты, вы можете попробовать http://urlrewriter.net/ , Это бесплатное средство перезаписи URL с открытым исходным кодом для ASP.NET, написанное на C #, простое в использовании и используемое на многих больших и малых сайтах, включая этот веб-сайт.
Существует предположение, что поисковые системы читают только ограниченное количество байтов с каждой страницы (первые 100 КБ веб-страницы). Значение ViewState - это строка, представленная как скрытое поле на стороне клиента. Если у вас есть большой ViewState в начале страницы ASP.NET, тогда веб-пауки могут избежать вашего реального контента. Это может быть вредно для вашего рейтинга в результатах поиска. Простое решение - отключить ViewState, если он вам не нужен, или, по крайней мере, не использовать его для каждого элемента управления. Если вам действительно нужен ViewState, в web.config есть новая опция, чтобы поместить его в конец страницы:
<pages renderAllHiddenFieldsAtTopOfForm = "false" />
Следуя той же идее, вы должны удалить все ненужные HTML, код JavaScript и стили CSS, чтобы получить меньшую страницу. Вы по-прежнему можете и должны использовать JavaScript и CSS там, где это необходимо, но вызывать их из внешнего файла. Это также уменьшит количество повторяющихся работ.
Тем не менее, этот разговор об ограниченной загрузке страниц является лишь предположением, лично я не верю, что это полностью верно. Но поисковые системы наверняка стараются угодить своим пользователям и пользователям, как быстрым веб-сайтам. Из-за этого страницы, которые загружаются быстрее, будут ранжироваться лучше. Время загрузки является одним из факторов ранжирования. Удаляя или уменьшая ViewState, удаляя ненужные HTML-теги и комментарии HTML, перемещая JavaScript и CSS во внешний файл и оставляя на странице только полезный контент, вы повышаете свой рейтинг как прямо, так и косвенно. Последней вещью может быть проверка вашего вывода HTML на http://validator.w3.org ,
По умолчанию для подкачки страниц в элементах управления ASP.NET используются обратная передача и JavaScript. Пауки поисковых систем проверяют ссылки и, как правило, избегают JavaScript, поэтому использование пейджера по умолчанию не подходит для SEO. Решением может быть использование настраиваемой подкачки для GridView, Repeater и других элементов управления данными, или чтобы получить больше опций и упростить эту задачу, используя наши SEO Pager Control специализируется на поисковой оптимизации и работе с большими таблицами. Подробнее о подкачке в элементах управления данными ASP.NET вы можете найти в Пейджинг данных в ASP.NET руководство.
В ASP.NET 4.0 появились новые опции для изменения мета-описания и мета-тэгов. Конечно, вы уже можете сделать это в любой более старой версии в ASP.NET, добавив runat = "server" в мета-описание или мета-тэг ключевого слова и затем вызвав его из кода на стороне сервера, ASP.NET 4.0 упрощается и ускоряется, вводит новые свойства MetaDescription и MetaKeywords объекта Page, используемые как в коде ниже:
[C #]
Page.MetaDescription = "Это моя замечательная страница";
Page.MetaKeywords = "great, page";
[VB.NET]
Page.MetaDescription = "Это моя замечательная страница"
Page.MetaKeywords = "great, page"
ASP.NET 4.0 включает в себя еще одну интересную функцию SEO. Метод Response.Redirect возвращает 302 временного перенаправления. Для использования перенаправления 301 с более ранними версиями ASP.NET вы должны использовать код, показанный в Перенаправление URL ASP.NET SEO раздел. С ASP.NET 4.0 эта работа проще:
[C #]
Response.RedirectPermanent ("New-Page.aspx", true);
[VB.NET]
Response.RedirectPermanent ("New-Page.aspx", true)
Это общая проблема. С www. это просто поддомен, поисковые системы могут видеть дублированный контент и делить репутацию между www.example.com/Your-Page.aspx и example.com/Your-Page.aspx. Гораздо лучше иметь только одну ссылку на первой странице, чем две ссылки на тридцатой странице. Разрешить только одну ссылку на один и тот же контент. Если вы обнаружите, что посетители могут переходить к одному и тому же контенту через несколько разных URL-адресов, используйте перенаправление 301, чтобы сфокусировать все ранжирование на одном URL-адресе.
Ajax использует JavaScript, а поисковые системы не любят JavaScript. Итак, ваш Ajax-сайт имеет большую потенциальную проблему. Вполне возможно, что ваш контент не будет проиндексирован. Вы можете отключить JavaScript в своем браузере и попытаться получить доступ ко всему контенту на сайте. Если вы не можете увидеть это без JavaScript, пауки тоже не увидят.
Возможные решения - предоставить карту сайта со ссылками на весь контент или добавить дополнительный способ навигации, использующий статические ссылки, или сделать ваш контент изначально загруженным без JavaScript.
По умолчанию ASP.NET использует куки для хранения сессии. Поскольку веб-пауки обычно не принимают куки, возможно, что часть вашего контента будет невидимой, если переменные сеанса требуются для его отображения. Вы можете изменить настройки и сохранить сеанс в URL (вы можете сделать это в файле web.config, изменив для параметра cookieState без параметра cookie значение true), но это еще хуже, поскольку популярность ссылок будет разделена на множество разных URL с дублированным содержимым. Существует возможность установить значение без печенья в AutoDetect. Это означает, что ASP.NET будет использовать куки, если браузер поддерживает их, поэтому для проблем SEO это не решает проблему.
Решением может быть присвоение атрибуту cookieless значения false и предоставление паукам способа найти весь контент с помощью простых ссылок.
Как видите, очень легко сделать сайт ASP.NET невидимым для поисковых систем :). Просто используйте элементы управления Button или LinkButton для навигации, и никто не найдет ваш сайт с помощью поиска Google. Напротив, чтобы получить максимальный трафик от поисковых систем, вы должны следовать их правилам и быть более дружественными для поисковых систем. Надеюсь, я хорошо объяснил некоторые основы поисковой оптимизации (SEO) для веб-сайта ASP.NET. Если вы хотите узнать больше об этой теме, особенно если вы создаете коммерческие веб-сайты, проверьте Профессиональная поисковая оптимизация с помощью ASP.NET: Руководство для разработчиков по SEO (Wrox Professional Guides) книга. Есть много других книг, посвященных поисковой оптимизации, но это сфокусировано на конкретных проблемах ASP.NET SEO.
Наконец, все эти технические советы и рекомендации не имеют значения, если у вас нет качественного содержимого внутри тега body. Если ваш контент отличный, люди будут ссылаться на вашу страницу естественным образом. Входящие ссылки с соответствующих сайтов являются наиболее важным фактором для рейтинга. Я надеюсь, что вы нашли некоторые интересные идеи в этом уроке. Удачного кодирования!
Панель инструментов учебника: Рассказать другу | Добавить в избранное | Обратная связь | Google
комментарии предоставленыCopyleft © 2017 . www.prirodnadzor-penza.ru