• Вредна ли для SEO динамика страниц на сайте?

    Нет, никак не вредит. Никаких "фильтров" в такой ситуации быть не может. Если информация реально устаревает и перестаёт иметь ценность для посетителя, совершенно нормально дать ей исчезнуть. Трафик, который Вам могут принести старые страницы, скорее всего, не даст конверсий, а без них он бесполезен.
    Ответ написан
    5 комментариев
  • Действительно ли использование селектора по ID - признак абсолютно плохого стиля?

    @Quilin
    Full-stack разработчик
    Я бы все-таки настоятельно не рекомендовал вам использовать селекторы ID именно в CSS по одной простой причине.

    Движки рендеринга Gecko и Webkit при формировании Reflow и Layout соответственно строят индексы по ID ровно таким же способом, как и по имени класса. В качестве побочного явления - вы можете написать примерно то же, что и здесь, и код будет работать именно таким образом. Как по мне, это несколько неочевидное поведение, что стили применяются ко всем элементам с таким идентификатором, а не только к первому.

    Многие разработчики, да и начинающие верстальщики путают концепцию CSS и их селекторов с особенностями языка XML. Надо понимать, что ID в XML - это строгий параметр, по которому строится индекс с BST, который позволяет быстро находить первое совпадение идентификатора (то же происходит и в JS при вызове document.getElementById("test")), но в CSS и при построении лайаута все гораздо менее строго. И следует заметить, что сами разработчики браузеров решили так сделать, основываясь, вероятнее всего, на концепции того, что верстальщикам нередко приходится повторно пользоваться стилями, описанными для селекторов ID.

    Таким образом, с точки зрения быстродействия "#" ничем не отличается от ".", по крайней мере, в современных вебкитах и фаерфоксах. Теперь что касается точки зрения good practice.

    Я лично занимаюсь версткой уже почти десять лет, и точно для себя определил, что в работе, когда речь заходит о чужой или смежной с чужой области ответственности (а CSS - это смежная с дизайном область верстки), ничего уникального не бывает в принципе. А раз так - идентификатор может и запутать.

    В своей практике я всегда использую идентификаторы для тех нод, которые участвуют в JavaScript, и в уникальности роли которых я уверен. Конечно, там тоже иногда приходится менять, но гораздо реже, чем в CSS. Но для визуального отображения я всегда использую классы, чтобы иметь полное право не писать код повторно, если вдруг дизайнер захочет вставить "тот самый единственный на весь сайт хэдер, его точно больше нигде не будет" в другую часть страницы.

    Ну а что касается аргументов про "больше кода", могу предложить таким борцам за лишний десяток знаков перейти на шаблонизаторы; или перенять даже целиком концепцию БЭМ, тогда код совсем в разы уменьшится.
    Ответ написан
    Комментировать