Jump to content
Jack_mcs

Header Tags SEO

Recommended Posts

What does "nothing happens" mean? Are you saying page control page doesn't update when you click that button or the text you entered in page control isn't displayed when you go back into page control or the text is in admin but not on the shop side or something else? Do you have errors in the test section?

When I go to index.php, it says nothing in the title except "Mozilla Firefox", but when I go to a random category it comes with the right title.

When I run the test there is no error.

 

You can take a quick look at my webshop if you want:

 

tasker www.fashionsense.dk

 

It is in danish but you should be able to see that on the index page nothing is shown.

Share this post


Link to post
Share on other sites

Jack and any other takers

 

Just wondered if Header Tags SEO is able to support the 'if-modified-since' header control as I have queried in this thread in the general area. Or maybe you know of another way that osCommerce deals with this header.

 

http://forums.oscommerce.com/topic/363636-if-modified-since-http-header/page__p__1532244__fromsearch__1entry1532244

Share this post


Link to post
Share on other sites

When I go to index.php, it says nothing in the title except "Mozilla Firefox", but when I go to a random category it comes with the right title.

When I run the test there is no error.

 

You can take a quick look at my webshop if you want:

 

tasker www.fashionsense.dk

 

It is in danish but you should be able to see that on the index page nothing is shown.

I can't help without you supplying all of the information but, in general, you'll need to check if the information is staying in page control. If it is, then you either don't have a setting correctly or there is a mistake in the changes on the shop side. If it isn't, then you've made a mistake on the admin side changes. There are included files for each for you to compare against.

Share this post


Link to post
Share on other sites

Jack and any other takers

 

Just wondered if Header Tags SEO is able to support the 'if-modified-since' header control as I have queried in this thread in the general area. Or maybe you know of another way that osCommerce deals with this header.

 

http://forums.oscommerce.com/topic/363636-if-modified-since-http-header/page__p__1532244__fromsearch__1entry1532244

To properly set a 304 requires additional code and since 304's only serve to limit bandwidth usage, which is usually not a concern nowadays, it isn't worth the effort to create such code, in my opinion.

Share this post


Link to post
Share on other sites

Hello

First,''very good ADD !!!'' Thank you for the work:)

Sorry I do not speak English and use Google Translate!

 

Header tags SEO I have installed six times until everything works work.

An error I can not delete and ask for help.

 

my list is right now in the Product Info page displayed at the bottom in the middle!

Problem is only in Internet Explorer! In Firefox everything is perfect!

 

By Michel

Share this post


Link to post
Share on other sites

Header tags SEO I have installed six times until everything works work.

An error I can not delete and ask for help.

 

my list is right now in the Product Info page displayed at the bottom in the middle!

Problem is only in Internet Explorer! In Firefox everything is perfect!

There isn't any code in the contribution that is specific to a browser so there has been a mistake made in the installation. You can use the included product_info file to test and compare with.

Share this post


Link to post
Share on other sites

Well when I compared the files nothing seemed to be missing, and even if I go into the index.php file and change the "<?php echo TITLE; ?>" nothing happens anyway. So do you know where the problem may be?

I reset my databased, used the back-up from before I installed Header tags seo, and then installed it again (without having removed the code from my catalog files).

I don't know if it could be a database error, which I guess it may be?

 

Either that's where I got a problem or it is in my index.php file but when I check it, it looks as it should, it is long so I don't really know if I should actually put it here, but if it's irrelevant skip it, but I don't know what other information you would need?

 

<?php
/*
 $Id: index.php 1739 2007-12-20 00:52:16Z hpdl $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

// hide config files from world readable
 require_once('hide_config_files.php');

// the following cPath references come from application_top.php
 $category_depth = 'top';
 if (isset($cPath) && tep_not_null($cPath)) {
   $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
   $cateqories_products = tep_db_fetch_array($categories_products_query);
   if ($cateqories_products['total'] > 0) {
     $category_depth = 'products'; // display products
   } else {
     $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'");
     $category_parent = tep_db_fetch_array($category_parent_query);
     if ($category_parent['total'] > 0) {
       $category_depth = 'nested'; // navigate through the categories
     } else {
       $category_depth = 'products'; // category has no products, but display the 'no products' message
     }
   }
 }

 require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<link rel="stylesheet" type="text/css" href="stylesheet.css">
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- 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 //-->
<?php
 if ($category_depth == 'nested') {



/*** Begin Header Tags SEO ***/
   $category_query = tep_db_query("select cd.categories_name, c.categories_image, cd.categories_htc_title_tag, cd.categories_htc_description from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'");
   /*** end Header Tags SEO ***/



   $category = tep_db_fetch_array($category_query);
?>
   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>


<?php /*** Begin Header Tags SEO ***/ ?>
          <td><h1><?php echo $category['categories_htc_title_tag']; ?></h1></td>

         </tr>
          <?php if (tep_not_null($category['categories_htc_description'])) { ?>
         <tr>
          <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
         </tr>
         <tr>
          <td colspan="2"><h2><?php echo $category['categories_htc_description']; ?></h2></td>
         </tr>
         <?php } 
         /*** End Header Tags SEO ***/ 
         ?>


       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
         <tr>
           <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
             <tr>
<?php
   if (isset($cPath) && strpos('_', $cPath)) {
// check to see if there are deeper categories within the current category
     $category_links = array_reverse($cPath_array);
     for($i=0, $n=sizeof($category_links); $i<$n; $i++) {
       $categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'");
       $categories = tep_db_fetch_array($categories_query);
       if ($categories['total'] < 1) {
         // do nothing, go through the loop
       } else {
         $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
         break; // we've found the deepest category the customer is in
       }
     }
   } else {
     $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name");
   }

   $number_of_categories = tep_db_num_rows($categories_query);

   $rows = 0;
   while ($categories = tep_db_fetch_array($categories_query)) {
     $rows++;
     $cPath_new = tep_get_path($categories['categories_id']);
     $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%';
     echo '                <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n";
     if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) {
       echo '              </tr>' . "\n";
       echo '              <tr>' . "\n";
     }
   }

// needed for the new products module shown below
   $new_products_category_id = $current_category_id;
?>
             </tr>
           </table></td>
         </tr>
         <tr>
           <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
         </tr>
         <tr>
           <td><?php include(DIR_WS_MODULES . FILENAME_FEATURED); ?></td>


<!--- 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>
       </table></td>
     </tr>
   </table></td>
<?php
 } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) {
// create column list
   $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL,
                        'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME,
                        'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER,
                        'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE,
                        'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY,
                        'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT,
                        'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE,
                        'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW);

   asort($define_list);

   $column_list = array();
   reset($define_list);
   while (list($key, $value) = each($define_list)) {
     if ($value > 0) $column_list[] = $key;
   }

   $select_column_list = '';

   for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
     switch ($column_list[$i]) {
       case 'PRODUCT_LIST_MODEL':
         $select_column_list .= 'p.products_model, ';
         break;
       case 'PRODUCT_LIST_NAME':
         $select_column_list .= 'pd.products_name, ';
         break;
       case 'PRODUCT_LIST_MANUFACTURER':
         $select_column_list .= 'm.manufacturers_name, ';
         break;
       case 'PRODUCT_LIST_QUANTITY':
         $select_column_list .= 'p.products_quantity, ';
         break;
       case 'PRODUCT_LIST_IMAGE':
         $select_column_list .= 'p.products_image, ';
         break;
       case 'PRODUCT_LIST_WEIGHT':
         $select_column_list .= 'p.products_weight, ';
         break;
     }
   }

// show the products of a specified manufacturer
   if (isset($HTTP_GET_VARS['manufacturers_id'])) {
     if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only a specific category
       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'";
     } else {
// We show them all
       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'";
     }
   } else {
// show the products in a given categorie
     if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) {
// We are asked to show only specific catgeory
       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
     } else {
// We show them all
       $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'";
     }
   }

   if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('^[1-8][ad]$', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) {
     for ($i=0, $n=sizeof($column_list); $i<$n; $i++) {
       if ($column_list[$i] == 'PRODUCT_LIST_NAME') {
         $HTTP_GET_VARS['sort'] = $i+1 . 'a';
         $listing_sql .= " order by pd.products_name";
         break;
       }
     }
   } else {
     $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1);
     $sort_order = substr($HTTP_GET_VARS['sort'], 1);

     switch ($column_list[$sort_col-1]) {
       case 'PRODUCT_LIST_MODEL':
         $listing_sql .= " order by p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
         break;
       case 'PRODUCT_LIST_NAME':
         $listing_sql .= " order by pd.products_name " . ($sort_order == 'd' ? 'desc' : '');
         break;
       case 'PRODUCT_LIST_MANUFACTURER':
         $listing_sql .= " order by m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
         break;
       case 'PRODUCT_LIST_QUANTITY':
         $listing_sql .= " order by p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
         break;
       case 'PRODUCT_LIST_IMAGE':
         $listing_sql .= " order by pd.products_name";
         break;
       case 'PRODUCT_LIST_WEIGHT':
         $listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
         break;
       case 'PRODUCT_LIST_PRICE':
         $listing_sql .= " order by final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name";
         break;
     }
   }
?>
   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
<?php
// optional Product List Filter
   if (PRODUCT_LIST_FILTER > 0) {
     if (isset($HTTP_GET_VARS['manufacturers_id'])) {
       $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name";
     } else {
       $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name";
     }
     $filterlist_query = tep_db_query($filterlist_sql);
     if (tep_db_num_rows($filterlist_query) > 1) {
       echo '            <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' ';
       if (isset($HTTP_GET_VARS['manufacturers_id'])) {
         echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']);
         $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES));
       } else {
         echo tep_draw_hidden_field('cPath', $cPath);
         $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS));
       }
       echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']);
       while ($filterlist = tep_db_fetch_array($filterlist_query)) {
         $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']);
       }
       echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"');
       echo tep_hide_session_id() . '</form></td>' . "\n";
     }
   }

// Get the right image for the top-right
   $image = DIR_WS_IMAGES . 'table_background_list.gif';
   if (isset($HTTP_GET_VARS['manufacturers_id'])) {
     $image = tep_db_query("select manufacturers_image from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");
     $image = tep_db_fetch_array($image);
     $image = $image['manufacturers_image'];
   } elseif ($current_category_id) {
     $image = tep_db_query("select categories_image from " . TABLE_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'");
     $image = tep_db_fetch_array($image);
     $image = $image['categories_image'];
   }
?>
            <?php /*** Begin Header Tags SEO ***/ ?>

         </tr>
         <?php if (tep_not_null($htc['htc_description'])) { ?>
         <tr>
          <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
         </tr>
         <tr>
          <td colspan="2"><h2><?php echo $htc['htc_description']; ?></h2></td>
         </tr>
         <?php } 
         /*** End Header Tags SEO ***/ 
         ?>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
<td>
<?php
$category_query = tep_db_query("select cd.categories_name from " .     TABLE_CATEGORIES_DESCRIPTION . " cd where cd.categories_id = '" . (int)$current_category_id .     "' and cd.language_id = '" . (int)$languages_id . "'");
$category = tep_db_fetch_array($category_query);
$filename = 'includes/descriptions/'.$category['categories_name'].'.php';
if (file_exists($filename)) {
  include( $filename );
} 
?>
<?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?>
</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 --> 
   </table></td>
<?php
 } else { // default page
/*** Begin Header Tags SEO ***/
   if (isset($HTTP_GET_VARS['manufacturers_id']))
     $db_query = tep_db_query("select manufacturers_htc_title_tag as htc_title, manufacturers_htc_description as htc_description from " . TABLE_MANUFACTURERS_INFO . " where languages_id = '" . (int)$languages_id . "' and manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'");
   else
     $db_query = tep_db_query("select categories_htc_title_tag as htc_title, categories_htc_description as htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$current_category_id . "' and language_id = '" . (int)$languages_id . "'");

   $htc = tep_db_fetch_array($db_query);
   ?>
   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td><h1><?php echo $htc['htc_title']; ?></h1></td>
   <?php /*** End Header Tags SEO ***/ ?>
           <td><h1><?php echo HEADING_TITLE; ?></h1></td>
           <td align="right"><h1><?php echo tep_image(DIR_WS_IMAGES . 'table_background_default.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></h1></td>

       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td class="main"><?php echo tep_customer_greeting(); ?></td>
         </tr>
         <tr>
           <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
         </tr>
         <tr>
           <td class="main"><?php echo TEXT_MAIN; ?></td>
         </tr>
         <tr>
           <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
         </tr>
         <tr>
           <td><?php include(DIR_WS_MODULES . FILENAME_FEATURED); ?></td>
         </tr>

       </table></td>
     </tr>
   </table></td>
<?php
 }
?>
<!-- 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

There isn't any code in the contribution that is specific to a browser so there has been a mistake made in the installation. You can use the included product_info file to test and compare with.

 

Thanks for your answer!

 

I compared the two files with Altova DiffDog and up to my own data (Header Div) are not Unterschide. Even though I need your original file is the SEO mistakes. If I use the standard of OSC's all Oky.

It should be 100% in a change of SEO.

What part of Producte_Info concerns the right side?

With Chrome, Opra, Firefox, Safari, everything appears correctly only in IE False.

 

Download my product_info.rar

Share this post


Link to post
Share on other sites

Thanks for your answer!

 

I compared the two files with Altova DiffDog and up to my own data (Header Div) are not Unterschide. Even though I need your original file is the SEO mistakes. If I use the standard of OSC's all Oky.

It should be 100% in a change of SEO.

What part of Producte_Info concerns the right side?

With Chrome, Opra, Firefox, Safari, everything appears correctly only in IE False.

 

Download my product_info.rar

 

Sorry for the double tread!

 

I have gedunden the problem.

It is caused by,

 

 

<?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 ***/ ?>      

 

this part if I delete information from the product will also in IE everything displays correctly, I can shorten this code?

I have to display below have not yet used the SEO data it!

 

How can I solve this?

Or this code to a different places?

 

<?php
   if ((USE_CACHE == 'true') && empty($SID)) {
     echo tep_cache_also_purchased(3600);
   } else {
     include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
   }
 }
?>
       </td>
     </tr>
     <?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 have gedunden the problem.

It is caused by,

 

The code in question is standard table code so the problem is specific to your shop and I can't help with that.

Share this post


Link to post
Share on other sites

To properly set a 304 requires additional code and since 304's only serve to limit bandwidth usage, which is usually not a concern nowadays, it isn't worth the effort to create such code, in my opinion.

 

Thanks for the response

 

Like you I thought nothing much of delivering a 304 code. However, when I was looking at the Google webmasters advice area recently, it specifically mentions that websites/pages should accept the if-modified-since header and deal with it accordingly. This got me thinking that if Google's header request is not met with last-modified or a 304, could it be this that causes issues like not all pages being indexed?

 

Here is my theory - unsubstantiated - Google can determine how many pages on on your website by the sitemap files you feed it. Google can then calculate the time it will take to index those pages based upon, say, an optimum page sixe of 20K or something similar. It will then start to go through the pages and, probably depending on yet more rules, might index some of the pages it reads. Then after the pre-determined time it will stop.

 

So, if you can deliver back a 304 code pretty quickly, Google need not read the page and determine that nothing has changed. That saved time can then be spent looking at the next page.

 

It's a hunch, but when Google provides such advice it seems to me that we should follow it to the T

Share this post


Link to post
Share on other sites

Thanks for the response

 

Like you I thought nothing much of delivering a 304 code. However, when I was looking at the Google webmasters advice area recently, it specifically mentions that websites/pages should accept the if-modified-since header and deal with it accordingly. This got me thinking that if Google's header request is not met with last-modified or a 304, could it be this that causes issues like not all pages being indexed?

 

Here is my theory - unsubstantiated - Google can determine how many pages on on your website by the sitemap files you feed it. Google can then calculate the time it will take to index those pages based upon, say, an optimum page sixe of 20K or something similar. It will then start to go through the pages and, probably depending on yet more rules, might index some of the pages it reads. Then after the pre-determined time it will stop.

 

So, if you can deliver back a 304 code pretty quickly, Google need not read the page and determine that nothing has changed. That saved time can then be spent looking at the next page.

 

It's a hunch, but when Google provides such advice it seems to me that we should follow it to the T

Google has been pushing for faster sites for the last few years. They are even trying to make speed a part of SEO. The reason they want sites to use the 304 tag is because it will save them time in scans. You are correct about the scan though. They send out two types of spiders: one for quick scans and one for deep scans. The quick scan will exit quickly so the more it can get in that time, the more it will list. The deep scan will get your pages but they don't come that often, usless your site ranks high. If you have properly optimized your shop (see my signature for recommended SEO contributions), then the pages will get listed faster anyway. So having the 304 code isn't a big advantage, in my opinion, for a site. It would be a little better, with all else being equal, to have the code in place but, as mentioned, I don't think it is worth the effort. Of course, if google gets their way and the speed of a site becomes part of SEO, that will change. I will put this on the list of possible additions but the earliest that would be done is sometime next year, unless someone wants to code it and send that to me. :)

Share this post


Link to post
Share on other sites

I'll take your advce, thanks. You've clearly done more reading on this subject than I have. Thanks for pointing me at the SEO links - good bit of lunch time reading there :)

Share this post


Link to post
Share on other sites

Jack,

First of all, thanks for your tireless work on this useful contribution! I have a very old version installed on my site (2.3.7) and it has been working fine for years. Except, for some reason it adds an extra   that bumps the site design down, creating extra white space at the top of the site. I installed the newest version on my dev server, which corrected the space issue, but would give me mysql errors for unrecognized db categories. Rather than fight all that to fix this one small issue, is there a simpler fix?

 

Thanks for your time!


Quidquid latine dictum sit, profundum viditur.

Share this post


Link to post
Share on other sites

Jack,

First of all, thanks for your tireless work on this useful contribution! I have a very old version installed on my site (2.3.7) and it has been working fine for years. Except, for some reason it adds an extra   that bumps the site design down, creating extra white space at the top of the site. I installed the newest version on my dev server, which corrected the space issue, but would give me mysql errors for unrecognized db categories. Rather than fight all that to fix this one small issue, is there a simpler fix?

Without knowing what the error is, I can't comment on it. But for updating from any version, you can just replace all of the files. The only exception to whatch out for is the includes/header_tags.php file if you had pseudo pages setup. For the database, if you don't care about losing existing entries, then just run the uninstall and install scripts. If oyu do, then the products, categories and manufacturers tables probably don't need to be changed, unless your version was missing some of those fields. Everything else can be replaced.

Share this post


Link to post
Share on other sites

Hello everyone, I just installed this addon.

 

When I go into admin, I see both links, the Header Tag SEO under configuration, and the other Header Tag SEO link at the bottom.

The problem I am having is that, when I click on the bottom SEO link (example: Go to admin->Header Tags SEO->) it does nothing, the browser just loads till it times out and never gets anywhere. Has anyone come across this before?

 

When I click on the link inside the configuration category, it works fine. Just not the other link.

Share this post


Link to post
Share on other sites

Hello everyone, I just installed this addon.

 

When I go into admin, I see both links, the Header Tag SEO under configuration, and the other Header Tag SEO link at the bottom.

The problem I am having is that, when I click on the bottom SEO link (example: Go to admin->Header Tags SEO->) it does nothing, the browser just loads till it times out and never gets anywhere. Has anyone come across this before?

 

When I click on the link inside the configuration category, it works fine. Just not the other link.

You've made some mistake in the installation or something on the server is not allowing it to work. This has come up before and, as I recall, the person found a file had not uploaded correctly. If you find that post in this thread, I provided the troubleshooting procedure on how to isolate the problem.

Share this post


Link to post
Share on other sites

You've made some mistake in the installation or something on the server is not allowing it to work. This has come up before and, as I recall, the person found a file had not uploaded correctly. If you find that post in this thread, I provided the troubleshooting procedure on how to isolate the problem.

 

Thank you,

I have checked and rechecked everything, and cant find the issue. After clicking on the bottom SEO link and leaving it for a long time, eventually the other options show up, such as Fill. I then went into fill and attempted to select index.php to change the title, and just stays loading. I went back, exited out of the admin, reentered, when I click on the bottom seo link, same thing happens again it just hangs.

 

(I am still searching for the post your referring too)

 

EDIT:

 

I may have found the issue, I uploaded all the admin files, however one of the folders permission admin/includes did not allow for me to upload into it (however never saw a message telling me so), I realized after uploading again that I didnt see the file, all other files show up, even subdirectories inside includes. Its working now.

Edited by streetzlegend

Share this post


Link to post
Share on other sites

I may have found the issue, I uploaded all the admin files, however one of the folders permission admin/includes did not allow for me to upload into it (however never saw a message telling me so), I realized after uploading again that I didnt see the file, all other files show up, even subdirectories inside includes. Its working now.

Congratulations on a good troubleshooting job. That kind of problem can be difficult to find if there aren't any errors. And posting here might help others so thanks for that too.

Share this post


Link to post
Share on other sites

Congratulations on a good troubleshooting job. That kind of problem can be difficult to find if there aren't any errors. And posting here might help others so thanks for that too.

 

Actually, I tried a few things. went over all the Admin install instructions again to make sure they were done properly. Also uploaded the image folder (I didnt before). Even after doing this the problem continues. It just hangs when you click on the bottom Header Tag link, I cant seem to find the issue still. Error-log shows empty. Right now I am going to go over all the non admin part and make sure everything is fine there.

Share this post


Link to post
Share on other sites

It looks like the addon is properly installed, I was able to use it, the only problem is that it takes long to load initially. Possibly because of the amount of products the site has. Something I do suggest is to always check folder permissions before uploading, I wasted a bit of time uploading and editing things when they actually weren't being saved.

 

Thanx for the help

Edited by streetzlegend

Share this post


Link to post
Share on other sites

It looks like the addon is properly installed, I was able to use it, the only problem is that it takes long to load initially. Possibly because of the amount of products the site has. Something I do suggest is to always check folder permissions before uploading, I wasted a bit of time uploading and editing things when they actually weren't being saved.

When you say the bottom Header Tags link is slow, do you mean the Test link? If so, then there is something still wrong since that should load instantly when first clicked because nothing is being checked at that point.

Share this post


Link to post
Share on other sites

Jack,

OK-I jumped in and installed the new version(3.2.3) and as you've noted in the docs, I have some issue with my modified admin/categories.php. Namely, I get this error when I try to load it:

 

 

Parse error: syntax error, unexpected '}' in /blablah/admin/categories.php on line 1374

 

The referenced line is the third line in this portion of the code:

 

<?php /*** Begin Header Tags SEO ***/ ?>
<?php
 } elseif ($action == 'new_product_preview') {
   if (tep_not_null($HTTP_POST_VARS)) {
     $pInfo = new objectInfo($HTTP_POST_VARS);
     $products_name = $HTTP_POST_VARS['products_name'];
     $products_description = $HTTP_POST_VARS['products_description'];
     $products_head_title_tag = $HTTP_POST_VARS['products_head_title_tag'];
     $products_head_desc_tag = $HTTP_POST_VARS['products_head_desc_tag'];
     $products_head_keywords_tag = $HTTP_POST_VARS['products_head_keywords_tag'];
     $products_url = $HTTP_POST_VARS['products_url'];
   } else {
     $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description, pd.products_head_title_tag, pd.products_head_desc_tag, pd.products_head_keywords_tag, pd.products_url, p.products_quantity, p.products_model, p.products_image, p.products_bimage, p.products_price, p.products_weight, p.products_date_added, p.products_last_modified, p.products_date_available, p.products_status, p.manufacturers_id  from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and p.products_id = '" . (int)$HTTP_GET_VARS['pID'] . "'");
     $product = tep_db_fetch_array($product_query);
/*** End Header Tags SEO ***/
     $pInfo = new objectInfo($product);
     $products_image_name = $pInfo->products_image;
     $products_bimage_name = $pInfo->products_bimage;
   }

 

Note that this portion of code was also previously modified by Big Images Modification v1.25 for osCommerce 2.2 MS2 -only

Edited by akmac

Quidquid latine dictum sit, profundum viditur.

Share this post


Link to post
Share on other sites

Jack,

OK-I jumped in and installed the new version(3.2.3) and as you've noted in the docs, I have some issue with my modified admin/categories.php. Namely, I get this error when I try to load it:

See the troubleshooting notes in the install file as to how to handle that.

Share this post


Link to post
Share on other sites

Hi, I have re-installed it for several times, but still can't update the meta tags for index.php.

I run the Test function, and there aren't any errors, just say I miss tags for index.php.

 

I did some debug in the header_tags_seo.php, and find it stop here, about line 93:

if (isset($_POST['action']) && $_POST['action'] == 'update') 
{ 
if (isset($_POST['x'])) 

when I echo $_POST['x'], it just display nothing, so it won't update the database...

 

Why the 'x' lost?

 

I installed the lastest version.

 

any help will be appreciated, I have tried it for lots for hours...

Edited by shadow007

Everyone is changing the world.

Everyone is a world.

For everyone needs my help, PM or email if I amn't online.

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

×