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 Google và Microsoft, 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!
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