sacredorigin Posted April 3, 2013 Share Posted April 3, 2013 I have successfully, in the past used this Header tags SEO and it worked great. Recently i upgraded OSC to 2.3.3 and had to update header tags too. Sadly i get this error... i am about ready to give up on osc all together now because osc stores get no hits or traffic without SEO optimization... its got me really depressed and i am wondering if anyone has same issue or could help me figure out the proglem. I have new store installed for simplicity i have osc 2.3.3 i install header tags seo for new store only and i still get the error.. "Warning: call_user_func() expects parameter 1 to be a valid callback, function 'header_tags_reset_cache' not found or invalid function name in /home/sacredor/public_html/om/includes/functions/general.php on line 1281" ScreenShot: www.sacredorigin.com/error.jpg Suggestions? Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 3, 2013 Author Share Posted April 3, 2013 "Warning: call_user_func() expects parameter 1 to be a valid callback, function 'header_tags_reset_cache' not found or invalid function name in /home/sacredor/public_html/om/includes/functions/general.php on line 1281" That error is usually caused by not uploading the included header tags files. By the way, the lack of traffic isn't because it is an oscommerce shop, necessairly. All shops, regardless of the type, have to be SEO'ed. Some may come with a little more code that allows that but in 2.3 there is basic title and meta tags code that will do that. So if a sites pages aren't listing well, it's usually because they have not been optimized properly and there's no getting around putting in the effort to have that happen. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
draytop Posted April 4, 2013 Share Posted April 4, 2013 Hi, What do I need to do if my OSCommerce installation has product.php instead of product_info.php? I've tried selecting Automatically Add Pages or even manually adding the page to the database, but it never appears in the page_control select file list. Any help much appreciated. Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 5, 2013 Author Share Posted April 5, 2013 If product.php has the same code as product_info.php, then you make the same changes to it as in the instructions. Otherwise, the changes to the <head> section may be all that is needed. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
bugnet Posted April 5, 2013 Share Posted April 5, 2013 Re pasted the code for the breadcrumb trail in to application_top.php and the warning went away :) BlackCap had same problem, dunno why my previous code was : /*** Begin Header Tags SEO ***/ // add category names or the manufacturer name to the breadcrumb trail if (isset($cPath_array)) { for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) { $categories_query = tep_db_query("select categories_htc_title_tag from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "' LIMIT 1"); if (tep_db_num_rows($categories_query) > 0) { $categories = tep_db_fetch_array($categories_query); $breadcrumb->add($categories['categories_htc_title_tag'], tep_href_link(FILENAME_DEFAULT, 'cPath=' . implode('_', array_slice($cPath_array, 0, ($i+1))))); } else { break; } } } elseif (isset($HTTP_GET_VARS['manufacturers_id'])) { $manufacturers_query = tep_db_query("select manufacturers_htc_title_tag from " . TABLE_MANUFACTURERS_INFO . " where manufacturers_id = '" . (int)$_GET['manufacturers_id'] . "' AND languages_id = '" . (int)$languages_id . "' LIMIT 1"); if (tep_db_num_rows($manufacturers_query)) { $manufacturers = tep_db_fetch_array($manufacturers_query); $breadcrumb->add($manufacturers['manufacturers_htc_title_tag'], tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $_GET['manufacturers_id'])); } } // add the products model to the breadcrumb trail if (isset($HTTP_GET_VARS['products_id'])) { $products_query = tep_db_query("select pd.products_head_title_tag from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id where p.products_id = '" . (int)$_GET['products_id'] . "' and pd.language_id ='" . (int)$languages_id . "' LIMIT 1"); if (tep_db_num_rows($model_query)) { $model = tep_db_fetch_array($model_query); $breadcrumb->add($products['products_head_title_tag'], tep_href_link(FILENAME_PRODUCT_INFO, 'cPath=' . $cPath . '&products_id=' . $_GET['products_id'])); } } /*** End Header Tags SEO ***/ still don't know from where it came from, anyway, repaste and now its ok ! Quote Link to comment Share on other sites More sharing options...
mraccine Posted April 5, 2013 Share Posted April 5, 2013 Hi Jack, Have you ever considered adding the ability to add the Products Price to the Title tag? Let's say I know that I have the lowest price out there. I would like Google to display the price in the SERP's. My product pages rank well (top 5 usually), and displaying the low price should encourage the user to click my link. Especially now considering that Google has turned Google Base/Shopping into a paid Adwords campaign. While my products are listed in the organic results, some users might just click an Adwords listing that displays a listing of a product with an image and price. I'm Interested in your thoughts. Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 5, 2013 Author Share Posted April 5, 2013 It's not against the rules to do that, as far as I know, though I doubt that it would do any good. I don't think they would allow the currency symbol but even if they did, it's not something someone would search for. So you would just be relying on the links to show up where someone can see them due to some other search. At that point, if you are already in the top 5, I can't see it making much difference. Also keep in mind that there is no guarantee as to when they look at your site. For higher ranked sites, they do frequent more often but they may not. So let's say you put an item on sale for $10 and it shows up in the listings but then the sale ends and the price reverts to $20. The listing will still say $10 until they revisit the page so you could end up with angry customers. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
mraccine Posted April 5, 2013 Share Posted April 5, 2013 It's not against the rules to do that, as far as I know, though I doubt that it would do any good. I don't think they would allow the currency symbol but even if they did, it's not something someone would search for. So you would just be relying on the links to show up where someone can see them due to some other search. At that point, if you are already in the top 5, I can't see it making much difference. Also keep in mind that there is no guarantee as to when they look at your site. For higher ranked sites, they do frequent more often but they may not. So let's say you put an item on sale for $10 and it shows up in the listings but then the sale ends and the price reverts to $20. The listing will still say $10 until they revisit the page so you could end up with angry customers. Thanks for the reply. The main strategy that I'm shooting for is to let potential customer know what my price is on the product, without having to click on my listing in the organic results. They may see 10 other stores with the same product, but not know who has the lowest price. Quote Link to comment Share on other sites More sharing options...
shoshoni Posted April 7, 2013 Share Posted April 7, 2013 Hi Jack I have installed this contribution a few times without any problems but this time around when I installed it, my Admin left side menus are all over the place. They have lost the headings and formatting. What have I done wrong and where possibly should I look to fix it. It is for a brand new V2.3.3 with no other modules installed. This was the very first one. Thanks Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 7, 2013 Author Share Posted April 7, 2013 (edited) You've made a mistake somewhere. If you used the pre-2.3 version it would do that. Edited April 7, 2013 by Jack_mcs Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
krokus Posted April 7, 2013 Share Posted April 7, 2013 Hi, sorry bad english I'm not a pro, I made a modification in includes/header_tags.php, I added this code // filter name if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { if (isset($HTTP_GET_VARS['manufacturers_id']) && !empty($HTTP_GET_VARS['manufacturers_id'])) { $db_query = tep_db_query("select categories_name as filter_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"); } elseif ($current_category_id) { $db_query = tep_db_query("select manufacturers_name as filter_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"); } $filter = tep_db_fetch_array($db_query); } under Canonical URL add-on and before the break; and in the end I modified this <title>' . $header_tags_array['title'] . ' ' . $filter['filter_name'] . '</title> to put the filter name after the category or manufacturer name, it's work but to be sure if If somebody could look and tel me if it's ok thinks Quote Link to comment Share on other sites More sharing options...
sarutobi Posted April 9, 2013 Share Posted April 9, 2013 Hello everybody, hi jack, I've just installed the contribution on my shop www.solerjoyeros.es, some features are working correctly but in some places it's not showing title, meta description and meta keywords. Categories and subcategories are working fine (http://www.solerjoyeros.es/relojes-modernos-mujer-c-58_66_70.html), but in the other hand, at manufacturers is not showing anything, (http://www.solerjoyeros.es/tommy-hilfiger-relojes-m-23.html) In specials products some products are correct (http://www.solerjoyeros.es/relojes-modernos-mujer/reloj-mark-maddox-mm3006-05-p-537.html) and others don't (http://www.solerjoyeros.es/relojes-clasicos-mujer/reloj-racer-211580-p-488.html). I've run the test at index and it shows: languages in the Header Tags table are: 2 ( Espanol ). languages in the Header Tags table are: 3 ( English ). Title and Meta Tag results for index.php explain Espanol From Site: Title -> Meta Description -> Meta Keywords -> From Settings: Title -> Joyeria Meta Description -> Joyeria SOLER JOYEROS Meta Keywords -> joyeria Results of scan: index.php is missing Header Tags code or it is not installed correctly. Verify that Fill Tags has been ran and that the root checkbox or the default checkboxes have been checked in Page Control. I've checked the code and verify running fill tag, and can't find a solution. Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 9, 2013 Author Share Posted April 9, 2013 @@sarutobi There's a problem with your database and/or files with regards to the type of charset is being used. Those ? in the category box indicates that. That may, or may not, be causing your problems with Header Tags but they should be taken care of first. You can post in the general forum for help with that since it is not a Header Tags issue. As for the Header Tags problems, without seeing the admin and files I can't say what is wrong. There is a fix for the manufacturers posted here not too long ago. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
draytop Posted April 10, 2013 Share Posted April 10, 2013 Right, Please can you tell me STEP BY STEP what I need to do to get this to work! I do not have a product_info.php page, it is product.php All my pages have the default description/keywords. What I want is the individual product pages e.g. http://www.bringingitalltogether.co.uk/product.php?products_id=262 to pull the meta title, meta keywords and meta description from the database fields I have just painstakingly edited (1800+ products). Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 10, 2013 Author Share Posted April 10, 2013 I can't offer individual support here for changed shops since there would be request after request posted. There are instructions and completed files included in the package. If they don't match your shop, it is up to you to figure it out or to pay someone to install it for you. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
zpupster Posted April 10, 2013 Share Posted April 10, 2013 hello, oscommerce 2.3.3 header tags seo 3.8 I am not sure if I am in the right spot. in the admin section HT Seo> Keywords. I noticed that some keywords being searched for were not being found. so doing some testing on our homepage in the header.php section I have: <div id="searchbar"> <form action="advanced_search_result.php" method="GET"> <input type="text" name="keywords"> <input type="submit" value="Product Search"> </form> </div> when I use this for let's say search for "9000" advanced_search_results.php comes up stating there are no products to be found. now if I hit the search button again advanced_search.php comes up and if I reenter that same product"9000" 10 products or so come up as results. ideally we would not want the customer to search twice for this, I tried to replacing advanced_search_result.php with advanced_search.php in header.php but the customers will have to search twice.. thanks, craig Quote Link to comment Share on other sites More sharing options...
sarutobi Posted April 10, 2013 Share Posted April 10, 2013 @@sarutobi There's a problem with your database and/or files with regards to the type of charset is being used. Those ? in the category box indicates that. That may, or may not, be causing your problems with Header Tags but they should be taken care of first. You can post in the general forum for help with that since it is not a Header Tags issue. As for the Header Tags problems, without seeing the admin and files I can't say what is wrong. There is a fix for the manufacturers posted here not too long ago. Hi Jack, thanks for answering so quick, sorry but I don't know what you mean with "Those ? in the category box indicates that", I wonder why the type of charset is producing errors in some files and it doesn't in others, thanks in advance Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 10, 2013 Author Share Posted April 10, 2013 @@zpupster The Header Tags code shouldn't cause that problem. You can replace the advanced-search file with the original to see if it still exists. If it does, then the problem is in your shop and you should post your question in the general suppost forum. If the problem is still there and the only difference between the two files is the Header Tags code, then there must be a mistake in the changed you made. If you used the included one, which it sounds like you did, then that should work. If not, then the problem is elsewhere in the shop. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 10, 2013 Author Share Posted April 10, 2013 Hi Jack, thanks for answering so quick, sorry but I don't know what you mean with "Those ? in the category box indicates that", I wonder why the type of charset is producing errors in some files and it doesn't in others, thanks in advance When I view your site there are question marks in the category box and elsewhere on the page. For example, one category reads as Relojes Cl?sicos Mujer. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
sarutobi Posted April 10, 2013 Share Posted April 10, 2013 (edited) When I view your site there are question marks in the category box and elsewhere on the page. For example, one category reads as Relojes Cl?sicos Mujer. I see, I suppose it's because of the language, I don't see any question mark, I figured out where is the real problem but now I have to wonder why does it happen, the includes/application_top.php file has a part of the code like this: // calculate category path if (isset($HTTP_GET_VARS['cPath'])) { $cPath = $HTTP_GET_VARS['cPath']; } elseif (isset($HTTP_GET_VARS['products_id']) && !isset($HTTP_GET_VARS['manufacturers_id'])) { $cPath = tep_get_product_path($HTTP_GET_VARS['products_id']); } else { $cPath = '100'; } If I delete the value, those page which had errors start to work correctly but the homepage of my site and left menu get different, Edited April 10, 2013 by sarutobi Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 11, 2013 Author Share Posted April 11, 2013 Someone has altered your code to work a certain way. Using actual category ID's like that in the code is typical of many template designers, and not good by the way. But that isn't anything to do with Header Tags. It will affect the Header Tags code but you would have to alter one or the other to get it to work correctly. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Roaddoctor Posted April 15, 2013 Share Posted April 15, 2013 (edited) Howdy, Jack I'd like to ask for a bit of input before testing this. I'm tweaking header tags to sort out a known bug when iOSC Mobile is installed. On mobile_product_reviews.php and mobile_product_reviews_info.php I am not seeing header tags with product specifics in the description and keywords (like on the desktop side). Could you tell me if the following is correct, and if I am missing anything else? or if this will just break things please say so. /catalog/includes/header_tags.php 1. Make sure the local file matches your remote version, make a safe backup, then FIND // PRODUCT_INFO.PHP // PRODUCT_REVIEWS.PHP // PRODUCT_REVIEWS_INFO.PHP // PRODUCT_REVIEWS_WRITE.PHP case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_INFO): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_INFO): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_WRITE): switch (true) { case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_INFO): $filename = FILENAME_PRODUCT_INFO; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS): $filename = FILENAME_PRODUCT_REVIEWS; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_INFO): $filename = FILENAME_PRODUCT_REVIEWS_INFO; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_WRITE): $filename = FILENAME_PRODUCT_REVIEWS_WRITE; break; default: $filename = FILENAME_PRODUCT_INFO; } Replace with // PRODUCT_INFO.PHP // PRODUCT_REVIEWS.PHP // PRODUCT_REVIEWS_INFO.PHP // PRODUCT_REVIEWS_WRITE.PHP // MOBILE_PRODUCT_REVIEWS.PHP // MOBILE_PRODUCT_REVIEWS_INFO.PHP // MOBILE_PRODUCT_REVIEWS_WRITE.PHP case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_INFO): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_INFO): case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_WRITE): // Begin iOSC case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS): case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_INFO): case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_WRITE): // End iOSC switch (true) { case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_INFO): $filename = FILENAME_PRODUCT_INFO; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS): $filename = FILENAME_PRODUCT_REVIEWS; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_INFO): $filename = FILENAME_PRODUCT_REVIEWS_INFO; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_PRODUCT_REVIEWS_WRITE): $filename = FILENAME_PRODUCT_REVIEWS_WRITE; break; // Begin iOSC case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS): $filename = FILENAME_MOBILE_PRODUCT_REVIEWS; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_INFO): $filename = FILENAME_MOBILE_PRODUCT_REVIEWS_INFO; break; case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_WRITE): $filename = FILENAME_MOBILE_PRODUCT_REVIEWS_WRITE; break; // Begin iOSC default: $filename = FILENAME_PRODUCT_INFO; } Then, if exists, delete or comment out the following 3 bits // mobile_product_reviews_write.php case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_WRITE): if (! ReadCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), '')) { $header_tags_array = tep_header_tag_page(FILENAME_MOBILE_PRODUCT_REVIEWS_WRITE); WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), ''); } break; // mobile_product_reviews.php case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS): if (! ReadCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), '')) { $header_tags_array = tep_header_tag_page(FILENAME_MOBILE_PRODUCT_REVIEWS); WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), ''); } break; // mobile_product_reviews_info.php case (basename($_SERVER['PHP_SELF']) === FILENAME_MOBILE_PRODUCT_REVIEWS_INFO): if (! ReadCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), '')) { $header_tags_array = tep_header_tag_page(FILENAME_MOBILE_PRODUCT_REVIEWS_INFO); WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), ''); } break; Does a change need to be made here as well? /admin/includes/functions/header_tags.php function GetBaseFiles() { $baseFiles = array(); $baseFiles = array(0 => 'index.php', 1 => 'product_info.php', 2 => 'product_reviews.php', 3 => 'product_reviews_info.php', 4 => 'product_reviews_write.php', 5 => 'specials.php'); return $baseFiles; } Upload the admin file, then the other... Thank you for any feedback! Edited April 15, 2013 by Roaddoctor Quote -Dave Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 15, 2013 Author Share Posted April 15, 2013 The first two look OK. The last is as you say. You'll have to add them as base files or when you visit Page Control, the code will add them back into the inlcudes/header_tags.php file. I don't know if adding them that way will actually work since there is code in the function file that may need changing but it is a good start, I think. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
surrfman Posted April 22, 2013 Share Posted April 22, 2013 @@Jack_mcs already have ultimate_SEO_urls_5 installed, wil this be a problem if header tags is installed also? Timmy C Quote Link to comment Share on other sites More sharing options...
Jack_mcs Posted April 22, 2013 Author Share Posted April 22, 2013 You have to run SEO 5 in rewrite mode. The other modes won't work with Header Tags SEO. Quote Support Links: For Hire: Contact me for anything you need help with for your shop: upgrading, hosting, repairs, code written, etc. All of My Addons Get the latest versions of my addons Recommended SEO Addons Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.