Jump to content
Latest News: (loading..)

greasemonkey

Members
  • Content count

    1,252
  • Joined

  • Last visited

  • Days Won

    24

greasemonkey last won the day on December 28 2017

greasemonkey had the most liked content!

Profile Information

  • Real Name
    Scott
  • Gender
    Male

Recent Profile Visitors

29,365 profile views
  1. greasemonkey

    International SEO

    @Dj-Viper if you are referring to the code I posted above - please read the post (this was a mock up... a test... I’m in now way suggesting this as any sort of live code).
  2. greasemonkey

    International SEO

    Here’s another great article on international SEO https://neilpatel.com/blog/international-seo/
  3. greasemonkey

    International SEO

    I'm just going to jump in and share my limited experience trying to set up some international SEO.... I've been trying to target my SEO for Canada and USA for currency.... (its a long story - short version I'm showing my site in USD by IP address to the USA and CAD to all other IP address and googles bots are located in the USA so I'm crawled in USD) First Google doesn't like URL parameters (source) for international crawling... and would much prefer domain or directories (ie usa.mysite.com or www.mysite.com/usa... same for language versions fr-ca.mysite.com or www.mysite.com/fr-ca etc etc... as mentioned above... for me I was trying to get en-us and en-ca) so, out of the box OsC is not in a good place (I believe there is an updated version of SEO urls 5 that has some hreflang features to re-write this.... although I haven't tried it) I used a hreflang tester (link below) to mock up a headertag module to try and replace the included canonical module - I was successful in getting a pass with the example code below however was not successful in combining the hreflang tags WITH canonical tags... https://technicalseo.com/seo-tools/hreflang/ Example code if (basename($PHP_SELF) == 'product_info.php') { $oscTemplate->addBlock(' <link rel="alternate" hreflang="en-ca" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '?currency=CAD'.'" /> <link rel="alternate" hreflang="en-us" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '?currency=USD'.'" /> <link rel="alternate" hreflang="en" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '" /> <link rel="alternate" hreflang="x-default" href="' . tep_href_link('product_info.php', 'products_id=' . (int)$_GET['products_id'], 'NONSSL', false) . '" /> ' . PHP_EOL, $this->group); } } Conclusion - as I understand it.... if this is going to be fixed properly there needs to be a way of re-writing the urls.... to a language directory as an example... The code to create the hreflang and canonical tags is probably not that hard for a coder (I am NOT a coder). Thoughts?
  4. greasemonkey

    RMA Returns System for osC2.3.4BS

    Ok, trying to figure this out on my own in @frankl absence..... it would seem we need to use a checkbox_field in place of a radio. Now just trying to figure out how to pass the variables selected.
  5. greasemonkey

    Fake accounts

    Same
  6. greasemonkey

    Quantity Box in Products Listing App for Edge CS

    You could "test" this (I have NOT tested this).... upload to includes/actions/buy_now_forms.php <?php /* $Id$ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2018 osCommerce Released under the GNU General Public License */ class osC_Actions_buy_now_form { public static function execute() { global $PHP_SELF, $messageStack, $cart, $goto, $parameters; if (isset($_POST['products_id'])) { $cart->add_cart($_POST['products_id'], $cart->get_quantity(tep_get_uprid($_POST['products_id'], $_POST['id']))+($_POST['cart_quantity']), $_POST['id']); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); } }
  7. greasemonkey

    Quantity Box in Products Listing App for Edge CS

    @freakystreak the correct way to do this is move the changes mentioned in application_top into a NEW action module - specifically create a new action module (you could use the buy_now action module as a start) renamed name it say "buy_now_form" integrating @Tsimi changes The changes to the product_listing would be the same....
  8. greasemonkey

    RMA Returns System for osC2.3.4BS

    Hey @frankl I hope all is well. Just noticing a flaw in your RMA system - well actually a flaw with tep_draw_radio_field I presume. Do you have any tricks to return more than one item on a single RMA - as tep_draw_radio_field only allows 1 selection from a list. Removing, or using a unique "name" for each in the list will not pass it would seem... but I'm no expert. Maybe a new radio field function is required - similar to what some have done with radio buttons and multiple attributes???? Scott
  9. greasemonkey

    Database Optimizer

    Perfect, thank you.... Next version, maybe add an option to cleanup/clear-out the Action Recorder.... Mine had over 30,000 rows.... I cleaned it up with a simply SQL and 90 days is only 1,700 rows.
  10. greasemonkey

    Database Optimizer

    @Jack_mcs just wanted to make sure I understand the wording in config for Truncates Customers Old: Should older entries in the customers and address book tables be removed? Enter the number of days between removals or leave blank for no removal. (Value entered must be in days)” Does this mean the process will run every (example) 300 days? And if so where the config to tell it who to truncate? Or customers who haven’t logged in in 300 days will be truncated?
  11. greasemonkey

    HoneyPot Captcha

    lol nope, just had an account created with Russian Federation as country and Ukraine as IP. Working on installing @burt action recorder to get the correct IP...
  12. greasemonkey

    HoneyPot Captcha

    @Jack_mcs thanks again Jack, this is going off topic for your support thread... Mods, please feel free to move this to its own discussion. Yes, the bot is clearly not using a "browser" anyway to input the values so using a regex HTML5 form to validate is, as you suggest, not a good idea. I deliver the site via Cloudflare, so I'm a little surprised they can even get to the site - almost every Proxy IP I've tried from eastern EU lands on Clouldflare's reCaptcha2 page. SOOO, what I have succeeded in doing so far is pissing the spammer off! They've gone from creating 2-4 accounts per day to 2-4 accounts per hour. Good news, on the create account page I use GEO targeting to enter the Country by IP - so (I think) I'm getting an accurate country for each account. I'm now using htaccess (with Cloudflare's CF-IPCountry) to block large area's of the world like: So far so good.... I add a new country every time they create an account.... 99.8% of our business is from Canada and USA - so no worries really..... but would like to think this is temporary.
  13. greasemonkey

    HoneyPot Captcha

    Wow, this spammer just won't go away.... I'm not sure you can help me any more @Jack_mcs I'm currently trying to use the pattern variable with a negative regex on the company input to validate the form - it works when I test it: pattern="^(?!google$).*" But he is still able to get around it - or at least able to create the account. Looking at Track Delivery in cPanel the email is still going out and being received.
  14. greasemonkey

    HoneyPot Captcha

    Can't quiet get this working Jack Sorry to bug for any more assistence - here is the HTML for the Company Name <div class="form-group"> <label for="inputCompany" class="control-label col-sm-4">Company Name</label> <div class="col-sm-8"> <input type="text" name="company" id="inputCompany" placeholder="Company Name" class="form-control" /><!-- BOF Separate Pricing Per Customer: field for tax id number <!-- EOF Separate Pricing Per Customer: field for tax id number --> </div> </div> And the IsSpammer function, I'm not sure... but it's still validating the form with or without the company name being "google". For the value I've tried both "google" and \'google\'. function IsSpammer() { if(!document.getElementById("honeypot").value) { // The field is empty, submit the form. return true; } else if ((document.getElementsByName("company")[0].value) == \'google\') { return true; } else { // the field has a value it\'s a spam bot return false; } }
  15. greasemonkey

    HoneyPot Captcha

    @Jack_mcs thanks so much... so this? function IsSpammer() { if(!document.getElementById("honeypot").value) { // The field is empty, submit the form. return true; } else if ((document.getElementsByName("company")[0].value) == 'google') { return true; } else { // the field has a value it\'s a spam bot return false; } }
×