Замена текста H1 с изображением логотипа: лучший метод для SEO и доступности?

Да, это возможно. Фактически, это основная функция bittorrent DHT, связывающая несколько < IP-адрес, порт > кортежи с одним ключом.

232
задан animuson 17 September 2013 в 11:12
поделиться

7 ответов

Вы пропускаете опцию:

<h1>
  <a href="http://stackoverflow.com">
    <img src="logo.png" alt="Stack Overflow" />
  </a>
</h1>

заголовок в href и img к h1 очень, очень важен!

215
ответ дан Henrique Marba 23 November 2019 в 03:36
поделиться

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

Обновление: Похож я был неправ. Проверьте этот статья .

0
ответ дан Shoban 23 November 2019 в 03:36
поделиться

Я думаю, что Вы интересовались бы дебаты H1 . Это - дебаты о том, использовать ли h1 элемент для заголовка страницы или для логотипа.

Лично я пошел бы с Вашим первым предложением, чем-то вдоль этих строк:

<div id="header">
    <a href="http://example.com/"><img src="images/logo.png" id="site-logo" alt="MyCorp" /></a>
</div>

<!-- or alternatively (with css in a stylesheet ofc-->
<div id="header">
    <div id="logo" style="background: url('logo.png'); display: block; 
        float: left; width: 100px; height: 50px;">
        <a href="#" style="display: block; height: 50px; width: 100px;">
            <span style="visibility: hidden;">Homepage</span>
        </a>
    </div>
    <!-- with css in a stylesheet: -->
    <div id="logo"><a href="#"><span>Homepage</span></a></div>
</div>


<div id="body">
    <h1>About Us</h1>
    <p>MyCorp has been dealing in narcotics for over nine-thousand years...</p>
</div>

, Конечно, это зависит от того, использует ли Ваш дизайн названия страницы, но это - моя позиция по этой проблеме.

3
ответ дан Ross 23 November 2019 в 03:36
поделиться

Если доступность рассуждает, важно, тогда используют первый вариант (когда клиент хочет видеть изображение без стилей)

<div id="logo">
    <a href="">
        <img src="logo.png" alt="Stack Overflow" />
    </a>
</div>

Никакая потребность приспособить мнимым требованиям SEO, потому что код HTML выше имеет корректную структуру, и только необходимо решить, делает это подходящее для Вас посетители.

Также можно использовать вариант с меньшим количеством кода HTML

<h1 id="logo">
  <a href=""><span>Stack Overflow</span></a>
</h1>
/* position code, it may be absolute position or normal - depends on other parts of your site */
#logo {
  ...
}

#logo a {
   display:block;
   width: actual_image_width;
   height: actual_image_height;
   background: url(image.png) no-repeat left top;
}

/* for accessibility reasons - without styles variant*/
#logo a span {display: none}

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

11
ответ дан Oliver Bayes-Shelton 23 November 2019 в 03:36
поделиться

Я делаю это главным образом как то выше, но по причинам доступности, я должен поддерживать возможность изображений, отключаемых в браузере. Так, а не расположите текст с отступом из ссылки от страницы, я покрываю его путем абсолютного расположения <span> к полной ширине и высоте <a> и использования z-index для размещения его выше текста ссылки в порядке укладки.

цена является одним пустым <span>, но я готов иметь ее там для чего-то столь же важного как <h1>.

<h1 id="logo">
  <a href="">Stack Overflow<span></span></a>
</h1>
#logo a {
   position:relative;
   display:block;
   width:[image width];
   height:[image height]; }

#logo a span {
   display:block;
   position:absolute;
   width:100%;
   height:100%;
   background:#ffffff url(image.png) no-repeat left top;
   z-index:100; /* Places <span> on top of <a> text */  }
17
ответ дан Robin 23 November 2019 в 03:36
поделиться
<div class="logo">
    <h1><a href="index.html"><span>Insert Website Name</span></a></h1>
    <p>Insert Slogan Here</p>
</div>
#header .logo h1 {
    background: red; /* replace with image of logo */
    display:block;
    height:40px; /* image height */
    width:220px; /* image width */
}

#header .logo h1 a {
    display:block;
    height:40px; /* image height */
    width:220px; /* image width */
}

#header .logo h1 a span {
    display:none;
}
-1
ответ дан 23 November 2019 в 03:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: