Jump to content
Latest News: (loading..)

greasemonkey

Members
  • Content count

    1,252
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by greasemonkey

  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

    Recaptcha v3 announcement

    Looks like google has figure out a way to do away with the stop sign, store fronts and cars... yay https://webmasters.googleblog.com/2018/10/introducing-recaptcha-v3-new-way-to.html?m=1
  12. 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...
  13. 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.
  14. 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.
  15. 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; } }
  16. 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; } }
  17. greasemonkey

    HoneyPot Captcha

    @Jack_mcs hey Jack, I'm trying this addon out to help reduce a number of spam accounts being created - and hoping not to have to resort to a captcha solution. So far it hasn't help this specific spammer - he's skipping the new hidden field. I presume it will help prevent future spammers however...... I'm wondering if changing your code around slightly may work? So far, every spam account is created has the company name "google" - all lower case without the quotes. Do you think adding an id=google to the company entry could work (I have no worry Google not my customer... lol) and if so - how could I validate that is says google? <script type="text/javascript"> function validateMyForm(create_account) { var ok = check_form(create_account); if (! ok) return false; return IsSpammer(); } function IsSpammer() { if(!document.getElementById("google").value) { // The field is empty, submit the form. return true; } else { // the field has a value it's a spam bot return false; } } </script>
  18. Hey All, I'm having an intermittent issue, under heavy traffic (happened this weekend just after our Black Friday newsletter) where I'm seeing TONS of Sessions errors: Running a 2.3.4 (mostly updated to EDGE).... The DB table for Sessions is InnoDB with utf8_unicode_ci... My configuration, and config file settings are below: define('STORE_SESSIONS', 'mysql'); These above errors are repetitive... and caused my error_log to blow up to over 7mb in 12 hours... almost 30,000 lines. I used a DB optimizer addon cron - so my sessions table only (currently) has a little more than 400 records. Doing a little research, I cannot see anyone with the same obvious problem - except maybe this note: I don't have a timezone defined in my config files - and I find it very unlikely the issue was/is multibyte emjoi characters. The only thing I have come up with is - I've seen a couple people mention on stackoverflow about making sure the DB column is large enough. Its currently set to Varchar(128). I do see, plans to increase the length to the column to 255 in 2.4... Any guesses???????
  19. Just as a quick follow up to the bandwidth above. Server Requests on the 22/23rd were 6 times normal volume - probably a better measure....
  20. Yes, I wouldn't expect it is a wide spread problem - like I said, I've only ever seen this a couple other times, and again it was under extremely high traffic volume. So far so good.... We will be sending out another newsletter in a few days which always gives a good boost to traffic - not like Black Friday & Cyber Monday however. Here's a screen cap from my Cloudflare account showing the bandwidth use - triple normal....
  21. Guess you’re happy I didn’t cut and paste all 30,000 lines???? 😂
  22. @MrPhilYes I wasn't... figured it was a cascading effect. My sessions function file matches Gold (this could be an issue... see below).... I have done as @burt suggested, emptied, optimized and repaired the table - and have changed sesskey from varchar 128 to 255 (as it is in 2.4 Joli). I will monitor over the next few weeks - although I'm not expecting any huge rush of traffic for the neat future........ Looking more deeply, there have been some changes to includes/functions/sessions from Gold (where my file base started) to Frozen/EDGE that I have not kept up to date. Many the change from $HTTP_COOKIE_VARS to $_COOKIE which I presume could???? make a difference????
  23. I agree... what’s the benefit of text column vs increasing to varchar 255?
  24. I've just edited out my domain...
  25. greasemonkey

    FedEx - Web Services v9

    Hi All, I have been having a hard time getting Fedex rate quotes. It would seem Fedex has stopped giving new meter ID's for the the legacy API mod Real Time Quotes (according to fedex tech support). So... I have been working with FedEx - Web Services v9, however I'm receiving the following error: Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "/home/*****/public_html/shopincludes/wsdl/RateService_v9.wsdl" in /home/*****/public_html/shop/includes/modules/shipping/fedexwebservices.php on line 67 Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from '/home/*****/public_html/shopincludes/wsdl/RateService_v9.wsdl' : failed to load external entity "/home/*****/public_html/shopincludes/wsdl/RateService_v9.wsdl" in /home/******/public_html/shop/includes/modules/shipping/fedexwebservices.php:67 Stack trace: #0 /home/******/public_html/shop/includes/modules/shipping/fedexwebservices.php(67): SoapClient->SoapClient('/home/******/...', Array) #1 /home/******/public_html/shop/includes/classes/shipping.php(83): fedexwebservices->quote('') #2 /home/******/public_html/shop/checkout_shipping.php(151): shipping->quote() #3 {main} thrown in /home/******/public_html/shop/includes/modules/shipping/fedexwebservices.php on line 67 SOAP is enabled on my server... Any idea's?
×