Исправляем ошибки стандартного модуля Google Sitemap в OpenCart 2.3 для Яндекс.Вебмастера
Был осуществлен перенос интернет-магазина с конструктора сайтов Nethouse на CMS Opencart, все работы по оптимизации были проведены проведены, карта сайта была сгенерирована через стандартный модуль Google Sitemap, и через несколько дней после обновления поисковой выдачи получаем письмо с ошибками в Sitemap.
Заходим и видим
Мама дорогая 982 ошибки, как? Откуда? А сейчас узнаете откуда…
Как мы видим он ругается на неизвестный ему тег image, открываем сайтмап и смотрим, что она примерно такого содержания:
Но ничего страшного, есть простой способ как все исправить в этой ситуации.
Заходим в /catalog /controller/ extension/ feed/
, открываем файл google_sitemap.php
и удаляем:
1 | $this->load->model('tool/image'); |
Ищем строчку генерации сайтмап, примерно такого содержания:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | foreach ($products as $product) { if ($product['image']) { $output .= '<url>'; $output .= '<loc>' . $this->url->link('product/product', 'product_id=' . $product['product_id']) . '</loc>'; $output .= '<changefreq>weekly</changefreq>'; $output .= '<lastmod>' . date('Y-m-d\TH:i:sP', strtotime($product['date_modified'])) . '</lastmod>'; $output .= '<priority>1.0</priority>'; $output .= '<image:image>'; $output .= '<image:loc>' . $this->model_tool_image->resize($product['image'], $this->config->get($this->config->get('config_theme') . '_image_popup_width'), $this->config->get($this->config->get('config_theme') . '_image_popup_height')) . '</image:loc>'; $output .= '<image:caption>' . $product['name'] . '</image:caption>'; $output .= '<image:title>' . $product['name'] . '</image:title>'; $output .= '</image:image>'; $output .= '</url>'; } } |
И меняем ее на:
1 2 3 4 5 6 7 | foreach ($products as $product) { $output .= '<url>'; $output .= '<loc>' . $this->url->link('product/product', 'product_id=' . $product['product_id']) . '</loc>'; $output .= '<changefreq>weekly</changefreq>'; $output .= '<priority>1.0</priority>'; $output .= '</url>'; } |
И смотрим карту сайта, как видите она в отличном состоянии.
Проверяем на ошибки.
Отправляем на переработку
После выдачи заходим в вебмастер и смотрим статус карты сайта.
Вот и все.