Jump to content
neoseo

[Поддержка] Самая быстрая Карта сайта (sitemap.xml), Модуль для Opencart 1.5.x-2.x - веб-студия NeoSeo

Recommended Posts

разве медленный?

самое тормознутое в нём было 

is_array($path)

но это я пофиксил в комите https://github.com/myopencart/ocStore/commit/241ef3863c664216ba1da25801ba3c9ac0fbc891

а операции с кешем? :)

Share this post


Link to post
Share on other sites

ну а что кеш, seo_pro его считывает 1 раз за запрос.

вот если кеша нет - другое дело операций ввода/вывода будет равно кол-во товаров+кол-во категорий. потому-то я перед созданием карты сайта задаю кеш

//cache for seo_pro

$category_path = array();
$query = $this->db->query("SELECT c.category_id FROM " . DB_PREFIX . "category c WHERE c.status = '1'");

foreach($query->rows as $row) {
    $category_path[$row['category_id']] = $this->getPathByCategory($row['category_id']);
}
$category_path[0] = false;
$this->cache->set('category.seopath', $category_path);

Share this post


Link to post
Share on other sites

 

ну а что кеш, seo_pro его считывает 1 раз за запрос.

вот если кеша нет - другое дело операций ввода/вывода будет равно кол-во товаров+кол-во категорий. 

 

Да просто вот такие вещи убивают производительность:

$this->cache->set('product.seopath', $path);

Фактически это запись в файл при каждом обращении. Файл не маленький, файловый io не дешевый. Вот и проблема собственно с этим $this->link

Share this post


Link to post
Share on other sites

     if (!isset($path[$product_id])) {

            $this->cache->set('product.seopath', $path);

        }

я ж говорю заполните кеш заранее и IO операций не будет в этом месте

Share this post


Link to post
Share on other sites

ну, кстати, как вариант. Можно было заполнять кеш, а не патчить сео про :)

Share this post


Link to post
Share on other sites

я ж говорю заполните кеш заранее и IO операций не будет в этом месте

В версии 1.7 пошел другим путем - эмуляция seo_pro. Для продуктов скорость генерации карты выросла еще в три раза. Для других разделов уже сил не хватило :)

Share this post


Link to post
Share on other sites

Вы так весь движок скоро перепишите в одном модуле. И родные классы не нужны будут.

Share this post


Link to post
Share on other sites

Только то, что касается формирования карты сайта :) Остальное в других модулях

Share this post


Link to post
Share on other sites

Не надо путать божий дар с яичницей.

 

Модуль seo_pro действительно неплох, когда речь идет о загрузке какой-то одной страницы с парой десятков ссылок. Но в случае с картой сайта мы имеем совершенно другие потребности и тут он не подходит архитектурно.

 

Это не решить ни костылями ( vqmod ), ни надстройками ( di, наследованием и прочим ). А раз так - его работа должна эмулироваться. Эмулируется она роскошно - 340 тысяч ссылок по категориям с производителями сгенерировалось за 1,5 секунды. В чем проблема?

Share this post


Link to post
Share on other sites

в вашей "эмуляции seo_pro" все функции/возможности seo_pro включены?

Share this post


Link to post
Share on other sites

Freelancer, спасибо за хороший вопрос.

 

Вообще я был так опьянен тем что эмуляция наконец-то заработала ( были проблемы с производительностью массивов при использовании через $this-> ), что забыл проверить этот аспект.

 

Сейчас глянул - в настройках ЧПУ есть параметр "ЧПУ товаров с категориями: " Я учитываю этот параметр при формировании ссылки на товар, а также учитываю что какая-то промежуточная категория может оказаться без ЧПУ и тогда ЧПУ на товар не сложится ( будет product_id= ... ). 

 

Если есть еще какой-то аспект работы сео_про, то было бы неплохо о нем узнать до проблем у клиентов :)

Share this post


Link to post
Share on other sites

P.S. я еще раз уточняю что к seo_pro у меня нет никаких претензий.

 

Это абсолютно роскошный модуль, решающий массу задач ( ЧПУ, отсутствие дубликатов, гибкая настройка ) и при этом достаточно шустрый. Сложно сочинить что-то более быстрое, не пойдя на тот или иной компромис.

 

К примеру можно было бы хранить готовые ЧПУ в базе, и я не однократно об этом думал. С точки зрения карты сайта или других фидов - это превосходно. Но с точки зрения сопровождения такого решения - уже не фонтан. Понадобятся достаточно сложные и ресурсоемкие алгоритмы отслеживания каскадности изменений. Т.е. я меняю чпу в родительской категории и тут же должны обновиться все зависимые категории и товары. Не очень то это быстро и удобно, особенно если товаров много.

 

Свою эмуляцию для карты сайта я сравниваю с денормализацией базы.

 

По теории баз данных, третья нормальная форма это когда нет дублирования данных. ( поправьте если не так, помню уже смутно ). В таком ключе таблица заказов не должна содержать общей суммы, которая собственно должна высчитываться каждый раз при необходимости на основании записей в order_product и других подчиненных таблицах. Это все правильно с точки зрения дублирования данных, но с точки зрения производительности - простейший отчет по продажам положит базу на лопатки.

 

Поэтому, для целей производительности, базу перепроектируют, добавляя поле "сумма" в табличку заказов. И далее все выборки работают с этим полем, а не подзапросами. Правильно ли спроектирована база - академически нет, практически - да.

 

Возвращаясь к нашим баранам... Правильно ли эмулировать сео_про? Да, пожалуй для карты сайта - правильно. Для любых других потребностей - скорее нет, чем да. Вот там уже надо использовать ООД(дизайн).

Share this post


Link to post
Share on other sites

из настроек параметр Окончание ЧПУ ещё.

я подумал, что если у вас эмуляция работает быстрее seo_pro, возможность есть смысл в нём что-то исправить/изменить.

Share this post


Link to post
Share on other sites

из настроек параметр Окончание ЧПУ ещё.

я подумал, что если у вас эмуляция работает быстрее seo_pro, возможность есть смысл в нём что-то исправить/изменить.

Точно. Никогда не пользовался этим параметром, поэтому забыл про него. Спасибо. Постараюсь к концу недели допилить

Share this post


Link to post
Share on other sites

Добавил партицирование для урлов категорий с брендами, потому что 340,000 ссылок в одном файле не съест ни один поисковик. Попутно пришлось перекроить архитектуру для лучшей сопровождаемости, поэтому возможны небольшие деградации в производительности. С другой стороны, на эмуляцию seo_pro переехали производители и категории, поэтому суммарно скорость возросла.

 

В цифрах выглядит так. До перехода на эмуляцию:

2014-07-11 23:18:14 - SOFORP FastSitemap [Производители] Генерация производителей выполнена за 0.883 сек

После перехода на эмуляцию:

2014-07-11 23:20:20 - SOFORP FastSitemap [Производители] Генерация производителей выполнена за 0.038 сек

Речь идет о 4,000 производителей. Разница, хоть и на порядок, но все же не значительная в данном случае. С другой стороны, не у всех может оказаться такой мощный хостинг, поэтому в общем и целом оптимизация оправдана.

Share this post


Link to post
Share on other sites

ПЫСЫ.  Никак не добавлю окончания для чпу. Пока переносится на следующую неделю, надеюсь последний раз. Если кому-то очень печет, то он может простимулировать меня на кошель вебмани из моего профиля. :)

Share this post


Link to post
Share on other sites

Добавил использование окончаний при генерации продуктов, производителей и категорий-производителей. Также эмулируются категории, но я сверил с работой реального сайта - там окончания не добавляются. ЧПУ информационных страничек пока генерируется штатным способом.

 

Убедительная просьба проверить перед использованием.

Share this post


Link to post
Share on other sites

Отличный модуль. Работает идеально. Спасибо!

Share this post


Link to post
Share on other sites

автор, можно ли каким-либо образом в ваш модуль добавить поддержку filterpro seo?

всё что нужно я предоставлю

Share this post


Link to post
Share on other sites

P.S. Добавлено AS IS, т.е. без оптимизации. Если у кого-то при включении опции FilterPro SEO начнутся жесткие тормоза - доступ к FTP и будем оптимизировать на пациенте.

Share this post


Link to post
Share on other sites

Уважаемые разработчики. Если у кого-то есть функционал с выходом на карту сайта - не стеснятесь отписывать в личку, буду интегрировать со своей картой сайта.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By neoseo
      Вашему вниманию модуль "самая быстрая карта сайта для OpenCart 1.5.x-2.x" от веб-студии NeoSeo. Для чего нужна карта сайта (sitemap.xml) в Интернет-магазине на OpenCart?   Чтобы ваш Интернет-магазин быстро и качественно взаимодействовал с поисковиками, чтобы он помогал поисковикам "видеть" и сканировать содержимое вашего Интернет-магазина более эффективно и представлял ваш Интернет-магазин более качественно в своей выдаче, прежде всего нужно добиться, чтобы поисковая машина "прочитала" ваш сайт на своем языке.   Желательно роботам помогать, как они сами того просят, чтобы последние максимально оперативно узнавали о новых категориях и товарах на вашем сайте. Вот именно для этих целей мы сделали модуль "NeoSeo Самая Быстрая Карта сайта".  
      Стандартный модуль построения карты сайта, который идет в поставке c "голым" OpenCart, создает проблемы роботам, а именно:
      Построение карты сайта может завершиться с ошибкой, если на сервере мало памяти Построение карты сайта может завершиться с ошибкой, если на сервере ограничение на время обработки http-запросов Построение карты сайта может длиться невероятно долго, если товаров много а сервер слабоват.  
      Обращаем внимание:
       
      1. Все обновления к купленным модулям - бесплатно и навсегда.
      2. Техническая поддержка и оперативные ответы на вопросы - бесплатно и навсегда.
      3. NEW! Помощь в установке и устранении ошибок при установке модулей - бесплатно и навсегда, но в порядке общей очереди.
      4. NEW! Оперативный удаленный помощник по TeamViewer по специальному тарифу, 15 мин. - 369 руб. для тех, кому нужно уже, не дожидаясь бесплатной поддержки, которая предоставляется в порядке общей очереди.
      5. NEW! Все полезные доработки модулей, мы выполним по спец. тарифу, за 50% стоимости. За деталями пишите на info@neoseo.com.ua
       
      С 01.08.2019 года техническая поддержка осуществляется исключительно через обращение на почту  info@neoseo.com.ua  Если у Вас есть вопросы информационного характера, пожалуйста, напишите в ЛС или позвоните нам:
      Россия, все звонки бесплатно
      8 800 551 94 15
        Украина: +380 67 67 07 647 +380 63 71 70 763
      +380 50 34 58 565
       
       
      МЫ РАБОТАЕМ:
      Понедельник-пятница 
      с 9-00 до 19-00 по Киевскому времени 
       
       
      Суббота и Воскресенье
      - выходные дни!
       
      Данный модуль работает на OpenCart 1.5.х-2.х. Если вам нужен модуль для версии 3.0 - пожалуйста, вам сюда 
       
      Лицензионные условия.
       
      Пожалуйста, внимательно читайте то, что написано на странице каждого модуля в инструкции 
      по установке и обновлениям:
       
      Нельзя устанавливать модуль не имея лицензии!
       
      1. Лицензия вместе с файлами отправляется автоматически, сразу после оплаты! Во избежание проволочек с выдачей лицензии
      обязательно заполняйте поля: домен, версии php и OpenCart
       
      2. Распакуйте и загрузите ключ в корень сайта, рядом с robots.txt
       
      3. Распакуйте архив с модулем и загрузите содержимое папки upload на сайт
       
      4. Установите модуль посредством меню Дополнения / Модули
       
      5. Установите права на просмотр модуля нужным пользователям
       
      6. Зайдите в настройки модуля, укажите нужные параметры и сохраните настройки.
       
      ВАЖНО! Если вы видите сообщение о том, что файл лицензии не найден, не переходите к этапу #7.
      В таком случае напишите нам на info@neoseo.com.ua, мы поможем выявить причину не активации лицензии. Если вы убедились в том, что модуль видит лицензию, вы можете переходить к следующему пункту.
       
      7. Обновите модификаторы (Дополнения / Модификаторы)
       
      Общий порядок обновления модулей:
       
      Советы:
       
       
       
      Как предоставляется информационная поддержка? Как решить свой вопрос максимально оперативно?

       
      Важно. Условия бесплатной и платной
      информационной и технической поддержки.
       
       
      Очень часто спрашивают:

      Преимущества модулей от NeoSeo:
       
       
       
      Посмотреть работу модуля вы сможете тут:
      https://demo.neoseo.com.ua/admin
      логин: admin
      пароль: admin
       
      Нажмите здесь http://prntscr.com/j1n8xn, чтобы быть в курсе всех обновлений.
       
      Уважаемые покупатели, скажите, что может быть лучше для развития модуля, чем публичные обсуждения и отзывы?
      Мы уверены это хороший стимул предоставлять услуги еще лучше ).

      Пожалуйста, все вопросы для обсуждения пишите здесь:
      https://opencartforum.com/topic/30471-podderzhka-samaya-bystraya-karta-sayta-sitemapxml-modul-dlya-opencart-15x-2x-veb-studiya-neoseo/
       
      Отзыв о работе модуля, пожалуйста, напишите здесь:
      https://opencartforum.com/files/file/1606-samaya-bystraya-karta-sayta-sitemapxml-modul-dlya-opencart-15x-2x-veb-studiya-neoseo/?tab=reviews
       
      Также, очень рекомендуем Вам, купить и другие наши продукты, которые пригодятся в абсолютно любом магазине.
       
      Спасибо, что вы с нами, всегда рады помочь развитию вашего онлайн-бизнеса!
      Веб-студия NeoSeo - полноценная Команда, решаем любые вопросы оперативно и качественно.
       
      ФУНКЦИОНАЛ НАЗВАНИЕ И ОПИСАНИЕ ССЫЛКИ ИНСТРУМЕНТЫ для
      SEO ПРОДВИЖЕНИЯ:
        1. SEO-Фильтр. Кроме того, что этот модуль предназначен для создания  фильтров, он позволяет создавать сотни или даже тысячи специальных посадочных страниц, чтобы получать из поисковой выдачи средне и низко-частотный трафик бесплатно      2. Генератор robots.txt, без которого поисковые роботы проиндексируют ненужные страницы и понизят вам релевантность  
       
          3. Отслеживание битых ссылок, чтобы не терять трафик впустую      4. Модуль создания редиректов, который позволяют починить битые ссылки     5. Источник заказа, чтобы отслеживать эффективность рекламных кампаний   ПОВЫШЕНИЕ ПРОДАЖ:   1. Выгрузка товаров на Prom.ua, Ava.ua, Hotline, Facebook.com, Яндекс.Маркет, Nadavi.net, Price.ua, Torg.mail.ru и др. прайс-агрегаторы, Модуль для Opencart от веб-студии NeoSeo, который позволяет выгрузить данные для прайс агрегаторов  
        ОБРАБОТКА ТОВАРОВ:   1. Водяной знак, который позволяет автоматически наложить изображение водяного знака на все ваши товары  
       
          2. Обмен с 1С Предприятие
    • By neoseo
      Для чего нужна карта сайта (sitemap.xml) в Интернет-магазине?   Чтобы ваш Интернет-магазин лучше взаимодействовал с поисковиками, чтобы он помогал поисковикам "видеть" и сканировать содержимое вашего Интернет-магазина более эффективно и представлял ваш Интернет-магазин более качественно в своей выдаче, прежде всего нужно добиться, чтобы поисковая машина "прочитала" ваш сайт на своем языке.  
      Желательно роботам помогать, как они сами того просят, чтобы последние максимально оперативно узнавали о новых категориях и товарах на вашем сайте. Вот именно для этих целей мы сделали модуль "NeoSeo Самая Быстрая Карта сайта".  
      Стандартный модуль построения карты сайта, который идет в поставке c "голым" OpenCart, создает проблемы роботам, а именно:
      Построение карты сайта может завершиться с ошибкой, если на сервере мало памяти Построение карты сайта может завершиться с ошибкой, если на сервере ограничение на время обработки http-запросов Построение карты сайта может длиться невероятно долго, если товаров много а сервер слабоват.  
      Обращаем внимание:
       
      1. Все обновления к купленным модулям - бесплатно и навсегда.
      2. Техническая поддержка и оперативные ответы на вопросы - бесплатно и навсегда.
      3. NEW! Помощь в установке и устранении ошибок при установке модулей - бесплатно и навсегда, но в порядке общей очереди.
      4. NEW! Оперативный удаленный помощник по TeamViewer по специальному тарифу, 15 мин. - 369 руб. для тех, кому нужно уже, не дожидаясь бесплатной поддержки, которая предоставляется в порядке общей очереди.
      5. NEW! Все полезные доработки модулей, мы выполним по спец. тарифу, за 50% стоимости. За деталями пишите на info@neoseo.com.ua
       
      С 01.08.2019 года техническая поддержка осуществляется исключительно через обращение на почту  info@neoseo.com.ua  Если у Вас есть вопросы информационного характера, пожалуйста, напишите в ЛС или позвоните нам:
      Россия, все звонки бесплатно
      8 800 551 94 15
        Украина: +380 67 67 07 647 +380 63 71 70 763
      +380 50 34 58 565
       
       
      МЫ РАБОТАЕМ:
      Понедельник-пятница 
      с 9-00 до 19-00 по Киевскому времени 
       
       
      Суббота и Воскресенье
      - выходные дни!
       
      Акция: напишите отзыв - получите модуль в подарок
       
      Данный модуль работает на OpenCart 3.0. Если вам нужен модуль для версии 1.5.х-2.х. - пожалуйста, вам сюда 
      Лицензионные условия.
       
      Пожалуйста, внимательно читайте то, что написано на странице каждого модуля в инструкции по 
      установке и обновлениям:
       
      Нельзя устанавливать модуль не имея лицензии!
       
      1. Лицензия вместе с файлами отправляется автоматически, сразу после оплаты! Во избежание проволочек с выдачей лицензии
      обязательно заполняйте поля: домен, версии php и OpenCart
       
      2. Распакуйте и загрузите ключ в корень сайта, рядом с robots.txt
       
      3. Распакуйте архив с модулем и загрузите содержимое папки upload на сайт
       
      4. Установите модуль посредством меню Дополнения / Модули
       
      5. Установите права на просмотр модуля нужным пользователям
       
      6. Зайдите в настройки модуля, укажите нужные параметры и сохраните настройки.
       
      ВАЖНО! Если вы видите сообщение о том, что файл лицензии не найден, не переходите к этапу #7.
      В таком случае напишите нам на info@neoseo.com.ua, мы поможем выявить причину не активации лицензии. Если вы убедились в том, что модуль видит лицензию, вы можете переходить к следующему пункту.
       
      7. Обновите модификаторы (Дополнения / Модификаторы)
       
      Общий порядок обновления модулей:
       
      Советы:
       
       
       
      Как предоставляется информационная поддержка? Как решить свой вопрос максимально оперативно?

       
      Важно. Условия бесплатной и платной
      информационной и технической поддержки.
       
       
      Очень часто спрашивают:

      Преимущества модулей от NeoSeo:
       
       
       
      Посмотреть работу модуля вы сможете тут:
      https://demo.neoseo.com.ua/admin
      логин: admin
      пароль: admin
       
      Нажмите здесь http://prntscr.com/j1n8xn, чтобы быть в курсе всех обновлений.
       
      Уважаемые покупатели, скажите, что может быть лучше для развития модуля, чем публичные обсуждения и отзывы?
      Мы уверены это хороший стимул предоставлять услуги еще лучше ).
      Пожалуйста, все вопросы для обсуждения пишите здесь:
      https://opencartforum.com/topic/119897-podderzhka-samaya-bystraya-karta-sayta-sitemapxml-modul-dlya-opencart-30-veb-studiya-neoseo/
       
      Отзыв о работе модуля, пожалуйста, напишите здесь:
      https://opencartforum.com/files/file/6208-samaya-bystraya-karta-sayta-sitemapxml-modul-dlya-opencart-30-veb-studiya-neoseo/?tab=reviews
       
      Также, очень рекомендуем Вам, купить и другие наши продукты, которые пригодятся в абсолютно любом магазине.
       
      Спасибо, что вы с нами, всегда рады помочь развитию вашего онлайн-бизнеса!
      Веб-студия NeoSeo - полноценная Команда, решаем любые вопросы оперативно и качественно.
       
      ФУНКЦИОНАЛ НАЗВАНИЕ И ОПИСАНИЕ ССЫЛКИ ИНСТРУМЕНТЫ для
      SEO ПРОДВИЖЕНИЯ:
        1. SEO-Фильтр. Кроме того, что этот модуль предназначен для создания  фильтров, он позволяет создавать сотни или даже тысячи специальных посадочных страниц, чтобы получать из поисковой выдачи средне и низко-частотный трафик бесплатно      2. Генератор robots.txt, без которого поисковые роботы проиндексируют ненужные страницы и понизят вам релевантность  
       
          3. Отслеживание битых ссылок, чтобы не терять трафик впустую      4. Модуль создания редиректов, который позволяют починить битые ссылки     5. Источник заказа, чтобы отслеживать эффективность рекламных кампаний
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.