The quick easy solution is to setup your robots.txt
to ignore the parent path:
## Do not crawl seach pages and not-SEO optimized catalog links
Disallow: /catalogsearch/
Disallow: /catalog/product_compare/
Disallow: /catalog/category/view/
Disallow: /catalog/product/view/
Snippet from:
To answer your question as how, dissecting the controller referenced will help:
File: app/code/core/Mage/Catalog/controllers/ProductController.php
/**
* Product view action
*/
public function viewAction()
{
// Get initial data from request
$categoryId = (int) $this->getRequest()->getParam('category', false);
$productId = (int) $this->getRequest()->getParam('id');
$specifyOptions = $this->getRequest()->getParam('options');
// Prepare helper and params
$viewHelper = Mage::helper('catalog/product_view');
$params = new Varien_Object();
$params->setCategoryId($categoryId);
$params->setSpecifyOptions($specifyOptions);
// Render page
try {
$viewHelper->prepareAndRender($productId, $this, $params);
} catch (Exception $e) {
if ($e->getCode() == $viewHelper->ERR_NO_PRODUCT_LOADED) {
if (isset($_GET['store']) && !$this->getResponse()->isRedirect()) {
$this->_redirect('');
} elseif (!$this->getResponse()->isRedirect()) {
$this->_forward('noRoute');
}
} else {
Mage::logException($e);
$this->_forward('noRoute');
}
}
}
$specifyOptions
would be the value to follow during a request.
Most likely the URL is being found via a sitemap.xml
link generated, the SEO Sitemap catalog Magento Core module itself has /catalog/seo_sitemap/category/
, or such.
The /s/ in your URL could mean a possible alternative store view could be the culprit as well.
Not sure what version of Magento you are on. If you are running the latest version of Magento CE or EE I believe the latest release causes the Google sitemap sitemap.xml
generation return the true controller path like yours and not the url_key
.