Идентификаторы ASP.Net Control вредны для SEO и размера страницы? - PullRequest
3 голосов
/ 11 августа 2010

Элементы управления ASP.Net (например, asp: Label) генерируют грязные идентификаторы HTML (например, ct100_ct100_Yabba_Dabba_Doo_FinallyTheRealId). Да, они безобразны, но кто-то сказал мне сегодня, что они также:

  1. недружественный для SEO
  2. увеличить размер страницы

Я наполовину верю 1) и наполовину не верю. Я знаю, что определенные имена идентификаторов (например, «заголовок») - это ключевые слова, которые поисковые системы будут использовать для создания метаинформации, но я более скептически отношусь к тому, что диапазон с id = «author» действительно влияет на SEO. Я готов признать, что могу ошибаться.

По пункту 2) я скептически настроен как минимум на 90%. Большая часть размера страницы не является html-символами, и я действительно задаюсь вопросом, добавит ли даже 100 длинных идентификаторов 1 КБ к размеру страницы.

Я могу пойти с одним из двух подходов. Какой подход вы бы выбрали?

Подход 1)

<asp:Label id="lblAuthor" runat="server"></asp:Label>

с кодом позади

protected void Page_Load(object sender, EventArgs e)
{
   lblAuthor.Text = "Superman";

или Подход 2)

<span id="author"><%# Eval("Author") %></span>

с кодом позади

public string Author { get; private set; }
protected void Page_Load(object sender, EventArgs e)
{
       Author = "Superman";

С одной стороны, 1) не генерирует неприятные идентификаторы. С другой стороны, я всегда ненавидел нетипизированные строки в веб-формах asp.net и избегал их, когда мог. Кроме того, если на странице более 30 элементов, я получаю 30 свойств страницы, что заставляет меня чувствовать себя неловко. (Примечание: причина любить то, как модель работает в шаблоне MVC).

Мы работаем в .Net 3.5.

Что ты думаешь?

Спасибо.

Ответы [ 3 ]

5 голосов
/ 12 августа 2010

Подход 3)

<span id="author"><asp:Literal id="author" runat="server" /></span>

Код:

author.Text = "Dr. Seuss";

asp:Literal - это то, что подразумевает имя, элемент управления, который отображает только текст, который вы отправляете;не больше, не меньше.

2 голосов
/ 12 августа 2010

Подход 3)

<span id="author"><asp:Literal id="litAuthor" runat="server" /></span>

с кодом позади

protected void Page_Load(object sender, EventArgs e)
{
   litAuthor.Text = "Superman";
}

это решает вашу проблему с ярлыками.Для других элементов, удачи;)

1 голос
/ 12 августа 2010

SEO: Нет

Размер страницы - УВЕРЕН.Я имею в виду, что строки длиннее, поэтому они занимают больше места, поэтому размер страницы увеличивается, если *

Обновите до .NET 4.0, тогда вы можете переопределить идентификаторы со стабильными короткими идентификаторами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...