If an ajax call is indexed it compromises the whole purpose of the application. The cause here is that you are making your call using GET instead of POST as suggested: https://codex.wordpress.org/AJAX_in_Plugins
The right way should be along something like :
<?php
add_action( 'admin_footer', 'my_SHOP_javascript' ); // Write our JS below here
function my_SHOP_javascript() { ?>
<script type="text/javascript" >
jQuery(document).ready(function($) {
var data = {
'action': 'shopping_cart',
'id': 16,
'nonce': '12345',
'type' : 'add'
};
jQuery.post(ajaxurl, data, function(response) {
//YOUR CODE AFTER SUCCESS
});
});
</script> <?php
}