seo - <div> във <a>

slavib

Active Member
Здравейте
Искам да попитам нещо тъй като не разбирам нищо от SEO
Стандартно кодът е такъв
Код:
<div>
   <a href="http://www.w3schools.com">Visit W3Schools</a>
</div>
Ще се промени ли оптимизацията свързана със SEO ако променя кода по следният начин
Код:
<a href="http://www.w3schools.com">
    <div>Visit W3Schools</div>
</a>
Тоест поставянето на div в таг <a> а не обратното ще промени ли резултатите свързани с Гугъл
 
Не виждам логика да го правиш, <div> не е валиден таг inside а таг. Защо просто не направиш а линка да актва като див? Сложи си един клас на <a от сорта на <a class="somediv" href="saita.com">. И си го нагласи да актва като див?
a.somediv {
display:block;
width; etc;
height:etc;
}

Като цяло е ТЪПО и не е валидно.
 
Не се слага див във а таг. За сеото не знм дали ще си навредиш, но предполагам бота на гугъл ще е фрустриран като го види това.
 
Не виждам логика това да има някакво значение за Гугъл. Мислиш че ще се обърка и ще помисли че div е ключова дума :).
 
Не виждам логика това да има някакво значение за Гугъл. Мислиш че ще се обърка и ще помисли че div е ключова дума :).
Не няма да се обърка за ключова дума, но работиш ли извън стандарта може да се очаква гугъл да реши да не индексира невалидни html. Иначе проблема е никакъв ако не търсиш индексация :) може и собствени тагове да си измислиш, но там отиваме към xml документ.
 
Така ето всъщност проблемът:
Може би по правилно щеше да е попитам как се прави следното:
Когато в <a> текстът е от няколко реда с цвят черен и ховър червен се получава много лош ефект - когато мишката минава между редовете нагоре и надолу, текста непрекъснато си сменя цвета от червено на черно и обратно. Това е изключително неприятен ефект.
Затова всъщност въпросът по който ми се иска да ми помогнете е как да направя така че когато се задейства ховъра текста да си е винаги червен а не да се променя при движение на мишката.

Възможно е този неприятен ефект да се получава от по горно наследяване на вече дефинирани параметри за <а> в Bootstrap - Според мен трябва да задам нещо за да изключа този ефект.
 
Последно редактирано:
@slavib
Ето така: https://jsfiddle.net/swezqo3t/

@hristonev
Ще го индексира, спокойно :). Те индексират какви ли не бъгави html кодове. Те са свикнали че хората не спазват никакъв ред от към html и правят всичко възможно да разчетат кода правилно.
 
Последно редактирано:
Поставянето на блокови елементи в "a" таг е абсолютно валидно при HTML 5. Друг е въпроса дали е удачно да го правиш, тоест зависи от случая. В редица съвременни шаблони има подобно структуриране на определени части от кода. Примерно при представяне на важни новини, представляващи блокчета "цялостно кликаеми", галерии/албуми и т.н. Това би било по-добрия вариант отколкото да имаш повтарящи се "а" таг елементи водещи към един и същ източник, а и защо не вместо често срещаната практика да се поставя отделен и празен "а" таг елемент и да се позиционира върху другото съдържание.

http://html5doctor.com/block-level-links-in-html-5/

https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element

The a element may be wrapped around entire paragraphs, lists, tables, and so forth, even entire sections, so long as there is no interactive content within (e.g. buttons or other links). This example shows how this can be used to make an entire advertising block into a link:
HTML:
<aside class="advertising">
 <h1>Advertising</h1>
 <a href="http://ad.example.com/?adid=1929&amp;pubid=1422">
  <section>
   <h1>Mellblomatic 9000!</h1>
   <p>Turn all your widgets into mellbloms!</p>
   <p>Only $9.99 plus shipping and handling.</p>
  </section>
 </a>
 <a href="http://ad.example.com/?adid=375&amp;pubid=1422">
  <section>
   <h1>The Mellblom Browser</h1>
   <p>Web browsing at the speed of light.</p>
   <p>No other browser goes faster!</p>
  </section>
 </a>
</aside>
 
Това което си показал работи прерфектно само че при мен има някакво наследяване от Bootstrap и се появява проблемът
Трябва да го видя за да предложа друго решение.
 
https://jsfiddle.net/swezqo3t/
Това което си показал работи прерфектно само че при мен има някакво наследяване от Bootstrap и се появява проблемът

Според мен трябва да се запознаеш по-добре с разликите между поредовите елементи и блоковите такива. Въпреки, че при поредовите елементи вертикалните свойства padding, margin не оказват влияние върху позиционирането им, те присъстват. Ако поредовия елемент "a" е "счупен", в случая посредством "br" то този вътрешен горен отстъп "padding-top" ще присъства на всеки ред и по този начин ще се застъпва, което води до желания от теб ефект. Същия ефект ще се постигне и с долен вътрешен отстъп "padding-bottom". Сложи един цялостен бордер на "а" и ще видиш по-добре какво точно става.
Ако увеличиш повече свойството line-height отново това решение няма да проработи и пак ще имаш примигване. При теб вероятно затова не сработва. Ако обаче зададеш display: inline-block (или само block), като по този начин премахваш поведението на елемента да се държи като поредов, този твой желан ефект ще работи безупречно.

Ето ти и подробни обяснения за поведението на поредовите елементи:

https://dbaron.org/css/2000/01/dibm
http://meyerweb.com/eric/css/inline-format.html
 
Извинявайте че до сега не писах но бях много зает
Направих следните проби:
<section> и display: block;
И двата начина работят. В случая ще използвам display: block; като искам да спомена че използването на <section> е изключително ефективно за посочените по горе ситуации.
Искам да благодаря на всички които се включиха и ми отговориха на въпросът, защото вашата помощ е наистина безценна.
Искам да изкажа специалните си благодарности на stan_bg който до сега винаги ми е помагал в най-трудните и завързани моменти.
Това е специалист с изключително дълбоки познания в програмирането - до сега съм го питал много пъти за много различни неща с които не мога да се справя и винаги ме е насочвал в правилната посока като е отделил от времето си да ми помогне.
За мен това е един изключителен човек и според мен винаги бихте могли да разчитате на него за съвместна дейност.
Според мен той никога няма да ви подведе.
Благодаря ви
 

Горе