Последняя версия так и осталась Sitemap Pro v1.5

В каналах продвижения OpenCart по умолчанию доступен модуль Google Sitemap , отвечающий за формирование и показ карты сайта в виде файла sitemap.xml . Однако у него есть существенные недостатки, основными из которых являются высокая нагрузка на базу данных и неоптимизированная структура данных с точки зрения SEO .

Для начала стоит отметить, для чего необходима карта сайта в формате XML , и что получает владелец сайта при её использовании.

Основная функция карты сайта, это представление структуры сайта в понятном виде для поисковых роботов (http://www.sitemaps.org/). В карте сайта могут быть представлены страницы, до которых нельзя дойти путём обхода ссылающихся друг на друга объектов. Кроме того, карта сайта экономит вычислительные ресурсы сервера, т.к. роботы не тратят время на перебор всех страниц, а получают прямые ссылки-указатели. Адрес карты сайта задаётся в директиве Sitemap файла robots.txt .

Но вернёмся к недостаткам, которые возникают при использовании стандартного модуля.

Чем больше товаров, тем медленнее формируется карта сайта и тем выше вероятность того, что поисковый робот откажется от её использования, т.к. посчитает файл слишком медленным или получит ошибку после превышения максимального времени выполнения кода на PHP (пустую страницу). Это вполне ожидаемо для магазинов с количеством товаров > 1000 на виртуальном хостинге и с количеством товаров > 5000 на виртуальном выделенном сервере . На каждый товар отводится не менее одного запроса к БД, а также несколько запросов используется на получение канонического вида ссылки, итого, для тысячи товаров может быть выполнено до 3-х тысяч запросов к БД!

Решение в виде отдельного модуля Sitemap Pro использует всего один запрос к базе данных! Это стало возможным за счёт особого алгоритма перебора выбранных объектов и собственного механизма формирования ссылок, который полностью совместим с форматом ссылок OpenCart.

Ещё один недостаток стандартного модуля связан с выводом товаров, категорий, производителей и статей в нескольких представлениях: с использованием канонических ссылок с путями (товары в категориях), с использованием канонических ссылок без путей и в виде ссылок-идентификаторов. По сути, происходит дублирование одних и тех же страниц под разными адресами, а с точки зрения SEO это нерационально!

Sitemap Pro позволяет выбрать тип ссылок для страниц карты сайта, например, можно построить карту сайта только на основе канонических ссылок, что приветствуется при SEO-продвижении, а также исключает попадание в карту сайта объектов, чьи родители скрыты, т.е. отключены.

Кроме того, Вы можете настраивать дополнительные параметры карты сайта, такие как частота опроса, приоритет и включение даты последнего изменения:

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

Подведём итоги и посмотрим, какие преимущества даёт модуль Sitemap Pro :

  1. Высокая скорость формирования карты сайта за счёт одного запроса к базе данных и собственного алгоритма обработки выборки данных.
  2. Четыре основных секции: главная страница , производители , товары , категории и статьи . Для каждой из секции (см. примечания 1,2) могут быть заданы свой тип ссылок, частота опроса, приоритет и последнее изменение. Секции могут быть отключены (см. Статус).
  3. Построение уникальной структуры на основе типа ссылок. Исключена возможность попадания товаров из скрытых категорий.

Дополнительно реализована возможность отключения заголовка Set-Cookie , который устанавливается при первом обращении к OpenCart и в котором нет необходимости для карты сайта, что позволяет кешировать её как статический файл через сервер Nginx . Также поддерживается расширение ссылок config_seo_url_postfix для режима SEO URL Pro .

В Sitemap Pro v.1.2 добавлены две новые опции (см. скриншот выше):

  • Опция автоприоритета позволяет увеличить выставленный приоритет для товаров на одну десятую, если на них есть отзывы. Это позволяет поисковому роботу обратить внимание на обсуждаемые товары в первую очередь, соответственно, они быстрее остальных появятся в результатах поисковой выдачи.
  • Опция скрытия дубликатов исключает из карты сайта повторяющиеся товары в разных категориях. Поисковому роботу больше не придётся обращаться, по сути, к одним и тем же страницам.

Состав архива :

./catalog/controller/feed/sitemap_pro.php
./admin/controller/feed/sitemap_pro.php
./admin/view/template/feed/sitemap_pro.tpl
./admin/language/russian/feed/sitemap_pro.php
./admin/language/english/feed/sitemap_pro.php
Представленный список файлов необходимо поместить в каталог OpenCart согласно их директориям.

Условия приобретения : Модуль может быть использован только в личных целях, не допускается распространение в составе ПО OpenCart без согласия авторов модуля или публикация его в общедоступном виде. Модуль возврату не подлежит!

Условия поддержки : Бесплатная поддержка в рамках базовой версии 1.x, в том числе выпуск возможных обновлений, осуществляется в течении года с момента приобретения через зарегистрированный электронный адрес, с использованием которого была осуществлена сделка.

Стоимость : $8


Примечание: Если в файле robots.txt используется ссылка на файл sitemap.xml , то не забудьте внести соответствующие изменения в файл .htaccess , а именно, заменить строку RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L] на RewriteRule ^sitemap.xml$ index.php?route=feed/sitemap_pro [L]

Эта статья может быть дополнена расширенной информацией, следите за обновлениями. По вопросам приобретения просьба обращаться через .

XML-карта сайта имеет огромное влияние на SEO. Как же создать эффективный файл sitemap для OpenCart, чтобы он действительно помогал продвигать Ваш интернет-магазин?

Карта сайта и SEO

Зачем вообще нужен файл sitemap?

Как известно, компьютеры, хотя и являются очень высокоорганизованными машинами, все же являются достаточно «тупыми» и не выполняют ничего без команды человека. Чтобы поисковый бот узнал, что на Вашем сайте есть какая-то страница, он должен получить инструкцию перейти на нее. Именно эту задачу решает xml-файл с картой сайта.

Карта сайта служит для поисковиков путеводителем по Вашему интернет-магазину. Без нее поисковые роботы могут никогда не узнать о существовании некоторых страниц сайта.

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

При этом надо понимать, что сайтов много, и боты имеют лимит по количеству страниц, которые можно обработать за 1 сессию. И может так случиться, что из менюшки, поисковик перейдет на страницу категории, а из нее - на страницу товара, а потом на страницу похожего товара и, в общем-то, «забудет», откуда пришел. А повторный заход случится только тогда, когда он встретит в процессе парсинга интернет-страниц очередную ссылку на Ваш сайт.

Если у сайт есть xml-карта, то при заходе бот «записывает» ее себе и ставит в очередь для обхода в следующий раз.

Кроме того, что карта сайта станет залогом сканирования Вашего сайта при следующем обходе, в ней также можно указать приоритет страниц: к примеру, страница категории важнее чем отдельно взятый товар, а новые страницы важнее проиндексировать, чем старые уже известные.

Пример карты сайта

  • Вот так выглядит файл xml, создаваемый Google Sitemap - !
  • А вот так выглядит разветвленный файл xml с применением оформления -

Также прикрепляю скрины

Так выглядит стандартный sitemap xml в OpenCart
Карта сайта с оформлением, генерируемая модулем Branched Sitemap для OpenCart 2

Как создать файл sitemap в OpenCart 2?

В OpenCart есть встроенные генератор карты сайта Google Sitemap. Чтобы его включить, необходимо перейти в список модулей:

  • Для 2.0 — 2.2: Модули -> Каналы продвижения; (путь в урле — extension/feed)
  • Для 2.3: Модули -> Модули / Расширения; (путь в урле — extension/extension). Затем выбрать в фильтре «Каналы продвижения»

Чтобы сделать карту сайта доступной поисковикам, необходимо прописать ее адрес в файле robots.txt. Или же просто отправьте ее в инструментах для вебмастеров Google и Яндекс.



Включаем карту сайта на OpenCart — шаг 2
Включаем Google Sitemap — шаг 3

Недостатки встроенного Opencart Google Sitemap

1. При большом кол-ве товара, выдает ошибку «Fatal error: Maximum execution time of 30 seconds exceeded in… «. То есть, сервер не успевает обработать данные за тот лимит, который отведен на выполение скрипта. Обычно это 30 (60 или 180) секунд. Решить ее можно только установкой более усовершенствованного генератора карты сайта.

2. Проблемы с Яндексом из-за наличия изображений. Если у Вас нет первой ошибки, то можно просто установить тот же самый модуль Yandex Sitemap , отличающийся от встроенного тем, что не содержит тега image, что делает его валидным для Яндекса.

3. Приоритеты страниц расставлены не правильно: и свежие, и давние страницы имеют одинаковый вес; категории и производители этом имеют вес 0.7, а товары высший вес 1.0. А ведь именно категории, а не отдельные товары, стоит продвигать в первую очередь в большинстве случаев. Кроме-то сам факт одинаково веса не помогает ботам, а сбивает их с толку. И в таком случае они вынуждены применять алгоритмы для самостоятельного вычисления наиболее приоритетных страниц. Честно говоря, по официальной информации, боты в любом случае ориентируются не только на саму карту сайта, которая для них выступает в роли рекомендации, а на свои внутренние механизмы вычисления приоритетов. Однако, карта сайта с правильными приоритетами - это +1 аргумент в пользу той или иной страницы. Поэтому в приоритеты расставлены более корректно.

Дополнительные сведения

В рамках данной статьи мы подразумеваем, что хотим создавать файл sitemap автоматически. Однако, есть такие онлайн генераторы карты сайта, которые предлагают отправить свой сайт им на сканирование, чтобы создать статичный xml, который необходимо добавить на сайт. Такой подход не оправдывает себя, так как товары постоянно добавляются и изымаются из продажи. Кроме того, онлайн генераторы при проходе по Вашем магазину сильно его нагружают, что может создать проблемы с доступом для реальных пользователей.

Модуль генерирования карты сайта для Opencart. Работает быстро и правильно. Этот модуль должен быть в каждом магазине.

Давно известен тот факт, что для полноценной индексации поисковыми системами сайта необходимо иметь файл sitemap.xml , который будет находиться в корне сайта.

Сейчас что бы сгенерировать карту сайта достаточно посетить один с онлайн генераторов и получить заветный файл. Однако это совсем не означает хороший результат. Почему же так? Потому что если на сайте не будет ссылки на ту или иную страницу, проще говоря, не будет достаточной перелинковки , то онлайн генератор не сможет просканировать все страницы сайта и в конечном итоге весь труд пойдет насмарку. Также это относится и к сайтам, которые наполняются ежедневно, а то и пару раз на день. Ведь согласитесь очень часто генерировать и каждый раз загружать карту сайта очень неудобно, и неправильно !

Для есть прекрасный модуль sitemap xml генератор , который работает в автоматическом режиме, и имеет систему кеширования, которая позволяет каждый раз не делать выборку всех товаров с базы данных. Фактически этот модуль не создает файл sitemap.xml а нам не ну нужно!

Как же установить и сгенерировать xml карту сайта в Opencart?

Все очень просто. Для начала скачиваем и разархивируем файл модуля к себе на ПК. Далее загружаем все из папки upload в корень сайт. После, идем в админке Дополнения Каналы продвижения и устанавливаем модуль «[_FAST_] Sitemap» и заходим к нему в настройки, где ставим статус и кэш включенным и копируем ссылку для скармливания её яндуксу и гуглу.

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]

Заменяем её на :

RewriteRule ^sitemap.xml$ index.php?route=feed/fast_sitemap [L]

Сохраняем. Если не было строки которую нужно заменить, просто вставляем новую. После несложный манипуляций мы при заходе на /sitemap.xml будем перенаправлены на /index.php?route=feed/fast_sitemap то есть на наш модуль с картой сайта.

Далее можно смело добавлять в поисковые системы нашу ссылку которую вы скопировали ранее или же писать /sitemap.xml которая все равно перенаправит куда надо. Однако у меня Яндекс заругался по поводу редиректа когда я указал sitemap.xml. Но он прекрасно «скушал» полную ссылку без каких либо ошибок. С google думаю будет та же история по этому рекомендую отдавать поисковикам ссылку вида index.php?route=feed/fast_sitemap .

По использованию модуля хотелось бы напомнить, что не забывайте время от времени чистить кэш , и будет вам счастье:)

Комментарии:

Отправить

Сергей 10.10.2016

Здравствуйте! Давно искал похожий модуль, спасибо. Но установив Ваш модуль вылетает ошибка на странице This page contains the following errors: error on line 1 at column 1: Document is empty Below is a rendering of the page up to the first error. Что это может быть, спасибо за ответ!

Денис 17.05.2017

Помогите! Яндекс пишет, что ссылка https://mebelvkusa.ru/index.php?route=feed/fast_sitemap запрещена в роботсе. запрещено только следующее: User-agent: * Disallow: /*? Disallow: /*& Disallow: /*= Disallow: /admin Disallow: /hux0n7y7virusdie Disallow: /system Disallow: /vqmod что делать?

Владимир 17.05.2017

Работает на версии 2.1.0.1! Но есть проблема с отображением в админке! при заходе в модуль ошибка Fatal error: Call to undefined method ControllerFeedFastSitemap::render() in сайт.ru/admin/controller/feed/fast_sitemap.php on line 85 Хотя новая карта генерируется супер, ооочень быстро товаров 20000 штук! Но смущает ошибка!

Александр 13.08.2017

А уменя на версии 1.5.6.4 вот такая фигня вышла Notice: Error: Table "ciprushr_market.oc_manufacturer_description" doesn"t exist Error No: 1146 SELECT m.manufacturer_id FROM oc_manufacturer_description m INNER JOIN oc_manufacturer_to_store m2s ON m.manufacturer_id = m2s.manufacturer_id WHERE m.language_id = "1" AND m2s.store_id = "0" in /home/ciprushr/public_html/market/system/database/mysql.php on line 50 И что делать с этим не знаю ((

Александр 13.08.2017

Не знаю как создавать по уму новые таблицы в базе данных, поэтому сделал так - экспортировал одну из таблиц из базы данных, переименовал её и импортировал обратно. Нужная мне таблица появилась, но карта так и не заработала и ошибка та же. Подумал может таблице мешает её содержимое, поэтому удалил всё из неё, но проблема тоже не решилась. После попробовал удалить модуль sitemap и поставить заново - ничего не изменилось. Вот ссылка на мою карту, буду благодарен если посмотрите и поможете. http://market.ciprush.ru/index.php?route=feed/fast_sitemap

Павел 30.08.2017

Добрый день! Опыта маловато. Помогите создать правильно такую таблицу в БД. Ошибка аналогичная. Шаги по установке модуля все проделал правильно. Спасибо

Anton 18.11.2018

Да, статья уже старая. Сейчас есть много карт сайтов. Стоят копейки, работают супер

Быстрый поиск

Новое на сайте

    Мы знаем что поисковые роботы любят текст на страницах. Однако публикуя тексты помните предназначена ли эта страница для такого текста

    Небольшой пример как можно сделать автоматически содержание описания со скролом при клике на заголовок

    Обзор платежного шлюза fondy который позволяет сделать онлайн оплату на сайте за любые товары или услуги

    Как оптимизировать сайт для google page speed - обзор основного функционала сервиса от гугл для проверки скорости загрузки страницы

    Для того что бы вывести кастомную информацию не надо много кода. Достаточно применить правильный подход и пару строк кода. Читаем в статье.

    На сайте нельзя использовать название папок и файлов как вам удобно. Запрещены пробелы, спецсимволы и кириллические символы. Да, кажется что все работает. Но это до поры до времени

Перед тем как рассказать вам как создавать sitemap в ручном режиме или в атомистическом сначала я хочу рассказать зачем он нужен. Как его отсутствие вредит вашему сайту или блогу. А уже потом расскажу как создавать sitemap.

Что такое sitemap и зачем он нужен

sitemap служит только одной цели — помочь роботам поисковых систем правильно индексировать ваш сайт, не пропускать ни одной важной страницы, даже если на нее не ведет ни одной ссылки.

Если грубо рассматривать, то sitemap по сути состоит из перечисления адресов всех страниц вашего сайта которые видит пользователь + два параметра к каждому адресу — Приоритет, и частота обновления. К примеру вот кусок карты сайта:

< url> < loc> http: //Домен магазина/podmenii-telephone < changefreq> weekly < priority> 1.0

http://Домен магазина/podmenii-telephone weekly 1.0

Давайте разберем его подробнее, чтобы понимать зачем он нужен.

  • новая запись. Нужна для того чтобы разбить документ на «ячейки» где в каждой ячейке будет одна страница и два параметра.
  • — адрес страницы. Собственно где находиться контент который надо проиндексировать
  • — примерная частота обновления. Как часто обновляется эта страница. Нужно для того чтобы боты поисковых систем не делали лишней работы и не индексировали все страницы каждый день.
  • — приоритет. Если у вас большой портал с миллионами страниц то важно выставить приоритет, поскольку на индексацию одного сайта робот отводит определенное время. Если время закончилось но все страницы не проиндексированы робот просто уходит.

Понимая теперь какую информацию несет в себе файл sitemap можно сделать выводы зачем он надо:

  1. sitemap нужен чтобы поисковые роботы Google и Yandex выше ранжировали ваш сайт, поскольку наличие этого файла обязательно для нормально поисковой выдачи
  2. Файл помогает поисковикам проиндексировать все страницы вашего сайта, даже самые глубокие
  3. Файл помогает проиндексировать важные страницы первыми, а не важные оставить на потом
  4. Дает понимания роботу когда ему заглянуть в следующий раз на данную статью.

Согласитесь, без всех этих пунктов вывести сайт в топ невозможно, а значит нам надо завести себе этот файлик.

Да, и сразу оговорюсь, не надо путать файл sitemap.xml с картой сайта — страницей где видно все ссылки. Первая для поисковиков, вторая для пользователей.

Давайте разберем как же сделать этот файл.

Sitemap на WordPress

Прежде чем начинать убедитесь что у вас есть Robots.txt. Если у вас его нет, или вы не знаете про него, прочитайте статью

Robots.txt на WordPress или Robots.txt на OpenCart в зависимости от того какая у вас CMS. Только после этого можете приступать к генерации sitemap.xml.

Для настройки карты сайта нам надо для начала поставить плагин «All In One SEO Pack». Кроме того что он сделает нам карту сайта, он еще и очень поможет в дальнейшем продвижении сайта, т.е. поможет с оптимизацией сайта. Об самой настройке этого модуля мы рассказали в статье «СЕО оптимизация WordPress или настройка All In One SEO Pack» которую я тоже настоятельно рекомендую прочитать. А пока мы остановимся только на одной части этого плагина — карта сайта для google и Yandex

  1. Зайдите в панель администратора вашего сайта
  2. Перейдите в Плагины ->Добавить новый
  3. В строке поиска вбейте All In One SEO Pack
  4. Нажмите «Установить»
  5. После предложения активировать плагин нажмите «Активировать».

Все, плагин мы установили, и теперь у вас в каждой статье появятся дополнительные поля, но об этом мы написали в другой части (ссылку смотрите выше). Пока давайте перейдем к настройке карты сайта.

В пункте «XML карта сайта» ничего менять не надо кроме одной галочки. Потому что:

  • префикс всем привычно видеть стандартный — sitemap
  • Уведомлять Google не надо, мы это сделаем позже самостоятельно.
  • Уведомить Bing можем, ставим галочку.
  • Тип записей оставляем все включены, мы же хотим чтобы все записи Google индексировал.
  • Архивы и страницы авторов не включаем, чтобы не создавать дублей страницы. (да, Google увидит их как дубли)

В итоге у вас должна выйти картина как у меня:

В следующем пункте вы можете исключить из карты какую-то страницу или целую рубрику

А в последних двух пунктах вы как раз можете поменять два атрибута, приоритет и частоту внесение обновлений. Если у вас блог новый рекомендую оставить все по умолчанию, пока вы не знаете как часто сможете писать статьи и новости на сайт. (В моем случае я поменял только частоту обновления главной страницы)

Все. Теперь нажмите на «Обновить карту сайта» для применения всех обновлений.

Sitemap на OpenCart

В отличии от WordPress на OpenCart модуль карты сайта уже предустановлен в движке CMS, и все что нам осталось это его активировать и чуть модернизировать. Итак, поехали:

В приницпе все. Теперь карта сайта нашего магазина доступна по ссылке

http://Ваш домен/index.php?route=feed/google_sitemap

так и по классическому

http: //Ваш домен/sitemap.xml

http://Ваш домен/sitemap.xml

Для этого мы будем править файл.htaccess если кто-то помнит именно его мы правили когда настраивали . Итак:

  1. Зайдите по FTP в корень вашего сайта.
  2. Если у вас Mac OS переименуйте файл.htaccess в htaccess (без точки). Если у вас Windows перейдите к следующему пункту.
  3. В конец файла допишите:
    RewriteBase / RewriteRule sitemap. xml / index. php?route= feed/ google_sitemap RewriteRule google_sitemap / index. php?route= feed/ google_sitemap RewriteRule ^(contact) $ index. php?route= information/ $1 RewriteRule ^(account/ return / insert) $ index. php?route= $1 RewriteCond % { REQUEST_FILENAME} !- f RewriteCond % { REQUEST_FILENAME} !- d RewriteRule ^([ ^?] * ) index. php?_route_= $1 [ L, QSA] RewriteCond % { QUERY_STRING} ^route= common/ home$ RewriteRule ^index\. php$ http: //www.yourwebsite.com?

    RewriteBase /RewriteRule sitemap.xml /index.php?route=feed/google_sitemap RewriteRule google_sitemap /index.php?route=feed/google_sitemap RewriteRule ^(contact)$ index.php?route=information/$1 RewriteRule ^(account/return/insert)$ index.php?route=$1 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^?]*) index.php?_route_=$1 RewriteCond %{QUERY_STRING} ^route=common/home$ RewriteRule ^index\.php$ http://www.yourwebsite.com?