Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Demitry last won the day on December 28 2018

Demitry had the most liked content!

1 Follower

Profile Information

Recent Profile Visitors

9,222 profile views
  1. Demitry

    Header Tags SEO

    cool, thanks. I'll take action accordingly.
  2. Demitry

    Header Tags SEO

    @Jack_mcs hi Jack, Question for you about the purpose of the "currently viewing" link. I noticed that BS Edge product_info.php page has this same link for the product title and both, the "currently viewing" link and that product page title link reload the same page. This is confusing for the user, and for bots it sends them into a loop. That's something search engines don't like too much on either front. They already have this issue with the logo image link on the home page. Is there another purpose for these two links that I am not aware of?
  3. Demitry

    Header Tags SEO

    @Jack_mcs hi Jack, In this file there is a style tag inside of an inline style tag for the Additional Words field. /Use_if_version_BootStrap/catalog_only_new_files/admin/includes/modules/header_tags_seo.php And I rewrote that file for better formatting of the titles and fields. I used a table structure because the divs were messed up and frankly, it was easier to do it this way. File is attached and below is a screenshot of how it is formatted now. header_tags_seo.php
  4. Demitry

    Header Tags SEO

    more.... These files have no changes in them. /Use_if_version_BootStrap/catalog/includes/.htaccess /Use_if_version_BootStrap/catalog/includes/modules/content/index_nested/cm_in_category_description.php /Use_if_version_BootStrap/catalog/includes/modules/content/index_nested/cm_in_category_listing.php /Use_if_version_BootStrap/catalog_only_new_files/admin/header_tags_seo_popup_help.php - just calls the application_top file with no other code content. /Use_if_version_BootStrap/catalog/index.php - (int)$HTTP_GET_VARS['manufacturers_id'] should be (int)$ _GET ['manufacturers_id'] /Use_if_version_BootStrap/catalog/product_info.php - echo "<a name=\"\$header_tags_array['title']\"></a>"; has an extra back-slash before the variable and really should be: echo '<a name="' . $header_tags_array['title'] . '"></a>'; /Use_if_version_BootStrap/catalog_only_new_files/admin/includes/functions/header_tags.php - font-size:10ps; should be font-size:10px; (2 instances – lines 213 and 214)
  5. Demitry

    Header Tags SEO

    Also, in the /includes/header_tags.php file, you can combine the noodp and noydir meta tags into one. This should also reduce the related database configuration by one setting. So, ..from this: if ($defaultTags['meta_noodp']) echo '<meta name="robots" content="noodp" />' . "\n"; if ($defaultTags['meta_noydir']) echo '<meta name="slurp" content="noydir" />' . "\n"; to this: if ($defaultTags['meta_noodp']) echo '<meta name="robots" content="noodp,noydir" />' . "\n"; Reference article: https://www.seoworkers.com/seo-articles-tutorials/using-noodp-and-noydir.html
  6. Demitry

    Header Tags SEO

    @Jack_mcs more on this addon… /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/header_tags_social_bookmarks.php In this file there is code calling for the /ext/javascript/plusone.js file. After doing a site search, this is the only place where this file is called. So,.. that plusone.js file can be removed and the call replaced with the following for a cached copy of it from Google. echo '<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>'; Though better yet,… you could remove that code block along with the database install code for Google Plus because Google Plus is no longer in existence.
  7. Demitry

    Header Tags SEO

    @Jack_mcs hi Jack, I’m installing this addon for BS Edge and going through all the files. Here are some issues I found. This file has no changes in it. /Use_if_version_BootStrap/catalog/includes/application_bottom.php These files need a class constructor function __construct(): /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/content/header/cm_header_headertags_pagetop.php /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/content/product_info/ cm_pi_headertags_seo.php /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/boxes/bm_header_tags.php /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/boxes/bm_header_tags_social.php /Use_if_version_BootStrap/catalog_only_new_files/includes/modules/boxes/bm_headertags_seo_silo.php /Use_if_version_BootStrap/catalog_only_new_files/admin/includes/classes/header_tags_seo.php These folders are empty: /Use_if_version_BootStrap/catalog/includes/modules/content/header/templates/ /Use_if_version_BootStrap/catalog/includes/modules/content/navigation/templates/ I’m not finished reviewing all the code for the version I am installing in the package folder Use_if_version_BootStrap, and I’ll let you know if I find anything else.
  8. Demitry

    Header Tags SEO

    @Jack_mcs hi Jack, Just a suggestion to reduce the size of this addon. I think you can safely remove any and all references to osC versions that are below version 2.3 because…: 1) Anyone who currently has an osC version below 2.3, has already installed this HTSEO addon 2) Anyone who chooses osC for a new install, will not install an old version below 2.3
  9. Thanks John, I had not thought of that. I figured it needed both and it works with both. I'll take a look and try restructuring the file to use one parameter (products_id) for all reviews and the reviews_id for the single review. The easiest way is probably to just scrap the split file and leave it as it was and then add in the product_reviews_info.php file. The SEO URLs code is already set up for it in the class file.
  10. @Jack_mcs hi Jack, I modified my product_reviews.php file in my BS Edge install to also display individual reviews,.. same as product_reviews_info.php file did in the older osC versions, before it was dropped for whatever reason. The htaccess rewrite rules for the product_reviews.php file does not recognize any query in the url beyond products_id. Therefore, an individual review in that file with a url like this: ../product_reviews.php?products_id=19&reviews_id=3 …will ignore the last part and return the same product_reviews.php page showing all of the reviews for that product. I tried finding a solution using an htaccess RewriteRule and cannot seem to get one to work properly. I’m doing this with the assumption that I don’t need to add code in the seo.class.php class file, though I may be wrong on that. Do you or anyone else here know how to structure that RewriteRule for it to read the second part of that url query string?
  11. Hey, awesome recaptcha module, easy install! TX

  12. Demitry

    Removing fake customers

    I think an easy way to get around bot creation of fake accounts or abuse of Tell A Friend page is to add in a script that requires the user to approve the account or email-send action via a button sent to their email. This is an added step, but you could spin it as it is designed to protect them (the customer). And a hacker or spammer is not going to use their own email account. This would not work for the Contact Us page, but if set up right, it will only execute the final account-submit or email-send action upon a human approval from the account of the email they used. It would likely require some A/B testing to see if an added step like this would have a significant negative impact on new account creations and Tell A Friend emails sent via real customers.
  13. hi Rainer, This is a small modification to this addon for anyone who wants to use it,.. and if you see value in it, you could add it to an update release. The mod is designed to only show the “See More” button if the number of recently viewed products exceeds the content limit of recently viewed products for each module. For example: if a customer viewed 4 or less products and the content limit is set to 4 recently viewed products, then it does not makes sense to have them see and click on a "See More" button that takes them to a Recently Viewed Products page containing the same 4 or less products that were listed on whatever page they were on. So, here are the changes and I’m only going to use the product_info page Recently Viewed module in this sample. This works in BS Edge. /includes/modules/content/index/cm_i_recently_viewed.php 1) FIND this code: // Set up the product data string in order by $recently_viewed_array if ($num_products > 0) { // Show only if we still have products in the array ADD just ABOVE it: // this will show/hide the "See More" button $rv_btn = 'style="display:none;"'; $rv_number_viewed = substr_count($recently_viewed_string, ",") + 1; if ($rv_number_viewed > MODULE_CONTENT_INDEX_RECENTLY_VIEWED_CONTENT_LIMIT) { $rv_btn = 'style="display:inline;"'; } 2) FIND this code: $recently_viewed_content .= '<h3 class="h3"><span itemprop="name">' . MODULE_CONTENT_INDEX_RECENTLY_VIEWED_TITLE . '</span>' . ((MODULE_CONTENT_INDEX_RECENTLY_VIEWED_SHOW_MORE_BUTTON == 'True')? ' <a href="' . tep_href_link('recently_viewed.php') . '" class="btn btn-default btn-sm">' . MODULE_CONTENT_INDEX_RECENTLY_VIEWED_IMAGE_BUTTON_SEE_MORE . ' <span class="fa fa-angle-right"></span></a>' : '' ) . '</h3>'; REPLACE it with this: $recently_viewed_content .= '<h3><span itemprop="name">' . MODULE_CONTENT_INDEX_RECENTLY_VIEWED_TITLE . '</span>' . ((MODULE_CONTENT_INDEX_RECENTLY_VIEWED_SHOW_MORE_BUTTON == 'True')? '&nbsp;&nbsp;<span ' . $rv_btn . '>' . tep_draw_button(MODULE_CONTENT_INDEX_RECENTLY_VIEWED_IMAGE_BUTTON_SEE_MORE, 'glyphicon glyphicon-triangle-right', tep_href_link('recently_viewed.php'), 'primary', null, 'btn-default btn-sm') . '</span>':'') . '</h3>';
  14. @Tsimi ...you put the "bro" in Lambros 😀 yeah man, ..that's exactly what I was trying to achieve and I'm not very good with SQL. Thank you for the help. I just tested this mod and it works as it should. If you want, you can add it to the next update release. Ok, so here is the complete mod to only show the "See More" button when the number of Featured Products exceeds the content limit set in admin for the particular module. I'm just going to use the index module for this sample, and this is for BS Edge. I'm not sure if there is a difference with other versions. /index/modules/content/index/cm_i_featured_products.php 1) FIND this code: if (tep_db_num_rows($featured_products_query) > 0) { // Show only if we still have products in the array ADD just ABOVE it: // this will show/hide the "See More" button $fp_count_query = tep_db_query("select count(*) as total from featured WHERE status = '1'"); $fp_count = tep_db_fetch_array($fp_count_query); $fp_btn = 'style="display:none;"'; if ($fp_count['total'] > MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_CONTENT_LIMIT) { $fp_btn = 'style="display:inline;"'; } 2) FIND this code: $featured_products_content = '<h3>' . ($cat_name != '' ? sprintf(MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_CATEGORY_TITLE, $cat_name) : MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_TITLE . ((MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_SHOW_BUTTON == 'True')? ' ' . tep_draw_button(MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_IMAGE_BUTTON_SEE_MORE, 'glyphicon glyphicon-triangle-right', tep_href_link('featured_products.php'), 'primary', null, 'btn-default btn-sm'):'')) . '</h3>'; REPLACE it with this: $featured_products_content = '<h3>' . ($cat_name != '' ? sprintf(MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_CATEGORY_TITLE, $cat_name) : MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_TITLE . ((MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_SHOW_BUTTON == 'True')? '&nbsp;&nbsp;<span ' . $fp_btn . '>' . tep_draw_button(MODULE_CONTENT_INDEX_FEATURED_PRODUCTS_IMAGE_BUTTON_SEE_MORE, 'glyphicon glyphicon-triangle-right', tep_href_link('featured_products.php'), 'primary', null, 'btn-default btn-sm') . '</span>':'')) . '</h3>';
  15. @Tsimi yeah, no rush, whenever you can. The "See More" button for the featured products is already there. I'm just trying to condition it to only display when there are more products listed than are limited to display. I really just need to figure out how to get the total featured products listed. Once I have that key, the rest is cake.