2011-07-24 21 views
15

Dodaję mikrodane schema.org do mojej witryny.Jak dodać właściwości 'name' i 'url' do tego samego znacznika?

Moje HTML kod jest tak:

<div itemscope itemtype="http://schema.org/Organization"> 
<span class="title">Name of the organization</span> 
<a href="http://www.ABCCompany.com/">ABC Company</a> 
</div> 

Ponieważ „url” itemprop i „nazwa” Organizacji są w tagu zakotwiczenia. Jak mogę wskazać zarówno "url" i "nazwę" itemprop na tym samym tagu? Czy muszę w tym celu dodać dodatkowy znacznik span?

Próbowałem przeszukać niektóre przykłady kodowania na ten temat, ale nie można znaleźć żadnego przykładu, aby pokazać użycie wielu itemprop w tym samym tagu.

Na koniec, chcę mieć MICRODATA tak:

url="http://www.ABCCompany.com", name="ABC Company" 
+0

Knut poprosił, aby jego odpowiedź usunięte @cygri udzieliła prawidłowej odpowiedzi. Możesz chcieć to przejrzeć i wybrać, jeśli jego odpowiedź pomaga. – Will

Odpowiedz

30

Trzeba to zrobić poprzez zagnieżdżanie dwa elementy. Na przykład, można zagnieździć <span> wewnątrz <a> i umieścić itemprop="name" na ten temat:

<div itemscope itemtype="http://schema.org/Organization"> 
    <a itemprop="url" href="http://www.ABCCompany.com/"> 
     <span itemprop="name">ABC Company</span> 
    </a> 
</div> 

znajdę this site przydatny do testowania takich rzeczy.

+2

Naprawdę legalne jest zagnieżdżanie takich itempropów? Czy widziałeś jakieś przykłady na ten temat w specyfikacji? Jedynymi przykładami na zagnieżdżonych itempropach, które widziałem, jest sytuacja, w której jeden z itempropów jest typu item i rozpoczyna nowy itemcope. – knut

+3

Tak, oczywiście, jest to zgodne z prawem. Dlaczego by tak nie było? Algorytm w specyfikacji powtarza się w dół do wszystkich podelementów, chyba że znajduje się na nim @itemscope. – cygri

+3

@knut - 'itemprop' nie tworzy nowego zakresu takiego jak' itemscope'. Każdy typ elementu ('', '', itp.) Określa, która część jest wyodrębniana jako wartość dla dołączonego atrybutu 'itemprop'. –

2

Może być problem z Google. "Narzędzie do testowania fragmentów rozszerzonych" wskazuje, że gdy znacznik zakotwiczenia jest oznaczany jako adres URL, treść znacznika jest używana raczej jako wartość niż atrybut href. Ale nikt nie chce wyświetlać adresu URL wewnątrz znacznika zakotwiczenia.

+2

Jeśli używasz narzędzia do testowania opisów rozszerzonych, a na kotwicy masz itemprop = 'name', to pokaże tekst wewnątrz href jako obiekt powiązany, więc wygląda na to, że działa, i wygląda na to, że masz " adres URL i "nazwa" za jednym zamachem. JEDNAKŻE, jeśli spojrzysz w Narzędziach dla webmasterów, zobaczysz, że itemprop = 'name' faktycznie używa adresu URL dla właściwości name. Z mojego doświadczenia wynika, że ​​musisz mieć itemprop = 'url' na kotwicy, a następnie rozpiętość wewnątrz kotwicy z itemprop = 'name' na nim. Narzędzie do testowania naprawdę oszukuje. – emptywalls

0

Działa to również, a może wyglądać nieco łatwiejsze w utrzymaniu: wsparcie

<div itemscope itemtype="http://schema.org/Organization"> 
<span class="title" itemprop="name"><a itemprop="url" href="http://www.ABCCompany.com/">ABC Company</span></a> 
</div> 

Google'a na schema.org i google structured data tester znacznie poprawiła się od oryginału pytanie zostało wysłane. Powyższy kod poprawnie sprawdza się w nim.

Powiązane problemy