SEO для веб-сайту ASP.NET

  1. Створіть унікальний заголовок для кожної сторінки
  2. Використовуйте мета-теги опису та ключових слів
  3. Використання тегу H1
  4. ASP.NET SEO перенаправлення URL
  5. SEO дружніх URL-адрес: Url Переписування
  6. ViewState і SEO в ASP.NET
  7. SEO Дружній друк з GridView, Repeater та інших елементів управління даними
  8. Нові функції SEO в ASP.NET 4.0
  9. Response.RedirectPermanent для 301 постійного перенаправлення
  10. Робота з www. субдомен
  11. AJAX і пошукова оптимізація
  12. Проблеми SEO сесій
  13. Висновок

Кожен розробник ASP.NET (або принаймні більшість з нас) хоче багато відвідувачів своїх веб-сайтів. Google, Yahoo та інші пошукові системи можуть надсилати багато відвідувань, особливо якщо ваш веб-сайт показаний на першій сторінці результатів пошуку. І навпаки, якщо ваш веб-сайт показаний на тридцятій сторінці або не індексований, ви не побачите ніякої користі пошукових систем. Тому що кожен хоче виграти першу сторінку є сильна конкуренція, і ви повинні дбати про кожен фактор, який впливає на те, наскільки ваша сторінка буде дружньою до пошукових систем.

Існує більше 100 важливих факторів, що використовуються з пошукових систем для ранжирування сторінки. Більшість з них є лише спекуляціями, оскільки Google, Yahoo та інші не хочуть розкривати свій алгоритм ранжирування. Крім того, їхні алгоритми змінюються дуже часто (сотні разів на рік), щоб поліпшити досвід користувачів і надати правильні результати. Навіть Google не має можливості вручну змінити рейтинг сторінки, якщо вони вважають, що якась сторінка має бути кращою або гіршою. Натомість вони намагаються з'ясувати, яка помилка в алгоритмі викликала неправильний рейтинг і спробувати виправити її таким чином. Через це пошукова оптимізація (SEO) є дуже динамічним полем, але основи і найважливіші речі залишаються тими ж.

Створіть унікальний заголовок для кожної сторінки

Кожна сторінка веб-сайту повинна мати свою унікальну назву. Заголовок має бути коротким, описовим, змістовним, містити ключові слова та відповідні змісту сторінки. Не вставляйте на початку заголовка кожної сторінки повторювану назву фрази типу компанії. Нехай першою буде ваша найдоречніша інформація. Тег заголовка можна редагувати під час розробки, але якщо у вас є система керування вмістом, ви можете змінити його за допомогою властивості Page.Title з таким кодом:

[C #]

Page.Title = "Мій унікальний та багатий на ключові слова назву";

[VB.NET]

Page.Title = "Мій унікальний та багатий на ключові слова назву"

Коли хтось використовує пошук Google, терміни запиту відображатимуться як напівжирний текст у результатах пошуку. Через це потрібно розмістити націлені ключові слова в заголовку, щоб зробити її помітною, а отже отримати більше кліків на ваш сайт. Звичайно, щоб отримати візит, титул повинен радувати і відвідувачів, а не лише пошукових систем. Ви не можете просто перераховувати ключові слова в назві без будь-якого сенсу. Замість цього, нехай ваші теги назви будуть точним описом кожної сторінки, і ви будете добре працювати як з пошуковими системами, так і з людьми. Не використовуйте занадто довгі назви, оскільки пошукові системи все одно скоротять його. Тримайте назву під 65 символами.

Використовуйте мета-теги опису та ключових слів

Мета-теги з описом і ключовими словами були дуже важливими для попередньої пошукової оптимізації, але вони широко використовуються. Сьогодні тег мета-ключових слів практично не потрібний, але мета-тег опису важливо. Хоча це не поліпшить вашу позицію в результатах пошуку, це вигідно опосередковано. Google часто використовує мета-тег опису, коли відображає результати пошуку нижче назви як короткий опис вашої сторінки. Отже, якщо у вас є помітний тег опису, ви можете отримати більше відвідувань, навіть якщо ви не перший в результатах пошуку. Встановіть унікальний опис сторінки для кожної сторінки. Як і заголовок сторінки, ви можете змінити мета-теги в розмітці або динамічно в коді на стороні сервера:

[C #]

захищений недійсний Page_Init (відправник об'єкта, EventArgs e)
{
// Додати тег опису мета
HtmlMeta metaDescription = new HtmlMeta ();
metaDescription.Name = "Опис";
metaDescription.Content = "Короткий, унікальний та опис ключових слів з великою кількістю ключових слів." ;
Page.Header.Controls.Add (metaDescription);

// Додати тег мета-ключових слів
HtmlMeta metaKeywords = новий HtmlMeta ();
metaKeywords.Name = "Ключові слова";
metaKeywords.Content = "вибраний, сторінка, ключові слова";
Page.Header.Controls.Add (metaKeywords);
}

[VB.NET]

Захищений Sub Page_Init (відправник ByVal як об'єкт, ByVal e як System.EventArgs) обробляє мене.
'Додати тег опису мета
Dim metaDescription As HtmlMeta = Нова HtmlMeta ()
metaDescription.Name = "Опис"
metaDescription.Content = "Короткий, унікальний та опис ключових слів з великою кількістю ключових слів."
Page.Header.Controls.Add (metaDescription)

"Додати тег мета-ключових слів
Dim metaKeywords As HtmlMeta = Нова HtmlMeta ()
metaKeywords.Name = "Ключові слова"
metaKeywords.Content = "вибрано, сторінка, ключові слова"
Page.Header.Controls.Add (metaKeywords)
End Sub

Цей підхід також буде працювати, якщо ви використовуєте головні сторінки.

Використання тегу H1

Тег H1 дуже важливий, але в той же час дуже простий спосіб поліпшити свою позицію в результатах пошуку. Найкраще, якщо тег h1 має такий же вміст, як тег заголовка. Просто розмістіть таку ж коротку, релевантну фразу з ключовими словами як для тегів h1, так і для заголовків, і це одне зусилля значно підвищить ваш рейтинг. Як і будь-який інший тег HTML, ви можете змінити тег h1 безпосередньо в розмітці або динамічно, якщо додати runat = "server" і встановити його ідентифікатор, як у коді нижче:

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

Тепер ви можете керувати тегом h1 з кодом сервера ASP.NET:

[C #]

MyPageHeader.InnerText = "Це мій загадковий заголовок";

[VB.NET]

MyPageHeader.InnerText = "Це мій заголовок"

Існують також важливі теги <h2> і <h3>, які можна використовувати для підзаголовків і тега <strong>, щоб зробити деякі ключові слова більш значними в тексті.

ASP.NET SEO перенаправлення URL

Іноді потрібно перемістити сторінку в іншу URL-адресу або перенести повний веб-сайт в інший домен. Поширеним прикладом є, якщо ви оновлюєте веб-сайт, створений в класичному ASP для ASP.NET, вам потрібно змінити розширення файлів з .asp на .aspx. Якщо якийсь відвідувач приходить до старого посилання з пошукової системи або безпосередньо, його слід перенаправити на нову URL-адресу. Можливі два перенаправлення:
1. Тимчасове перенаправлення, повертає повідомлення "302 Знайдено". Це перенаправлення має використовуватися тільки в разі необхідності, дуже рідко для оптимізації пошукових систем.
2. Постійне перенаправлення, повідомлення, що повертається, - "301 Moved Permanently". Це перенаправлення повідомляє павуків, що сторінка чи сайт переміщено в іншу URL-адресу. Він використовується в SEO для передачі популярності посилання на нову адресу.

Response.Redirect поверне перенаправлення 302, тому його не можна використовувати для пошукової оптимізації в ASP.NET. Для постійного переадресації використовуйте такий код:

[C #]

Response.Status = "301 Постійно переміщено";
Response.AddHeader ("Розташування", "/ your-new-url /");
Response.End ();

[VB.NET]

Response.Status = "301 Постійно переміщено"
Response.AddHeader ("Розташування", "/ your-new-url /")
Response.End ()

Цей код достатній, якщо потрібно перемістити одну сторінку. Але, якщо ви хочете перенести повний веб-сайт, краще це зробити в Internet Information Server (IIS). Перейдіть до старих властивостей сайту та виберіть вкладку Домашній каталог . Виберіть "Перенаправлення до URL-адреси" та напишіть нову URL-адресу в текстовому полі, як показано на зображенні:

Не забудьте встановити прапорець "Постійне перенаправлення для цього ресурсу", щоб отримати перенаправлення 301. Уникайте використання зворотного зв'язку

Деякі програмісти розміщують Button або LinkButton контроль на веб-формі і використовують Response.Redirect для переходу на іншу сторінку на контрольній події. Це проблема, оскільки елементи керування ASP.NET використовують JavaScript для створення списків публікацій. Оскільки веб-павуки не можуть працювати з JavaScript, багато сторінок не можуть бути проіндексовані і не відображатимуться в результатах пошуку. Щоб зробити веб-сторінки видимими для пошукових систем, намагайтеся уникати використання зворотного зв'язку. Замість кнопок Button або LinkButton розмістіть простий тег <a>. Текст на посиланнях має бути описовим, уникати безглуздих посилань, наприклад "Читати далі", "Натисніть тут" тощо

Якщо ви повинні використовувати зворотний зв'язок, то надайте альтернативний спосіб навігації, з простими простими гіперпосиланнями. Це може бути реалізовано у вигляді карти сайту. Карта сайту може бути сторінкою, яка містить перераховані посилання на всі сторінки веб-сайту. Коли веб-павук відвідує сторінку мапи сайту, він легко знайде всі інші сторінки.

SEO дружніх URL-адрес: Url Переписування

Веб-павуки не люблять параметри рядків запитів у URL-адресах. Якщо ви отримуєте дані з бази даних, часто використовується рядок запиту, як ShowProduct.aspx? Id = 23445. Незважаючи на те, що цей URL виглядає логічно з точки зору програміста, він не є зручним для користувачів і, як правило, не вписується в пошукові системи. Необхідно використовувати URL-адреси, які містять ключові слова, розділені дефісами. Отже, замість /ShowProduct.aspx?id?=23445 має бути щось на зразок /My-Product-Name.aspx. URL-адресу, яка містить ключові слова, легше читати відвідувачі та краще оцінюються в пошукових системах. Крім того, сайт з SEO дружніх URL-адрес є більш безпечним, оскільки ви можете приховати ID або навіть розширення файлу.

Перезапис URL-адрес в ASP.NET може бути реалізований на багатьох рівнях, безпосередньо на сторінці, у Global.asax, за допомогою користувацького модуля HTTP або обробника HTTP, на рівні веб-сервера тощо.

Переписування URL-адрес на сторінці є способом жорсткого кодування, але може бути корисним у деяких сценаріях. На сторінці з дружнім URL-адресою скористайтеся методом Server.Transfer, щоб викликати реальну сторінку. Отже, в даному випадку ви повинні мати сторінку frendly 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 e як System.EventArgs)
Додаток Dim Як HttpApplication = відправник
If (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 #, простий у використанні та використанні в багатьох великих і малих сайтах, включаючи цей веб-сайт.

ViewState і SEO в ASP.NET

Є припущення, що пошукові системи читають лише обмежену кількість байтів з кожної сторінки (перші 100K веб-сторінки). Значення 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 .

SEO Дружній друк з GridView, Repeater та інших елементів управління даними

За замовчуванням пейджинг в ASP.NET управління даними використовує постбек і javascript. Павуки пошукової системи перевіряють посилання і, як правило, уникають JavaScript, тому використовуючи за замовчуванням пейджер не є SEO дружньою опцією. Рішенням може бути використання користувальницького підкачки для GridView, Repeater та інших елементів керування даними, або для отримання додаткових параметрів і полегшення виконання цього завдання Керування SEO пейджером , що спеціалізується на пошуковій оптимізації та роботі з великими таблицями. Докладніше про підключення до елементів керування даними ASP.NET ви можете знайти в Передача даних в ASP.NET підручник.

Нові функції SEO в ASP.NET 4.0

Пряме маніпулювання тегами мета опису та ключових слів

ASP.NET 4.0 має нові можливості для зміни тегів мета-опису та мета-ключових слів. Звичайно, ви вже можете зробити це в будь-якій старій версії в ASP.NET, додавши runat = "server" до мета опису або тегу мета ключових слів, а потім назвавши його з коду сервера, ASP.NET 4.0 - простіше і швидше, нові властивості MetaDescription і MetaKeywords об'єкта "Сторінка", що використовуються як у коді нижче:

[C #]

Page.MetaDescription = "Це моя велика сторінка";
Page.MetaKeywords = "чудова сторінка";

[VB.NET]

Page.MetaDescription = "Це моя велика сторінка"
Page.MetaKeywords = "чудова сторінка"

Response.RedirectPermanent для 301 постійного перенаправлення

ASP.NET 4.0 містить ще одну цікаву функцію SEO. Метод Response.Redirect повертає 302 тимчасового перенаправлення. Щоб скористатися перенаправленням 301 з попередніми версіями ASP.NET, слід використовувати код, показаний у ASP.NET SEO перенаправлення URL розділ. З ASP.NET 4.0 ця робота простіше:

[C #]

Response.RedirectPermanent ("New-Page.aspx", true);

[VB.NET]

Response.RedirectPermanent ("New-Page.aspx", true)

Робота з www. субдомен

Це загальна проблема. З www. - це лише субдомен, пошукові системи можуть бачити дубльований вміст і розділяти репутацію між www.example.com/Your-Page.aspx і example.com/Your-Page.aspx. Набагато краще мати лише одне посилання на першій сторінці, ніж два посилання на тридцятій сторінці. Дозволити лише одне посилання на той самий вміст. Якщо ви виявите, що відвідувачі можуть переходити до одного вмісту через декілька різних URL-адрес, скористайтеся перенаправленням 301, щоб сконцентрувати всі позиції на одній URL-адресі.

AJAX і пошукова оптимізація

Ajax використовує JavaScript, а пошукові системи не люблять JavaScript. Таким чином, ваш сайт Ajax має велику потенційну проблему. Цілком можливо, що ваш вміст не буде проіндексований. Ви можете вимкнути JavaScript у своєму браузері та спробувати отримати доступ до всього вмісту на сайті. Якщо ви не бачите його без JavaScript, павуки також не побачать його.

Можливі рішення полягають у тому, щоб надати карту сайту з посиланнями на весь контент, або додати додатковий спосіб навігації, який використовує статичні посилання, або зробити ваш вміст спочатку завантажений без JavaScript.

Проблеми SEO сесій

За замовчуванням ASP.NET використовує файли cookie для зберігання сеансу. Оскільки веб-павуки, як правило, не приймають файли cookie, можливо, деякі з ваших вмістів будуть невидимими, якщо для показу його потрібні змінні сеансу. Ви можете змінювати налаштування та зберігати сеанс у url (ви можете зробити це у web.config, змінивши параметр cookieless параметра sessionState на true), але це ще гірше, оскільки популярність посилання буде розділена на багато різних URL з дубльованим вмістом. Існує можливість встановити значення cooki без значення AutoDetect. Це означає, що ASP.NET буде використовувати cookies, якщо браузер підтримує його, тому для питань SEO це не вирішує проблему.

Рішенням може бути встановлення атрибута cookieless до помилкового, а також надання способу павукам знайти весь контент через прості посилання.

Висновок

Як бачите, дуже просто зробити веб-сайт ASP.NET невидимим для пошукових систем :). Для навігації просто використовуйте кнопки управління кнопками або LinkButton, і ніхто не знайде ваш сайт через пошук Google. Навпаки, щоб отримати максимум трафіку від пошукових систем, потрібно дотримуватися їхніх правил і бути більш дружніми пошуковим системам. Я сподіваюся, що я пояснив деякі основи пошукової оптимізації (SEO) для веб-сайту ASP.NET. Якщо ви зацікавлені, щоб дізнатися більше про цю тему, особливо якщо ви будуєте комерційні веб-сайти, перевірте Професійна пошукова оптимізація з ASP.NET: Керівництво розробника по SEO (Wrox Professional Guides) книги. Є багато інших книг, які охоплюють пошукової оптимізації, але це зосереджено на конкретних питаннях ASP.NET SEO.

Нарешті, всі ці технічні поради та хитрощі не мають значення, якщо ви не маєте якісного вмісту в тезі вашого тіла. Якщо ваш вміст великий, люди посилаються на вашу сторінку природно. Вхідні посилання з відповідних сайтів є найважливішим фактором для ранжирування. Сподіваюся, ви знайшли цікаві ідеї в цьому підручнику. Щасливі кодування!

Панель інструментів підручника: Скажи другу | Додати в обране | Зворотній зв'язок | Google

коментарі Aspx?
Aspx?
Id?
Aspx?
Aspx?
Aspx?