Google Rich Snippets / semantic web for more attractive listings in google
#1
Posted 07 January 2012 - 06:42 PM
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=99170
i've found the good relations add -n for oscommerce 2.2RCA but it is fairly old and not updated to v2.3.1 since the summer of 2009.
is good relations really the way forward, or are there alternatives to consider ?
Carine Bruyndoncx
PS frustraded by the lack of feedback
<!--
Did you know 99% of all people benefiting from my posts, won't bother to repay the favor.
Wouldn't it be great if you are part of that exclusive 1% ?
post your findings in my responsive liive shop review thread ?
-->
#2
Posted 10 January 2012 - 02:54 AM
#3
Posted 10 January 2012 - 03:53 AM
Most Important: Header Tags SEO - Ultimate SEO V 2.2d
All SEO Addons: Recommended SEO Addons
Support Links:
Finding relevant link exchanges - Headers Already Sent - What does it cost? -What's my version? - How to change titles? - Preventing HotLinking
#4
Posted 11 January 2012 - 12:08 AM
http://support.google.com/webmasters/bin/answer.py?hl=en&answer=146750
it basically explains a whole lot of tags that are recommended by google to explain your offer(just a single product)
also there are warnings on the page that you should checkout schema.org for more detailed item types that microsoft and yahoo also support
this is way beyond meta tags as far as I can tell, it is really always in the body content
Carine Bruyndoncx
PS frustraded by the lack of feedback
<!--
Did you know 99% of all people benefiting from my posts, won't bother to repay the favor.
Wouldn't it be great if you are part of that exclusive 1% ?
post your findings in my responsive liive shop review thread ?
-->
#5
Posted 11 January 2012 - 01:47 AM
Most Important: Header Tags SEO - Ultimate SEO V 2.2d
All SEO Addons: Recommended SEO Addons
Support Links:
Finding relevant link exchanges - Headers Already Sent - What does it cost? -What's my version? - How to change titles? - Preventing HotLinking
#6
Posted 11 January 2012 - 03:19 AM
Quote
Ten days mistake free ! opps, Zero days mistake free !......lol (just kidding with you)
Chris
See my Profile to learn more about add ons, templates, support plans and custom coding (click here)
#7
Posted 11 January 2012 - 04:24 AM
DunWeb, on 11 January 2012 - 03:19 AM, said:
Ten days mistake free ! opps, Zero days mistake free !......lol (just kidding with you)
Chris
Most Important: Header Tags SEO - Ultimate SEO V 2.2d
All SEO Addons: Recommended SEO Addons
Support Links:
Finding relevant link exchanges - Headers Already Sent - What does it cost? -What's my version? - How to change titles? - Preventing HotLinking
#8
Posted 11 January 2012 - 08:35 PM
<?php
/*
$Id$
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2010 osCommerce
Released under the GNU General Public License
*/
require('includes/application_top.php');
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);
$product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
$product_check = tep_db_fetch_array($product_check_query);
require(DIR_WS_INCLUDES . 'template_top.php');
?>
<?php
if ($product_check['total'] < 1) {
header('HTTP/1.1 404 Not Found');
?>
<div id="not-found" itemscope itemtype="http://schema.org/Product">
<div class="center">
<?php echo TEXT_PRODUCT_NOT_FOUND; ?>
</div>
<div class="floatleft">
<?php echo tep_draw_button(IMAGE_BUTTON_CONTINUE, 'triangle-1-e', tep_href_link(FILENAME_DEFAULT)); ?>
</div>
<?php
} else {
$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$_GET['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
$product_info = tep_db_fetch_array($product_info_query);
tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$_GET['products_id'] . "' and language_id = '" . (int)$languages_id . "'");
if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
$products_price = '<del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del> <span class="sale-price alert" itemprop="price">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
$products_info_class = 'sale-display';
} else {
$products_price = '<span itemprop="price">'. $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .'</span>';
$products_info_class = 'display';
}
$products_model = $product_info['products_model'];
$products_name = $product_info['products_name'];
?>
<div itemscope itemtype="http://schema.org/Product">
<?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>
<h1 itemprop="name"><?php echo $products_name; ?></h1>
<div id="offer" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<?php echo $products_price; ?>
<br />
<meta itemprop="priceCurrency" content="<?php echo LANGUAGE_CURRENCY; ?>" />
<?php if ($product_info['products_quantity'] > 0) { ?>
<link itemprop="availability" href="http://schema.org/InStock" /><strong>In Stock</strong>
<br />
<?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_draw_button(IMAGE_BUTTON_IN_CART, 'cart', null, 'primary');
} else { ?>
<link itemprop="availability" href="http://schema.org/OutOfStock" /><strong>Out of Stock</strong>
<br />
<?php if ($product_info['products_date_available'] > date('Y-m-d H:i:s'))
echo '<small>' . sprintf(TEXT_DATE_AVAILABLE, tep_date_short($product_info['products_date_available'])) . '</small>';
} ?>
</div>
<?php
if (tep_not_null($product_info['products_image'])) {
$pi_query = tep_db_query("select image, htmlcontent from " . TABLE_PRODUCTS_IMAGES . " where products_id = '" . (int)$product_info['products_id'] . "' order by sort_order");
if (tep_db_num_rows($pi_query) > 0) {
?>
<div id="piGal" style="float: right;">
<ul>
<?php
$pi_counter = 0;
while ($pi = tep_db_fetch_array($pi_query)) {
$pi_counter++;
$pi_entry = ' <li><a href="';
if (tep_not_null($pi['htmlcontent'])) {
$pi_entry .= '#piGalimg_' . $pi_counter;
} else {
$pi_entry .= tep_href_link(DIR_WS_IMAGES . $pi['image']);
}
$pi_entry .= '" target="_blank" rel="fancybox" itemprop="image">' . tep_image(DIR_WS_IMAGES . $pi['image']) . '</a>';
if (tep_not_null($pi['htmlcontent'])) {
$pi_entry .= '<div style="display: none;"><div id="piGalimg_' . $pi_counter . '">' . $pi['htmlcontent'] . '</div></div>';
}
$pi_entry .= '</li>';
echo $pi_entry;
}
?>
</ul>
</div>
<script type="text/javascript">
$('#piGal ul').bxGallery({
maxwidth: 300,
maxheight: 200,
thumbwidth: <?php echo (($pi_counter > 1) ? '75' : '0'); ?>,
thumbcontainer: 300,
load_image: 'ext/jquery/bxGallery/spinner.gif'
});
</script>
<?php
} else {
?>
<div id="piGal" style="float: right;">
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank" rel="fancybox">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), null, SMALL_IMAGE_WIDTH, 'itemprop="image"') . '</a>'; ?>
</div>
<?php
}
?>
<script type="text/javascript">
$("#piGal a[rel^='fancybox']").fancybox({
cyclic: true
});
</script>
<?php
}
?>
<div class="description" itemprop="description">
<?php echo stripslashes($product_info['products_description']); ?>
</div>
<?php
$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
$products_attributes = tep_db_fetch_array($products_attributes_query);
if ($products_attributes['total'] > 0) {
?>
<p><?php echo TEXT_PRODUCT_OPTIONS; ?></p>
<p>
<?php
$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$_GET['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
$products_options_array = array();
$products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$_GET['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");
while ($products_options = tep_db_fetch_array($products_options_query)) {
$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
if ($products_options['options_values_price'] != '0') {
$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
}
}
if (is_string($_GET['products_id']) && isset($cart->contents[$_GET['products_id']]['attributes'][$products_options_name['products_options_id']])) {
$selected_attribute = $cart->contents[$_GET['products_id']]['attributes'][$products_options_name['products_options_id']];
} else {
$selected_attribute = false;
}
?>
<strong><?php echo $products_options_name['products_options_name'] . ':'; ?></strong><br /><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?><br />
<?php
}
?>
</p>
<?php
}
?>
<div class="clearfix"></div>
<?php
if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>
<small><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></small>
<?php
}
?>
<?php
$reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$_GET['products_id'] . "' and reviews_status = 1");
$reviews = tep_db_fetch_array($reviews_query);
?>
<div class="contentBlock">
<span class="buttonAction">
</span>
<?php echo tep_draw_button(IMAGE_BUTTON_REVIEWS . (($reviews['count'] > 0) ? ' (' . $reviews['count'] . ')' : ''), 'comment', tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params())); ?>
</div>
<?php
if ((USE_CACHE == 'true') && empty($SID)) {
echo tep_cache_also_purchased(3600);
} else {
include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
}
?>
</form>
<?php
}
?>
</div>
<?php
require(DIR_WS_INCLUDES . 'template_bottom.php');
require(DIR_WS_INCLUDES . 'application_bottom.php');
Edited by Web Source 5, 11 January 2012 - 08:36 PM.
#9
Posted 11 January 2012 - 08:37 PM
#10
Posted 11 January 2012 - 10:07 PM
I read somewhere you'd have to ask for inclusion of the snippets
Carine Bruyndoncx
PS frustraded by the lack of feedback
<!--
Did you know 99% of all people benefiting from my posts, won't bother to repay the favor.
Wouldn't it be great if you are part of that exclusive 1% ?
post your findings in my responsive liive shop review thread ?
-->
#11
Posted 11 January 2012 - 10:20 PM
This thought is totally experimental, I have yet to try it, but shall very soon -- I believe if you do away with the meta description, then the SE's will pick up better on the micro-data as they will have nothing else between their search results and the true page content.
#12
Posted 29 February 2012 - 12:17 PM
http://www.google.com/webmasters/tools/richsnippets?view=&url=http%3A%2F%2Fwww.myspace.com%2FladygagaThe rich snippet testing tool tells me that everythins is correct but it wont display on google search... any ideas?
Google search example with my website zrce.eu:
http://www.google.ch/search?q=zrce+2012&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:de:official&client=firefox-a#sclient=psy-ab&hl=de&client=firefox-a&hs=j8P&rls=org.mozilla:de%3Aofficial&source=hp&q=+zrce+freemasons+djs&pbx=1&oq=+zrce+freemasons+djs&aq=f&aqi=&aql=&gs_sm=3&gs_upl=3136l5812l1l6130l7l7l0l0l0l0l78l382l6l6l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=a0d31e9a79b16c67&biw=1120&bih=844
Rich Snippet Testing Tool: www.google.com/webmasters/tools/richsnippets?url=zrce.eu%2Ffreemasons%2F&view=
My Code used in Wordpress on zrce.eu/freemasons/]]
Quote
<ul class="trackList">
<li itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
<meta itemprop="url" content="http://amzn.to/yEjbdx"><a title="Uninvited (Radio Edit) [feat. Bailey Tzuke] Freemasons ft. Bailey Tzuke" href="http://amzn.to/yEjbdx" target="_blank" itemprop="offers"><strong><span itemprop="name">Uninvited feat. Bailey Tzuke </span></strong></a><meta itemprop="duration" content="PT3M4S"> 3:04
</li>
<li itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
<meta itemprop="url" content="http://amzn.to/y0MV0K"><a title="Rain Down Love Freemasons mit Siedah Garrett" href="http://amzn.to/y0MV0K" target="_blank" itemprop="offers"><strong><span itemprop="name">Rain Down Love </span></strong></a><meta itemprop="duration" content="PT4M46S"> 4:46
</li>
<li itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
<meta itemprop="url" content="http://amzn.to/zFFDEt"><a title="Love On My Mind Freemasons ft Amanda Wilson" href="http://amzn.to/zFFDEt" target="_blank" itemprop="offers"><strong><span itemprop="name">Love On My Mind </span></strong></a><meta itemprop="duration" content="PT5M37S"> 5:37
</li>
<li itemprop="tracks" itemscope="" itemtype="http://schema.org/MusicRecording">
<meta itemprop="url" content="http://amzn.to/wcY0JF"><a title="Believer (Radio Edit) Freemasons " href="http://amzn.to/wcY0JF" target="_blank" itemprop="offers"><strong><span itemprop="name">Believer </span></strong></a><meta itemprop="duration" content="PT3M9S"> 3:09
</li>
</ul>
</div>
Edited by Jan Zonjee, 29 February 2012 - 12:34 PM.
#13
Posted 12 March 2012 - 06:03 AM
If you think about it, every pc with windows comes with internet explorer - Bing in other words
Do not just use Google for seo and forget about Bing
The microdata add on that were uploaded years ago is way bit tricky to install on a modified version of osc
I think every shop owner should move towards microdata.
Google and Bing can use the extra information if implemented and will be a definite advantage.
If I could, I would have made a new add on which is easier to implement the data (developers please help writing a new)









