Jump to content
Jack_mcs

Header Tags SEO

Recommended Posts

Hi Jack,

Just wondering, I have installed a few different header tags add-ons over the years to my store. Are there any known conflicts with this mod and the others? I eventually want to strip out the others but was wondering if having all of them together is a wrong idea.

Thanks,

Matt


If the only tool you have is a hammer, all your problems look like nails

Share this post


Link to post
Share on other sites

Just wondering, I have installed a few different header tags add-ons over the years to my store. Are there any known conflicts with this mod and the others? I eventually want to strip out the others but was wondering if having all of them together is a wrong idea.

I'm not sure I understand your question. Header Tags is the name of a contribution. There are one or two others that use that name. Are you referring to them? Or do you mean tag contributions? Or something else?

Share this post


Link to post
Share on other sites

I was referring to other seo and meta tag mods like All Products SEO,header tags for novices,header tags controller and search engine friendly url. I noticed in your sig that you recommend Ultimate SEO with this mod which I also have.


If the only tool you have is a hammer, all your problems look like nails

Share this post


Link to post
Share on other sites

I was referring to other seo and meta tag mods like All Products SEO,header tags for novices,header tags controller and search engine friendly url. I noticed in your sig that you recommend Ultimate SEO with this mod which I also have.

All of my SEO-type contributions (see my addons and my signature) work with Header Tags SEO. Some of the contributions you mention perform the same function so there would be a problem with those. For example, header tags for novices and header tags controller perform the same basic function as Header Tags SEO. You can only have one contribution installed that does the same thing or there will be some negative effects. The same is true with Ultimate SEO and any other url rewriter.

Share this post


Link to post
Share on other sites

Hi Jack,

 

Just quick question. How about this. When i clicked at any of the social bookmark image, e.g facebook, the link direct me to the respective social website. But my domain link appear something like this: http://http//xxxxx.com/product_info.php.

 

It shows double http//. Maybe my mistake installing this wonderful contribution. Do you have any idea how to fix this?

 

Regards

Ariff

Share this post


Link to post
Share on other sites

Just quick question. How about this. When i clicked at any of the social bookmark image, e.g facebook, the link direct me to the respective social website. But my domain link appear something like this: http://http//xxxxx.com/product_info.php.

 

It shows double http//. Maybe my mistake installing this wonderful contribution. Do you have any idea how to fix this?

It appears the url is missing the social bookmark site. The link should be something like: http://del.icio.us/post?url=http//xxxxx.com/product_info.php but I've no idea how part of the url is missing. If all of the bookmarks links are failing, then I can only guess that the includes/modules/header_tags_social_bookmarks.php file is corrupted.

Share this post


Link to post
Share on other sites

Thanks for a great contribution! I've tried to search the forum prior to posting this question.

 

Is there a way to add the page number to the title tag for product listings where there are more than one page worth of products? I'm trying to avoid duplicate title tags.

 

Currently, the title tags are all "Manufacturer XYZ" for the following URLs for product listing (for a selected manufacturer):

 

/manufacturer_xyz.html?page=1

/manufacturer_xyz.html?page=2

/manufacturer_xyz.html?page=3

 

I'm on v3.1.7.

 

Thanks!

Edited by sapguy

Share this post


Link to post
Share on other sites

Is there a way to add the page number to the title tag for product listings where there are more than one page worth of products? I'm trying to avoid duplicate title tags.

 

Currently, the title tags are all "Manufacturer XYZ" for the following URLs for product listing (for a selected manufacturer):

 

/manufacturer_xyz.html?page=1

/manufacturer_xyz.html?page=2

/manufacturer_xyz.html?page=3

 

I'm on v3.1.7.

I tried it here and it works fine. You will probably need to upgrade since you are sever versions behind and one or two of those versios dealt with the canonical tag, which is what is used to fix that problem.

Share this post


Link to post
Share on other sites

It appears the url is missing the social bookmark site. The link should be something like: http://del.icio.us/post?url=http//xxxxx.com/product_info.php but I've no idea how part of the url is missing. If all of the bookmarks links are failing, then I can only guess that the includes/modules/header_tags_social_bookmarks.php file is corrupted.

 

Alright Jack,

 

Thank you. will compare the original file & in the server.

 

Regards

Ariff

Share this post


Link to post
Share on other sites

There's nothing in the code that will do that, no matter the settings, so there is something wrong with your installation.

 

Hello Jack,

 

I just installed the 3.2.4 update and as usual something is weird in my case.

 

A. In Fill Tags, I have only 2 languages: ids 2 and 3 (id1 is english which I dont use):

 

When trying to fill title, desc, keywords .. with defaults for lets say one particular category

by checking only language with id 3 (my default language, the most important One) nothing happens at all.

 

Though, when checking language id2 ......... it's id3 that gets updated !!! (OK for me but a little strange)

and curiously then looking at what is really checked it is indeed the language id3 option that gets checked automatically after updated (I did not check it at all).

 

B. Can't get it: Manuacturers name in poduct_info title tags

 

In Page Control

- by checking the category option: nothing happens the category does not display anywhere in the tags

- by checking the manufacturer option: nothing happens the manufacturer's name does not display anywhere in the tags

- by checking both the manufacturer and the category options: the category name is displayed instead of the Manufacturers name I need

 

(In configuration im on "Standard" (no duplicate nor full path)

 

So for "fun", I looked into includes/header_tags.php just to see what could happen if I change catStr to manStr and vice versa on lines 110,111 in the PRODUCT_INFO section:

 

Yepeeh, the manufacturer's name displays in title, description and keywords of any product now. (fortunetaley I dont want the category string at all in the tags)

 

Do you have any idea how this could be ???? Please dont say there is something wrong with my installation as really, all seems ok otherwise. I also checked all my tables !

 

Thanks a lot for your time !!!

 

Best regards


david

Share this post


Link to post
Share on other sites

I just installed the 3.2.4 update and as usual something is weird in my case.

 

A. In Fill Tags, I have only 2 languages: ids 2 and 3 (id1 is english which I dont use):

Run the test routine and fix whatever problems it shows before proceeding.

Share this post


Link to post
Share on other sites

Hello Jack,

 

I just installed the 3.2.4 update and as usual something is weird in my case.

 

A. In Fill Tags, I have only 2 languages: ids 2 and 3 (id1 is english which I dont use):

 

When trying to fill title, desc, keywords .. with defaults for lets say one particular category

by checking only language with id 3 (my default language, the most important One) nothing happens at all.

 

Though, when checking language id2 ......... it's id3 that gets updated !!! (OK for me but a little strange)

and curiously then looking at what is really checked it is indeed the language id3 option that gets checked automatically after updated (I did not check it at all).

 

B. Can't get it: Manuacturers name in poduct_info title tags

 

In Page Control

- by checking the category option: nothing happens the category does not display anywhere in the tags

- by checking the manufacturer option: nothing happens the manufacturer's name does not display anywhere in the tags

- by checking both the manufacturer and the category options: the category name is displayed instead of the Manufacturers name I need

 

(In configuration im on "Standard" (no duplicate nor full path)

 

So for "fun", I looked into includes/header_tags.php just to see what could happen if I change catStr to manStr and vice versa on lines 110,111 in the PRODUCT_INFO section:

 

Yepeeh, the manufacturer's name displays in title, description and keywords of any product now. (fortunetaley I dont want the category string at all in the tags)

 

Do you have any idea how this could be ???? Please dont say there is something wrong with my installation as really, all seems ok otherwise. I also checked all my tables !

 

Thanks a lot for your time !!!

 

Best regards

Yepeeh, the manufacturer's name displays in title, description and keywords of any product now. (fortunetaley I dont want the category string at all in the tags)

 

I Forgot to say that in order to get the manufacturer's name this way I still have to check both options (category + manufacturer), but at least I have the one I need.

I wonder if that little hack would mess up in other parts of the code ...

 

Best regards


david

Share this post


Link to post
Share on other sites

Run the test routine and fix whatever problems it shows before proceeding.

 

The test routine says language id 1 default text present should be removed for index.php + product_info.php.

(how can I remove it ??)

 

The categories are all filled fine ... and show no errors.

 

By testing products there are no errors, except that the test can't see the tags from my local site. (From site in red is blank)

From settings (in green) are ok, just that they dont show either the model number or the manufacturer's name which actually display (with the hack) as fine all the rest

 

At the end it says what it has since ever said, ie ...

product_info.php is missing Header_tags code or is not installed correctly (But it is just that it can't see what I and the browsers see)

Verify that Fill tags has been ran and that the root checkbox or the default checkboxes have been checked in Page Control.

(I have some of the defaults checked: model 1, product 2, (category+manufacturer) 3 + 4

 

Have tried checking all defaults or the root checkbox, the above message still remains.

 

(how can I get the test routine to show the tags as they actually display from site ??)

 

Thansk + regards


david

Share this post


Link to post
Share on other sites

The test routine says language id 1 default text present should be removed for index.php + product_info.php.

(how can I remove it ??)

If there is a delete button in that message, click it. Otherwise, go to admin->Localization->Languages and delete any unused languages. Then run fill tags again (use fill empty) and the test routine.

Share this post


Link to post
Share on other sites

If there is a delete button in that message, click it. Otherwise, go to admin->Localization->Languages and delete any unused languages. Then run fill tags again (use fill empty) and the test routine.

 

there is no button and I delete english long time ago. I just now deleted the 2 language id 1 entries (index.php and product_info.php) in the headertags table through phpmyadmin.

 

Result: no differences

 

I ran Fill tags and choosing to update id 3 nothing works. I check language id 2 then id 3 is updated instead. After that I see id 3 is checked without my doing anyting.

 

What puzzels me really is why the manufacturer's name wont simply show up as it should


david

Share this post


Link to post
Share on other sites

there is no button and I delete english long time ago. I just now deleted the 2 language id 1 entries (index.php and product_info.php) in the headertags table through phpmyadmin.

 

Result: no differences

 

I ran Fill tags and choosing to update id 3 nothing works. I check language id 2 then id 3 is updated instead. After that I see id 3 is checked without my doing anyting.

 

What puzzels me really is why the manufacturer's name wont simply show up as it should

I don't think this is a problem I can resolve here since there are too many unknowns. But if you have deleted those pages from the header tags table, you've made the contribution almost useless.

Share this post


Link to post
Share on other sites

Hi Jack..

 

I think i have fixed issue with database entries been deleted due to older version of Ultimate SEO URLs.

 

Now I have tried to run SOL for Header tags SEO and seems everything is working but if I turn on the 'Display Column Box' under Admin -> Configuration -> Header Tags SEO, all product prices become ZERO in product info page. Prices on other pages are fine.

 

I either replace product_info.php with unmodified copy or turn off 'Display Column Box', prices are displaying correctly on Product info page.

 

I have tried to compare my modified file with the file came with the contribution but I cannt find problem that I am aware of.

 

Test Result:

Test Results

Missing Code in File explain

The Header Tags head code for the product_reviews.php file cannot be found.

The Header Tags head code for the product_reviews_info.php file cannot be found.

The Header Tags head code for the product_reviews_write.php file cannot be found.

 

 

My Product_info.php

<?php

/*

$Id: product_info.php 1739 2007-12-20 00:52:16Z hpdl $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);

 

// Simple multi image addon

$image_group = TINY_IMAGE_GROUP_SIZE; //Number of images to show per row/column

$vertical_format = (ADDITIONAL_IMAGE_FORMAT == 'vertical');

$max_title_length = 40; //Set the maximm length of popup titles before they are broken into multiple lines.

$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, p.products_image_array, pd.products_url, p.products_msrp, 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)$HTTP_GET_VARS['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);

$products_image_array = unserialize($product_info['products_image_array']);

if (!is_array($products_image_array)) $products_image_array = array();

// EOF Simple multi image addon

 

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

<?php

/*** Begin Header Tags SEO ***/

if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) {

require(DIR_WS_INCLUDES . 'header_tags.php');

} else {

?>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<?php

}

/*** End Header Tags SEO ***/

?>

 

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

<script language="javascript"><!--

function popupWindow(url) {

window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')

}

//--></script>

<!-- Simple multi image addon -->

<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.js"></script>

<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.fancybox.js"></script>

<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easing.js"></script>

<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easydrag.handler.beta2.js"></script>

<link rel="stylesheet" href="<?php echo DIR_WS_IMAGES ?>js/fancybox.css" type="text/css" media="screen">

<script type="text/javascript">

$(document).ready(function() {

$("div#fancy a").fancybox({

'zoomSpeedIn': 800,

'zoomSpeedOut': 700,

'imageScale' : true,

'centerOnScroll': true,

'hideOnContentClick' : false,

'overlayShow': <?php echo (DIM_BACKGROUND == 'true' ? 'true' : 'false'); ?>,

'overlayOpacity': <?php echo (BKG_LUMA/10); ?>,

'zoomOpacity': true,

<?php if (SWING_POPUP == 'true') echo "'easingIn' : 'easeOutBack',"; ?>

'hideOnContentClick': false

 

});

<?php if (DRAG_POPUP == 'true') echo '$("#fancy_outer").easydrag();'; ?>

});

 

</script>

<style type="text/css">

<?php if (SHOW_NAV == 'true') echo 'span#fancy_left_ico {left: 20px;} span#fancy_right_ico {right: 20px;}';

switch (POS_NAV) {

case 'top':

echo 'span.fancy_ico { top: 38px; }';

break;

case 'bottom':

echo 'span.fancy_ico { bottom: 20px; }';

break;

default:

echo 'span.fancy_ico { top: 50%; }';

break;

}

?>

</style>

<!-- EOF Simple multi image addon -->

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<?php /*** Begin Header Tags SEO ***/ ?>

<a name="<?php echo $header_tags_array['title']; ?>"></a>

<?php /*** End Header Tags SEO ***/ ?>

 

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

<?php

// Simple multi image addon

if (!tep_db_num_rows($product_info_query)) {

// EOF Simple multi image addon

 

?>

<tr>

<td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<?php

} else {

// Simple multi image addon section moved

 

tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

 

$products_price = '<table class="" align="right" border="0" width="100%" cellspacing="0" cellpadding="0">';

$new_price = tep_get_products_special_price($product_info['products_id']);

if ($product_info['products_msrp'] > $product_info['products_price'])

 

$products_price .= '<tr class="PriceListBIG"><td align="right">' . TEXT_PRODUCTS_MSRP . $currencies->display_price($product_info['products_msrp'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</td></tr>';

if ($new_price != '')

$products_price .= '<tr class="usualpriceBIG"><td align="right">'. TEXT_PRODUCTS_USUALPRICE . '';

else

$products_price .= '<tr class="pricenowBIG"><td align="right">'. TEXT_PRODUCTS_OUR_PRICE . '';

 

$products_price .= $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</td></tr>';

 

if ($new_price != '')

{$products_price .= '<tr class="pricenowBIG"><td align="right">' . TEXT_PRODUCTS_PRICENOW . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</td></tr>';}

if ($product_info['products_msrp'] > $product_info['products_price'])

{if ($new_price != '')

{$products_price .= '<tr class="savingBIG"><td align="right" >' . TEXT_PRODUCTS_SAVINGS_RRP . $currencies->display_price(($product_info['products_msrp'] - $new_price), tep_get_tax_rate($product_info['products_tax_class_id'])) . ' ('. number_format(100 - (($new_price / $product_info['products_msrp']) * 100)) . '%)</td></tr>';}

else

{$products_price .= '<tr class="savingBIG"><td ="right" >' . TEXT_PRODUCTS_SAVINGS_RRP . $currencies->display_price(($product_info['products_msrp'] - $product_info['products_price']), tep_get_tax_rate($product_info['products_tax_class_id'])) . ' ('. number_format(100 - (($product_info['products_price'] / $product_info['products_msrp']) * 100)) . '%)</td></tr>';}}

else

{if ($new_price != '')

{$products_price .= '<tr class="savingBIG"><td align="right" >' . TEXT_PRODUCTS_SAVINGS_RRP . $currencies->display_price(($product_info['products_price'] - $new_price), tep_get_tax_rate($product_info['products_tax_class_id'])) . ' ('. number_format(100 - (($new_price / $product_info['products_price']) * 100)) . '%)</td></tr>';}}

$products_price .= '</table>';

 

if (tep_not_null($product_info['products_model'])) {

$products_name = $product_info['products_name'] . '<br><span class="smallText">[' . $product_info['products_model'] . ']</span>';

} else {

$products_name = $product_info['products_name'];

}

//DISPLAY PRODUCT WAS ADDED TO WISHLIST IF WISHLIST REDIRECT IS ENABLED

if(tep_session_is_registered('wishlist_id')) {

?>

<tr>

<td class="messageStackSuccess"><?php echo PRODUCT_ADDED_TO_WISHLIST; ?></td>

</tr>

<?php

tep_session_unregister('wishlist_id');

}

//DISPLAY PRODUCT WAS ADDED TO WISHLIST IF WISHLIST REDIRECT IS ENABLED

?>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<?php /*** Begin Header Tags SEO ***/ ?>

<td valign="top"><h1><?php echo $products_name; ?></h1></td>

<td align="right" valign="top" width="10%"><h1><?php echo $products_price; ?></h1></td>

<?php /*** End Header Tags SEO ***/ ?>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td class="main">

<?php

if (tep_not_null($product_info['products_image'])) {

?>

<!-- Simple multi image addon -->

<div id="fancy">

<table border="0" cellspacing="0" cellpadding="2" align="right">

<tr>

<td align="center" class="smallText">

 

<?php if (strlen($product_info['products_name']) > $max_title_length) { $title = wordwrap(htmlspecialchars($product_info['products_name']), $max_title_length, '<br>');

} else { $title = htmlspecialchars($product_info['products_name']); }

$m_source = ''; $thumb = (class_exists('oscthumb') && CFG_MASTER_SWITCH == 'On'); if ($thumb) { preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $product_info['products_image'],'','','','','',5), ENT_NOQUOTES), $image); $m_source=str_replace('&','&',$image[1]); }

echo '<a rel="image_group" title="'.$title.'" href="' . ($m_source ? $m_source : DIR_WS_IMAGES . $product_info['products_image']) . '" alt="' . $product_info['products_name'] . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"', false, 5) . '<br /></a>';

if(!$vertical_format) { echo ''; $row = 1; reset($products_image_array); foreach($products_image_array as $value) {

if ($thumb) {

$source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]);

}

echo '<a rel="image_group" title="'.$title.'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '</a>';

 

++$row; if ($row > $image_group) { echo '<br />'; $row = 1; } } }

echo '</td>';

if($vertical_format) { echo '<td>'; $row = 1; reset($products_image_array); foreach($products_image_array as $value) {

if ($thumb) {

$source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]);

}

echo '<a rel="image_group" title="'.$title.'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br />' . '</a>';

 

++$row; if ($row > $image_group) { echo '</td><td>'; $row = 1; } } echo '</td>'; } ?>

 

 

</tr><?php echo '<tr><td class="smallText">' . TEXT_CLICK_TO_ENLARGE . '</td></tr>'; ?>

</table>

</div>

<!-- EOF Simple multi image addon -->

 

<?php

}

?>

<p><?php echo stripslashes($product_info['products_description']); ?></p>

<?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)$HTTP_GET_VARS['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) {

?>

<table border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></td>

</tr>

<?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)$HTTP_GET_VARS['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)$HTTP_GET_VARS['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 (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {

$selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];

} else {

$selected_attribute = false;

}

?>

<tr>

<td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>

<td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>

</tr>

<?php

}

?>

</table>

<?php

}

?>

</td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

$reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");

$reviews = tep_db_fetch_array($reviews_query);

if ($reviews['count'] > 0) {

?>

<tr>

<td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

if (tep_not_null($product_info['products_url'])) {

?>

<tr>

<td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

 

if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {

?>

<tr>

<td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>

</tr>

<?php

} else {

?>

<tr>

<td align="center" class="smallText"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>

</tr>

<?php

}

?>

 

<!-- social bookmarks start //-->

<?php

include(DIR_WS_MODULES . FILENAME_SOCIAL_BOOKMARKS);

?>

 

<!-- social bookmarks finish //-->

 

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>

<td align="center"><?php echo tep_image_submit('button_wishlist.gif', 'Add to Wishlist', 'name="wishlist" value="wishlist"'); ?></td>

<td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<!--- BEGIN Header Tags SEO Social Bookmarks -->

<?php if (HEADER_TAGS_DISPLAY_SOCIAL_BOOKMARKS == 'true')

include(DIR_WS_MODULES . 'header_tags_social_bookmarks.php');

?>

<!--- END Header Tags SEO Social Bookmarks -->

<tr>

<td>

<?php

if ((USE_CACHE == 'true') && empty($SID)) {

echo tep_cache_also_purchased(3600);

} else {

include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);

}

}

?>

</td>

</tr>

<!-- Begin Sitemap SEO-->

<script type='text/javascript' src='javascript/sitemap_seo.js'></script>

<?php

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_SITEMAP_SEO);

if (SITEMAP_SEO_SHOW_RELATED_PRODUCTS == 'true') {

?>

<tr>

<td class="smallText"><a href="javascript:displaySitemapProduct();" class="smallText"><span style="vertical-align:text-bottom; "><img src="images/sitemap_arrow.jpg" alt="" border="0"></span><span style="padding-left: 3px;"><?php echo TEXT_SITEMAP_RELATED_PRODUCTS; ?></span></a></td>

</tr>

<tr><td height="5"></td></tr>

<tr>

<td colspan="3"><table border="0" id="sitemap_product" style="display: none;" cellspacing="0" cellpadding="2">

<tr>

<td class="smallText"><?php include(DIR_WS_MODULES . FILENAME_SITEMAP_SEO_PRODUCT); ?></td>

</tr>

</table></td>

</tr>

<?php } ?>

 

<?php if (SITEMAP_SEO_SHOW_INDIVIDUAL_CATEGORY_SITEMAP == 'true') { ?>

<tr>

<td class="smallText"><a href="javascript:displaySitemapCategory();" class="smallText"><span style="vertical-align:text-bottom; "><img src="images/sitemap_arrow.jpg" alt="" border="0"></span><span style="padding-left: 3px;"><?php echo TEXT_SITEMAP_RELATED_CATEGORIES; ?></span></a></td>

</tr>

<tr><td height="5"></td></tr>

<tr>

<td colspan="3"><table border="0" id="sitemap_category" style="display: none;" cellspacing="0" cellpadding="2">

<tr>

<td class="smallText"><?php include(DIR_WS_MODULES . FILENAME_SITEMAP_SEO_CATEGORY); ?></td>

</tr>

</table></td>

</tr>

<?php } ?>

<!-- End Sitemap SEO -->

<?php /*** Begin Header Tags SEO ***/ ?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td class="smallText" align="center"><?php echo TEXT_VIEWING; ?> 

<?php echo '<a title="' . $header_tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"/# ' . $header_tags_array['title'] . '">' . $header_tags_array['title']; ?></a></td>

</tr>

<?php /*** End Header Tags SEO ***/ ?>

</table></form></td>

<!-- body_text_eof //-->

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- right_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>

<!-- right_navigation_eof //-->

</table></td>

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Share this post


Link to post
Share on other sites

I don't think this is a problem I can resolve here since there are too many unknowns. But if you have deleted those pages from the header tags table, you've made the contribution almost useless.

 

Hi, thanks for replying.

 

I dont see why deleting these entries for language id1 (english) manually would affect the contribution as doing it over the test page with the delete button the result seems to be exactly the same.

 

I reinstalled the db with the newest contrib sql file and deleted the unsused entries for english with the button. Those (index and product_info) disappeared from the headertags table just the same.

 

Re: Fill tags languages (only 2 languages I use), the check button option switch reacts likewise ie To update language id 3 (my default language) I have to check language id 2 (???)

For checking the second and last button (id3) in the row does nothing. Maybe it is the fact that the starting language id is not 1 but 2 ???

This of course also means that I'm not able to update language id 2 seperately as checking it updates id 3 ...

 

Re: In Page Control

- by checking the category option: nothing happens the category does not display anywhere in the tags

- by checking the manufacturer option: nothing happens the manufacturer's name does not display anywhere in the tags

- by checking both the manufacturer and the category options: the category name is displayed instead of the Manufacturers name I need

 

To be more exact:

checking the category only (before hack), the category name is not displayed in the tags

checking the manufacturer only (before hack) gives the category name (instead of the manufacturer), but as first in the tags without noticing any sort order

checking both the manufacturer and the category options puts the category name in the right sort order but still no manufacturer's name

 

Then, by inverting catStr vs manStr on lines 110/110 in includes/headertags.php puts out the manufacturer's name

 

Best regards


david

Share this post


Link to post
Share on other sites

Now I have tried to run SOL for Header tags SEO and seems everything is working but if I turn on the 'Display Column Box' under Admin -> Configuration -> Header Tags SEO, all product prices become ZERO in product info page. Prices on other pages are fine.

The only thing I can think that might cause that is that some variable in the infobox uses the same name as some other part of your code. If you move the box code from the left to right column and the problem goes away, that is probably what it is. In that case, you will need to trace that down or just change all of the variable names in the box file.

Share this post


Link to post
Share on other sites

The only thing I can think that might cause that is that some variable in the infobox uses the same name as some other part of your code. If you move the box code from the left to right column and the problem goes away, that is probably what it is. In that case, you will need to trace that down or just change all of the variable names in the box file.

 

 

Hi Jack

 

I was originally thinking its to do with MSRP contribution that requested same variable. Sooner you suggested to move the box to the right side, I kinda start to think maybe because I have scrolling new product box on left side that is calling the same variable.

 

Im not sure if that is the case, but for now I have moved the DISPLAY_COLUMN_BOX to the right side and left Silo box on the left as I have not figured out what silo function is lmao. If Silo also causing problem when i activate it in future, I will move it to right hand side too.

 

I will also look into the vaiable and try to find a way to change the name in the box file to fix the problem for good.

 

Thanks Jack, and hope this problem and the way solved it may be helpful for others if they got into the same situation.

 

 

Kai

Share this post


Link to post
Share on other sites

Jack,

first off, great contribution. From what i can see it really looks awesome.

 

I installed the files and the admin side seems to be working, however, on the site itself most of the index page shows as blank. It appears to be cutting off right after the comment for the left nav, and it looks that way if you view source from the browser.

 

Any obvious things that I may have missed that might cause that? Thanks,

Share this post


Link to post
Share on other sites

Need help with Header Tags SEO V 3

 

In the admin section i marked X Canonical.

 

Then if I visit the main page www . myweb . com a pluging of firefox says that "The page is not indexable because this page has a canonical URL set to www . myweb .com / index.php."

 

I dont know if this is rigth.

 

 

If I enter www . myweb .com / index.php , the firefox pluging says that is right.

 

suggestion?

Edited by bhbilbao

Share this post


Link to post
Share on other sites

Jack,

first off, great contribution. From what i can see it really looks awesome.

 

I installed the files and the admin side seems to be working, however, on the site itself most of the index page shows as blank. It appears to be cutting off right after the comment for the left nav, and it looks that way if you view source from the browser.

 

Any obvious things that I may have missed that might cause that? Thanks,

It is most likely due to a mistake in the installation of the index file. There is one included that you can use for testing and comparing to find the problem.

Share this post


Link to post
Share on other sites

Need help with Header Tags SEO V 3

 

In the admin section i marked X Canonical.

 

Then if I visit the main page www . myweb . com a pluging of firefox says that "The page is not indexable because this page has a canonical URL set to www . myweb .com / index.php."

 

I dont know if this is rigth.

 

 

If I enter www . myweb .com / index.php , the firefox pluging says that is right.

 

suggestion?

I've never seen FF display that message. It is probably one of the addons you have installed in it. And just because such an addon says there is a problem doesn't mean there is one. But, assuming there is one, be sure you are using the latest version since code changes were made regarding that tag.

Share this post


Link to post
Share on other sites

For those that had problems with the display on the product page, the following change should fix it.

 

Replace

       <td class="smallText" align="center"><?php echo TEXT_VIEWING; ?> 
      <?php echo '<a title="' . $header_tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"/# ' . $header_tags_array['title'] . '">' . $header_tags_array['title']; ?></a></td>

with

       <td class="smallText" align="center"><?php echo TEXT_VIEWING; ?> 
       <?php  if (! tep_not_null($header_tags_array['title'])) $header_tags_array['title'] = $product_info['products_name'];
        echo '<a title="' . $header_tags_array['title'] . '" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_info['products_id'], 'NONSSL') . '"/# ' . $header_tags_array['title'] . '">' . $header_tags_array['title'] . '</a>'; 
       ?>
       </td>

 

The above just plugs a hole that occurs when the title isn't filled in in admin. That can happen on multi-language shops or where fill tags was not ran. The multi-language shop problem will be fixed in the next version.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×