В чем разница между <s> и <del> в HTML и влияют ли они на ранжирование сайтов? - программирование
Подтвердить что ты не робот

В чем разница между <s> и <del> в HTML и влияют ли они на ранжирование сайтов?

В чем разница между <s> и <del>? Я прочитал здесь, что существуют семантические различия между <b> и <strong>, применимо ли это к <s> и <del>? Кроме того, как эти семантические различия, если таковые имеются, интерпретируются поисковыми системами и какие они влияют на ранжирование? Существуют ли другие теги, которые влияют на ранжирование поиска?

4b9b3361

Ответ 1

<s> и <del> оба они все еще существуют в спецификации HTML.

  • Элемент <del> представляет удаление из документа.
  • <s> представляет собой содержимое, которое больше не является точным или больше не актуальным.

То есть они фактически представляют разные вещи семантически. В частности, <del> будет использоваться, если у вас есть существующий документ и вы хотите указать текст, который был в документе, но был удален. Это будет отличаться от текста в документе, который не является точным, но он не был удален (для этого вы можете использовать <s>).

Вы не должны использовать или не зависеть ни от стиля, даже если у большинства браузеров они по умолчанию удаляются. Вы должны полагаться только на CSS для презентации.

Из-за меркурийности работы поисковых систем очень сложно сказать, повлияет ли один тег на то, как создаются ключевые слова и индексируется ваш контент. Вы должны сосредоточиться на создании хорошего контента, который семантически корректен, и ваш рейтинг сайта будет следовать.

Ответ 2

Прочитав существующий ответ, я все еще не знал, какой из них использовать в моем приложении. Мы согласны, что на первый взгляд они одинаковы, и разница в основном сводится к семантике. Документы Mozilla MDN помогли уточнить семантику для меня.

Я думаю, что <s> подходит для большинства случаев использования, и вот почему вместе с четырьмя соответствующими параметрами:

  1. <strike>

    Понятно, что <strike> устарела, и поэтому больше не подходит для использования.

  2. <s>

    С <s> по MDN:

    Элемент зачеркивания HTML (<s>) отображает текст с зачеркиванием или через него линией. Используйте элемент <s> для представления вещей, которые больше не актуальны или более не точны. Однако <s> не подходит для указания изменений документа; для этого, при необходимости, используйте элементы <del> и <ins>. **

  3. <del>

    С <del> on MDN:

    Элемент HTML Deleted Text (<del>) представляет диапазон текста, который был удален из документа. Этот элемент часто (но не обязательно) отображается с помощью зачеркнутого текста.

    Самый большой ключ для меня на этой странице - это то, что <del>, как и <ins>, предлагает два дополнительных (необязательных) атрибута: cite и datetime которые имеют смысл ссылаться на изменение контекста документа. Как контрпример, если бы я обновлял меню ресторана, цитирование источника для пункта меню, который был продан, не кажется уместным.

  4. Нет тегов/использовать CSS

    Если ничего из вышеперечисленного не подходит для вашего варианта использования, помните, что вы все равно можете определить собственный класс.

    .purchased { text-decoration: line-through; }
    <p>Wish list</p>
    <ul>
      <li class="purchased">New MacBook</li>
      <li>Cookies</li>
    </ul>

Ответ 3

Между del и s нет практической разницы, за исключением того, что имена тегов разные. Они имеют одинаковый рендеринг по умолчанию (перегруженный текст), и нет никаких доказательств какой-либо разницы в обработке браузерами или поисковыми системами, и нет причин ожидать таких различий, поскольку "семантические" определения являются расплывчатыми, и авторы не заботятся о них., Нет никаких доказательств каких-либо действий в поисковых системах над этими элементами - они работают с текстом и обычно игнорируют разметку на уровне текста, за исключением, возможно, некоторых элементов, которые могут рассматриваться как увеличивающие относительный вес их содержимого на странице.

Рендеринг по умолчанию или "ожидаемый" по умолчанию явно указан в разделе " Рендеринг " в HTML5 CR: del, s, strike { text-decoration: line-through; } del, s, strike { text-decoration: line-through; }

Теоретическое различие заключается в том, что спецификации и черновики HTML говорят об их "значении", которое варьируется от одной версии HTML к другой.

Таким образом, вы можете использовать любой элемент, или ни один. Перетаскивание текста не очень хорошая идея, поскольку легко затрудняет чтение некоторых букв. Но если вам нужно перегрузить (например, потому что объявление должно содержать перерасход старой цены), возможно, безопаснее всего использовать strike, который является честным презентационным элементом. Таким образом, вы избегаете даже теоретической возможности того, что какое-то программное обеспечение может интерпретировать s или del каким-то особым образом, основываясь на том, что кто-то читает HTML5 CR, возможно, отличается от ваших намерений, и, таким образом, может вызывать некоторую визуализацию или обработку, которые не соответствуют вашей причина перегрузки. (Исторически s и strike были синонимами, но HTML5 CR делает произвольное различие между ними, делая s "семантическим" и strike презентационным.)

Ответ 4

Я бы использовал их так, как они семантически определены: DEL для текста, который был удален, и S для текста, который теперь неточен, но не был удален.

Они могут в основном выглядеть одинаково, но могут быть обработаны по-разному с помощью считывателей экрана и других инструментов доступности. DEL может полностью игнорироваться (например: не считываться), а S может быть считан, но отличается от обычного текста.