2015-02-27 2 views
3

Я включил кэширование каталога изображений на моем сайте Magento и URL изображения на странице продукта имеют вид http://www.example.com/media/catalog/product/cache/2/image/9df61e8b45590e35df96d9f179ca0b11/p/r/product-name.jpgGoogle индексирования кэшировать изображения продукта в Magento

Теперь Google Bot на ползающих индексах веб-сайт эти изображения на URL. Однако через неделю это изображение может отсутствовать из-за нескольких причин, таких как: 1. Кэш каталога был очищен. 2. Изображение продукта было изменено/перезаписано.

Если это произойдет - даже если изображения отображаются в результатах поиска Google по-прежнему, нажав страницу посещения или увидеть изображение - изображение не открывается, так как оно не существует на сервере.

Поскольку структура URL является структурой Magento по умолчанию, я хочу знать, как внести изменения, чтобы ссылки на изображения работали в результатах поиска Google.

ответ

0

Вы можете написать собственный скрипт PHP и изменить размер изображений самостоятельно.

и перенаправлять запросы на изображения продукта в собственный скрипт.

В файлах шаблонов СМИ, то вы можете определить изображения, например, как:
productimage/14432/1/2.jpg (где 14432 будет PRODUCT_ID, 1 может быть основное изображение/образец и т.д., и 2.jpeg 3. JPG могут быть ответственны за вариант изображения, как размер и т.д.)

затем в .htaccess вы можете перенаправить все productimage URL-адресов для пользовательского сценария, так и внутри, что параметры сценария разбора из URL и образа процесса (кэш, если вам нужно)

RewriteCond %{REQUEST_URI} ^/productimage 
    RewriteRule .* imgcustomprocessing.php [L] 

imgcustomprocessing.php такой скрипт может начинаться следующим образом (только приблизительная идея)

<?php 
require_once 'app/Mage.php'; 
Mage::app("default"); 


$req = $_SERVER['REQUEST_URI']; 
$req = explode('/',$req); 
$req = array_filter($req); 
$req = array_values($req); 

$product_id =$req[1]; 

$product = Mage::getModel('catalog/product')->load($product_id); 

//to get a real image path 
$url = Mage::getUrl('media') . 'catalog/product' . $product->getImage(); 


// then here load php libraries for image resizing for example http://phpthumb.sourceforge.net/ pass the $url 
// put here code for re-sizing image/caching and displaying 
Смежные вопросы