Генерация sitemap

Тема в разделе "OpenCart", создана пользователем PoTBeJIJIePP, 14 июн 2016.

  1. PoTBeJIJIePP

    PoTBeJIJIePP

    Регистрация:
    15 апр 2016
    Сообщения:
    52
    Симпатии:
    41
    Очередная проблема при настройке/созданию/продвижению и т.д. магазина на ocstore 2.х.
    Пытаюсь сгенерировать sitemap для Гугла.
    Стандартный генератор помимо ограничения со стороны хостера на время выполнения скрипта в 30 сек, упирается еще и в ошибки:

    Сточки, на которые ссылаются ошибки:

    Решил использовать предложение от SEO Package Sitemap.
    Включил, сохранил, начал генерировать. И тут ошибка:


    Решил использовать еще и такой метод:


    Толкните в правильном направлении. Есть смысл использовать сторониий генератор sitemap (например: SEO Page+ Sitemap Full
    или это не исправит ситуацию?
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Вероятно, у вас много товаров (либо совсем паршивый хостер).
    Вообще, раньше в стандартном сайтмапе не было изображений. С ними и так абсолютно не оптимизированная генерация становится в разы тяжелее.

    Для начала можно попробовать привести этот кусок кода:
    PHP:
                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:
                foreach ($products as $product) {
                        
    $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 .= '</url>';
                    }
                }
    И убрать вот эту строку:
    PHP:
    $this->load->model('tool/image');
     
  3. PoTBeJIJIePP

    PoTBeJIJIePP

    Регистрация:
    15 апр 2016
    Сообщения:
    52
    Симпатии:
    41
    Сделал рекомендуемые вами изменения. Вылезла ошибка
    Код:
    Parse error: syntax error, unexpected 'protected' (T_PROTECTED) in .../catalog/controller/feed/google_sitemap.php on line 67
    Строчка
    Код:
    protected function getCategories($parent_id, $current_path = '') {
     
  4. PoTBeJIJIePP

    PoTBeJIJIePP

    Регистрация:
    15 апр 2016
    Сообщения:
    52
    Симпатии:
    41
    Вопрос решился установкой стороннего генератора sitemap.
     
  5. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Там я забыл последнюю фигурную скобку убрать, она лишняя и осталась от if.
     
  6. PoTBeJIJIePP

    PoTBeJIJIePP

    Регистрация:
    15 апр 2016
    Сообщения:
    52
    Симпатии:
    41
    Да, я там разобрался.