Связаться со мной можно через Вконтакте или почту evexa@mail.ru

Исправляем ошибки стандартного модуля Google Sitemap в OpenCart 2.3 для Яндекс.Вебмастера

Был осуществлен перенос интернет-магазина с конструктора сайтов Nethouse на CMS Opencart, все работы по оптимизации были проведены проведены, карта сайта была сгенерирована через стандартный модуль Google Sitemap, и через несколько дней после обновления поисковой выдачи получаем письмо с ошибками в Sitemap.

Письмо об ошибке в карте сайта

Заходим и видим

Ошибки sitemap в Вебмастере Яндекса

Мама дорогая 982 ошибки, как? Откуда? А сейчас узнаете откуда…

Вот такие ошибки в сайтмапе

Как мы видим он ругается на неизвестный ему тег image, открываем сайтмап и смотрим, что она примерно такого содержания:

Карта сайта до очистки кода

Но ничего страшного, есть простой способ как все исправить в этой ситуации.

Заходим в /catalog /controller/ extension/ feed/, открываем файл google_sitemap.php и удаляем:

PHP
1
$this->load->model('tool/image');

Ищем строчку генерации сайтмап, примерно такого содержания:

PHP
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>';
}
}

И меняем ее на:

PHP
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>';               
}

И смотрим карту сайта, как видите она в отличном состоянии.
Карта сайта после чистки кода

Проверяем на ошибки.

Проверяем sitemap на ошибки в Яндекс.Вебматстер

Отправляем на переработку

Отправляем сайтмап на обработку

Готово! после очередной поисковой выдачи карта сайта обновиться и никаких ошибок в ней не будет.

После выдачи заходим в вебмастер и смотрим статус карты сайта.

Статус ОК у карты сайта

Вот и все.

Опубликовано: 22.08.2017
Категория: OpenCart,SEO
Комментарии отключены. Есть вопросы? Пишите в Вконтакте или почту evexa@mail.ru.
Всего комментариев: 0

Оставить комментарий

Наверх