Відповіді:
Якщо ви використовуєте HTML5 , просто виберіть його; вони рівноцінні.
HTML5 дозволяє посилання на рівні блоку , але у вашому випадку немає конкретної причини це робити, оскільки є лише один елемент рівня блоку. Особисто я би цього не робив, тому що наявність <h1>
тегу з зовнішньої сторони полегшило б пошук у вихідному коді.
Все інше (XHTML, HTML4 тощо), а друге - просто неправильно. Це не був би дійсним кодом, і на певному рівні це погано для оптимізації пошуку [Вставте стандартну відмову про те, наскільки якесь одне злочин насправді впливає на що-небудь тощо].
Вони такі самі, що стосується SEO. (Зазвичай елементи рівня блоків містять вбудовані елементи, а не навпаки, тому слід використовувати перший приклад, але це не вплине на SEO).
<a><h1></h1></a>
. В іншому випадку використовуйте традиційний візерунок <h1><a></a></h1>
. Google однаково приділить увагу обом методам, але деякі веб-переглядачі можуть не грати добре з нестандартним шаблоном.
Обидва вони правильні в html5 , html дозволяє блокувати елементи в вбудованих елементах. Це також не впливає на SEO, в обох випадках текст загорнутий у заголовок, тому залишається мати однакове значення.
Сказане тут - це розуміння, дякую всім. Давайте візьмемо це ще на один рівень: додавання мікроданих та подібних до рівняння.
Скажімо, у нас є
<h1 itemprop="name"><a href="http://goldenage.com/maths.html"
itemprop="url">Mathematics in The Muslim Golden Age</a></h1>
змагаючись з
<a href="http://goldenage.com/maths.html" itemprop="url"><h1
itemprop="name">Mathematics in The Muslim Golden Age</h1></a>
Для мене приклад 2 має більше сенсу. Тому що посилання ніколи не є частиною назви. Різниця зводиться до різниці міжHTML та textContent, DOMwise. Дивлячись на нього через innerHTML, якір стає на шляху. Якби текстContent був таким, теги були б позбавлені. Отже, це також ставить питання: innerHTML або textContent.
Тому я б сказав, якщо врахувати мікродані, наявність якоря на зовнішній стороні є більш чистим.
на основі: http://thenewcode.com/617/How-To-Add-Microdata-To-Your-Blog
Потрібно уникати посилань на рівні блоків для цілей SEO - з вуст коня: https://www.seroundtable.com/block-level-links-google-seo-16369.html
Оновлення: витяг із посилання ...
Будь-яка зв'язувальна конструкція, як уже говорили інші, добре для посилання. Однак для цілей SEO слід зберігати текст якоря чистим, щоб Google міг краще інтерпретувати якір і призначити відповідне значення.
Джон Мюллер (аналітик тенденцій веб-майстрів в Google) продовжує говорити ...
Це використання було б добре у нас (Google) - ми все одно підберемо посилання і зможемо пов’язати ваш текст як прив’язку до цього. Ми досить гнучкі з розбором HTML, тому ви, ймовірно, можете навіть використовувати це з HTML4. Однак, чим ясніше ви зробите текст прив’язки, тим простіше нам зрозуміти контекст посилання, тому я не обов'язково завжди використовую цілий абзац як прив’язку до всіх ваших внутрішніх посилань.
TL; DR Для SEO не використовуйте блокове посилання.
Якщо метою є додаткові елементи, які можна натиснути всередині посилання (наприклад, зображення тощо) і все-таки підтверджуватись html <5, ви можете мати його обома способами за допомогою JavaScript:
<div onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<img src="/foo" alt="" />
<h1>
<a href="#">
linked-heading
</a>
</h1>
</div>
інше, просто:
<h1 onclick="if (this.getElementsByTagName('a')[0]) location=this.getElementsByTagName('a')[0].href;">
<a href="#">
linked-heading
</a>
</h1>
додати cursor:pointer
до css батьківського елемента, щоб завершити трюк.