website fixing

Magento expert,
WordPress expert,
Woocommerce expert

2000+ successfully completed projects speak for me

Magento Full Page Cache from Potato Commerce

It is version 1.4.0 as I can see from “etc/config.xml”.
In the “mysql-slow-queries.log” I can see these SQL statements:

# Time: 170719 11:01:35
# User@Host: skipped18_magento[skipped18_magento] @ localhost []
# Query_time: 84.889509 Lock_time: 0.000149 Rows_sent: 1 Rows_examined: 310974362
SET timestamp=1500454895;
SELECT COUNT(*) FROM `skipped_po_fpc_popularity` AS `main_table`
LEFT JOIN (SELECT request_url, store_id FROM skipped_po_fpc_storage GROUP BY request_url, store_id) AS `storage` ON main_table.request_url = storage.request_url AND storage.store_id = main_table.store_id;
# Time: 170719 11:03:00
# User@Host: skipped18_magento[skipped18_magento] @ localhost []
# Query_time: 85.079159 Lock_time: 0.000112 Rows_sent: 20 Rows_examined: 311377716
SET timestamp=1500454980;
SELECT `main_table`.*, IF (storage.request_url IS NOT NULL, 1, 0) AS `is_cached` FROM `skipped_po_fpc_popularity` AS `main_table`
LEFT JOIN (SELECT request_url, store_id FROM skipped_po_fpc_storage GROUP BY request_url, store_id) AS `storage` ON main_table.request_url = storage.request_url AND storage.store_id = main_table.store_id ORDER BY views DESC LIMIT 20;
# Time: 170719 11:04:24
# User@Host: skipped18_magento[skipped18_magento] @ localhost []
# Query_time: 83.782472 Lock_time: 0.000101 Rows_sent: 201666 Rows_examined: 312387592
SET timestamp=1500455064;
SELECT `main_table`.`id` FROM `skipped_po_fpc_popularity` AS `main_table`
LEFT JOIN (SELECT request_url, store_id FROM skipped_po_fpc_storage GROUP BY request_url, store_id) AS `storage` ON main_table.request_url = storage.request_url AND storage.store_id = main_table.store_id;

Should be:
First SQL statement
SELECT COUNT(*) FROM `skipped_po_fpc_popularity`
Third SQL statement
SELECT `main_table`.`id` FROM `skipped_po_fpc_popularity` AS `main_table`
Second SQL statement can be updated too. To get execution time like 0.01 second rather than 85 seconds as it is now.

upWork.com “feature”

As you can see from screenshot “Closed – This job posting has been filled and work has been completed.”. AND ??? Is it failed project? Is it successfully completed project? No way to know. And more important – no way to use the link to this project as part of my portfolio. Because upWork.com “feature” hide me and review from my client.
Actually, everyone can say “It is my project, I successfully complete it and my client is happy”.
The same for any other upWork.com project.

New Freelancer.com “feature”

Nowadays, all bids are visible for everyone. Include Google, Bing and other search engines.
My screenshot. Please, note: I am not logged in. Just like Google bot.

One more screenshot, where I search for “Hello, Greetings, Top most Freelancer to work with and have great reviews too”. I.e. first phrase from the first bid from my screenshot.

Freelancer.com bug with online status

This url return “online”:false in any case:
https://www.freelancer.com/ajax/user/isOnline.php?user_id=10663
Freelancer.com error with online/offline status
As for example:
{“status”:”success”,”result”:{“online”:false,”last_login”:1494827557}}
Please, use your own id to check your status.
My status is “online”:false in any case (any computer, any web browser).
Support ticket #ROT-837-43885 sent 10 days ago. Result:

We’ll forward your concern to the Engineering team and we’ll contact you again as soon as possible.

Here you can find an online converter to convert seconds to human readable date :
https://www.epochconverter.com/

wordfence WordPress plugin and ‘authenticate’ filter

I am working on this project: “Social Login doesn’t work anymore” and I can find issue with the wordfence WordPress plugin.

File “wp-content\plugins\wordfence\lib\wfLog.php”, line #1026,

add_filter('authenticate', array($this, 'checkForBlockedCountry'), 1, 0);


As you can see 0 (zero) parameters passed into ‘checkForBlockedCountry’ function.
Now about ‘authenticate’ filter:
https://codex.wordpress.org/Plugin_API/Filter_Reference/authenticate

Your hook callback should return either a WP_User object if authenticating the user or, if generating an error, a WP_Error object.

Obviously, ‘checkForBlockedCountry’ function can’t return WP_User object, because it has 0 (zero) arguments.
In result code like this will damage $user object.

$user = apply_filters('authenticate', $user, $user->user_login, '');
if(is_wp_error($user)){
return 0;
}