2012-04-29 30 views
5

Tôi hiện đang hơi bối rối về microdata và schema.org. Microdata và schema.org có giống nhau không? Tôi đọc tài liệu GoogleMicrosoft, nhưng điều đó đã không giúp tôi có được sự khác biệt giữa hai tên này.Thêm microdata hoặc schema.org cho đường dẫn SEO trong Drupal 7

Cho đến nay tôi hiểu điều này tôi đã tạo ra mã HTML này:

<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> 
<a href="/" itemprop="url"><span itemprop="title">My Page</span></a> 
</span> 
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> 
<a href="/cat1" itemprop="url"><span itemprop="title">Category 1</span></a> 
</span> 
<span itemscope itemtype="http://data-vocabulary.org/Breadcrumb"> 
<a href="/cat1/content" itemprop="url"><span itemprop="title">Content</span></a> 
</span> 

Theo tôi quá nhiều chi phí nhưng không quan trọng nếu các kết quả tìm kiếm nhìn đẹp. Có thể giảm số lượng mã html không?

Ngoài ra nếu tôi không cần số cách công cụ tìm kiếm phát hiện hai đường nhỏ khác nhau?

Vấn đề tiếp theo của tôi là tôi muốn áp dụng định dạng này cho bánh mì tròn. Tôi tìm thấy trên web this fix mà tôi đã cố gắng để bao gồm module SEO của riêng tôi như thế này:

function mymod_page_alter(&$variables) { 
    if (!isset($variables['breadcrumb'])) { 
     $variables['breadcrumb'] = theme('my_microdata', array('breadcrumb' => drupal_get_breadcrumb())); 
    } 
} 
function mymod_theme($existing, $type, $theme, $path) { 
    return array(
    'my_microdata' => array(
    'variables' => array('breadcrumb' =>array()), 
    ), 
); 
} 
function mymod_menu_breadcrumb_alter(&$active_trail, $item){ 
    foreach($active_trail as $id=>$active_trail_item){ 
    $active_trail[$id]['localized_options']['attributes']['itemprop'][]="url"; 
    } 
} 
function theme_my_microdata($variables){ 
$breadcrumb=$variables['breadcrumb']; 
print_r(debug_backtrace()); 
$output="*+*+*+*+*"; 
    if (!empty($breadcrumb)) { 
    // Provide a navigational heading to give context for breadcrumb links to 
    // screen-reader users. Make the heading invisible with .element-invisible. 
    $output = '<h2 class="element-invisible">' . t('You are here') . '</h2>'; 
    $output .= '<div class="breadcrumb">'; 
    $separator=""; 
    foreach($breadcrumb as $breadcrumb_item){ 
     $output.='<span typeof="datav:Breadcrumb">'.$separator.$breadcrumb_item."</span>"; 
     $separator="»"; 
    } 
    $output .='</div>'; 
    } 

    return $output."xXxXxXx"; 
} 

Cho đến nay tôi đã kiểm tra tất cả các mã này được thực thi. Nhưng tính năng này không được áp dụng trên trang của tôi. Tại sao mã đó không hoạt động? Điều này có liên quan với mô-đun breadcrumb không? Tôi biết rằng đầu ra này sẽ là rác nhưng tôi không thể nhìn thấy kết quả.

Nếu tôi đoán đúng hơn là đầu ra được tạo bởi chủ đề.inc dòng 1682ff theme_breadcrumb(...) thay vì mã của tôi.

Sẽ thật tuyệt nếu ai đó có thể giúp tôi, nếu bạn không biết tất cả câu trả lời cho câu hỏi của mình!

+1

Câu hỏi hay về đánh dấu, nhưng tôi nghĩ bạn nên đưa ra nội dung về Drupal và di chuyển nó trong một câu hỏi riêng biệt – Baumr

Trả lời

10

Microdata và schema.org có giống nhau không?

Không, chúng không phải!

Microdata là thông số kỹ thuật html WHATWG. Thật ngạc nhiên khi làm cho máy tính dễ đọc nội dung của tài liệu hơn.

Schema.org là một từ vựng được sử dụng để mô tả một mục. Schema.org được giới thiệu bởi Bing, Google và Yahoo.

http://en.wikipedia.org/wiki/Microdata_(HTML)

http://www.w3.org/TR/html5/microdata.html

http://schema.org/

Có thể giảm số lượng mã html?

Hãy xem mã exemple tại lược đồ.org để đánh dấu của một mục WebPage: http://schema.org/WebPage

<body itemscope itemtype="http://schema.org/WebPage"> 
... 
<div itemprop="breadcrumb"> 
    <a href="category/books.html">Books</a> > 
    <a href="category/books-literature.html">Literature & Fiction</a> > 
    <a href="category/books-classics">Classics</a> 
</div> 

Làm thế nào để công cụ tìm kiếm phát hiện hai con đường mòn khác nhau

Nếu bạn sử dụng ví dụ trên từ schema.org thay vào đó bạn đánh dấu đường mòn thay vì liên kết riêng lẻ. Nếu bạn đánh dấu hai đường mòn, cả hai đều sẽ được nhận dạng là hai đường nhỏ. (Hoặc ít nhất phải là)

Tại sao mã đó không hoạt động?

Tôi nghĩ câu hỏi này nên được tách ra khỏi bài đăng này và được yêu cầu ở một bài đăng khác. Tôi không quen thuộc với drupal và một số người có thể trả lời các câu hỏi liên quan đến microdata thậm chí không biết PHP.

+0

Nếu tôi cố gắng sử dụng ví dụ của bạn trong http://www.google.com/webmasters/tools/ richsnippets các breadcrumps không được công nhận. Nếu tôi trao đổi '>' với một từ khác, ví dụ: '-' đường dẫn được phát hiện nhưng không được nhận dạng. – rekire

+0

@rekire Tôi không biết làm thế nào bạn có thể có vấn đề đó. Tôi sao chép dán mã ví dụ tôi đã viết trong câu trả lời cho trình soạn thảo văn bản với một vấn đề. – superhero

+0

Xin lỗi vì sự chậm trễ. Đây là [trang kết quả] (http://www.google.com/webmasters/tools/richsnippets?url=http%3A%2F%2Ffiddle.jshell.net%2FFEhcE%2Fshow%2F) với sự cố của tôi dựa trên [ này fiddle] (http://jsfiddle.net/FEhcE/). Như bạn thấy google show: * fiddle.jshell.net/FEhcE/show/* instat của * fiddle.jshell.net> Văn học & Viễn tưởng> Kinh điển *. – rekire

Các vấn đề liên quan