• Объявления

    • dinox

      Закрытый раздел разработчиков   21.08.2017

      У нас на форуме существует закрытый раздел для разработчиков в котором мы обсуждаем нюансы работы на нашем форуме, в каталоге дополнений и другие моменты которые интересны в большинстве случаев только разработчикам. На данный момент существует лишь 2 условия для попадания:
      1. Наличие промодерированного дополнения в нашем каталоге  2. Отсуствие варезной деятельности 
      Если эти правила выполнены, пишите запрос @ArtemPitov на попадание в раздел разработчиков
kikasso

Серверная оптимизация OpenCart

Рекомендуемые сообщения

kikasso    125

Постановка задачи:

оптимизировать клиентскую часть, для сайта с несколькими сотнями товаров, с использованием мультиязычности и SEO (генерация страницы не более 0,2с).

В качестве пациента для экспериментов был взят OpenCart 1.5.5.1 с дефолтной базой.

Для поиска узких мест начнём с профилирования, анализируем результаты загрузки главной страницы (в листинге и карточке товара получаются аналогичные результаты):

Image.png

Как и ожидалось, почти половину времени тратиться на запросы к БД, вот и займемся этой частью, не будем экономить на спичках.

Простеньким скриптом собираем массив с данными выполнения запросов для анализа (ключами являются методы функций из которых делался запрос к БД, значениями кол-во таких запросов).

Image%20%5B1%5D.png

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

Править php код и SQL запросы, заниматься денормализацией БД не интересно, хочется более кастомного и простого решения с использованием кэша.

Основная проблема при его использовании - инвалидация, так:

по времени - сайт будет тормозить в момент обновления кэша

по событию - много правок в коде надо делать, не подходит...

зависимости? - легче движок переписать :)

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

Хочется еще сократить кол-во запросов при обращение к кэшу, тэгирование излишне для нашей задачи, будем просто объединять в группы. Например: настройки, курсы валют, единицы измерения - то что от страницы к странице одинаково грузить пачкой, товары будут браться из кэша отдельно.

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

Дальше кодим и получаем вот такой результат (время/количество запросов):

2013-03-17_2335.png

Может еще можно что то глобально ускорить? повторный профайл:

2013-03-18_1014.png

запросы к БД уступили лавру первенства, теперь нет особо нагруженных частей... закончили.

Результат устраивает, довольно потираем руки :).

Выводы:

Данное решение позволяет в 4-7 раз увеличить производительность сайта! Можно ещё экспериментировать с настройкой групп, времени жизни и размером порций обновления кэша (N).

Файлы выкладываю на gist.

Приветствуется конструктивная критика, пожелания и замечания.

Полезные ссылки по теме:

- клиентская оптимизация OpenCart

- Отладчик для OpenCart

- профилирование PHP кода

- Кеширование на клиенте и на сервере (ШРИ в Москве 2012)

Желаю всем быстрых сайтов!

Изменено пользователем kikasso

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RGB    978

Вы кажется забыли подключить файл статик.пхп

require_once(DIR_SYSTEM . 'library/static.php');

И еще забыли закрыть тег пхп в \system\library\static.php

И еще забыли в запросе к бд учесть, что не у всех префикс к базе - ос_

Но в итоге у меня все равно не заработало :-)

Notice: unserialize() [function.unserialize]: Error at offset 65531 of 65535 bytes in Z:\home\localhost\ocstore1521\system\database\mysql.php on line 95

Notice: Trying to get property of non-object in Z:\home\localhost\ocstore1521\index.php on line 70

Warning: Invalid argument supplied for foreach() in Z:\home\localhost\ocstore1521\index.php on line 70

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

Вы кажется забыли подключить файл статик.пхп

require_once(DIR_SYSTEM . 'library/static.php');

И еще забыли закрыть тег пхп в \system\library\static.php

И еще забыли в запросе к бд учесть, что не у всех префикс к базе - ос_

Но в итоге у меня все равно не заработало :-)

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

выложенные файлы, не претендуют на пошаговую инструкцию :) (в выложенных файлах добавил комментарий в качестве памятки)

тег <?php не закрываю по привычке, сейчас это уже общепризнанный стандарт раздел PSR-1

OpenCart 1.5.5.1 - т.к. выбрал его для своего проекта, лучше всего подходил по требованиям из коробки

а какая у вас версия? в хэш таблицу что нибудь пишется?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RGB    978

1521

в таблице данные есть, с виду там все корректно, но на сайте кроме этих предупреждений перестали работать практически все модули, пропали картинки, пропал блок категорий, пропал фильтрпро, зато дебаггер показывает реальное уменьшение запросов до 1-2)

PS Поставил на 1541, завелось почти сразу, но заметил интересный баг - у меня там чистая сборка, и после добавления изменений из темы, перестали сохранятся настройки, т.е. ВООБЩЕ любые настройки, внесенные в админку, не сохраняются после нажатия кнопки сохранить. Если дропнуть таблицу кеша, то настройки начинают сохранятся. Такие дела :)

PPS Еще в админке нужно подключить static.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

Вот и баги полезли)) Спасибо за помощь!

Проблему решаем отключением кэша для админки для этого:

- в файл \admin\config.php добавить строчку - define('IS_ADMIN', true);

- код формирования кэша обернуть в условие

if(!defined('IS_ADMIN')){
...
}

файлы на гист обновил

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

RGB    978

Посмотрел 4 страницы категории по 15 товаров (всего 60) - размер таблицы кеша увеличился до 316 кб, не сильно ли жирно это? У меня в магазине скоро будет 30К товаров, таблица соответственно перевалит за сотню мб, правильно? БД не упадет с такими размерами таблиц?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

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

установкой в массиве конфигруции значения expire = false, это еще пригодится и для данных, которые по определению не нужно кэшировать.

Для грубой отладки, можно использовать в mysql.php две строчки

var_dump($method. ' ('. $caller[2]['line']. ')'); //вывод места откуда вызывается запрос
var_dump($sql);//текст запроса

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

Посмотрел 4 страницы категории по 15 товаров (всего 60) - размер таблицы кеша увеличился до 316 кб, не сильно ли жирно это? У меня в магазине скоро будет 30К товаров, таблица соответственно перевалит за сотню мб, правильно? БД не упадет с такими размерами таблиц?)

решение делалось для сотен товаров, надо тестировать, можно попробовать настроить кэш только на ресурсоемкие запросы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

bdenisska    0

Посмотрел 4 страницы категории по 15 товаров (всего 60) - размер таблицы кеша увеличился до 316 кб, не сильно ли жирно это? У меня в магазине скоро будет 30К товаров, таблица соответственно перевалит за сотню мб, правильно? БД не упадет с такими размерами таблиц?)

решение делалось для сотен товаров, надо тестировать, можно попробовать настроить кэш только на ресурсоемкие запросы...

Здравствуйте, каким образом настроить кеширование только емких запросов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Vladzimir    115

Интересует такой вопрос. Почему если отключить method, то кеш все равно пишется в БД? По логике вещей ведь кешировать нужно только то что разрешено. И хотелось бы понять причину по которой данное решение не совместимо с некоторыми дополнениями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

к серверной оптимизации так же можно отнести, настройку HTTP заголовков Last-Modified и If-Modified-Since, это позволит снизить нагрузку на сервер и упростит жизнь поисковым ботам (ускорит индексацию). Подробнее что это такое и как готовить, уже обсуждалось на форуме

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

yurets86    1

kikasso, большое спасибо! Молодец, на maxystore 1.5.5.1 с товаром +/- 2тыс ускорение в 4 раза точно!!! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

toporchillo    426

Решение кончено имеет право на жизнь, только в MySQL уже есть кэширование

И неразумно писать PHP-костыли, когда есть нативные вещи, которые работают эффективнее. И скорее всего уже защищено от тормозов при устаревании кэша. Надо лишь настроить сервер.

 

SQL-кэш к стати куда быстрее файлового работает, так как в нем заключена вся мощь СУБД.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

Решение кончено имеет право на жизнь, только в MySQL уже есть кэширование

И неразумно писать PHP-костыли, когда есть нативные вещи, которые работают эффективнее. И скорее всего уже защищено от тормозов при устаревании кэша. Надо лишь настроить сервер.

 

SQL-кэш к стати куда быстрее файлового работает, так как в нем заключена вся мощь СУБД.

 

Если вы свою теорию проверите на практике, поделитесь успехами - интересно как можно обойти кэширование запросов, например, содержимого корзины...? и ведь если выполнялось пол тысячи запросов к БД при обращении к странице, так пол тысячи выполняться и будет при включено MySQL кэше... да быстрее, но вопрос на сколько? поэтому очень интересна обоснованность фразы "неразумно писать PHP-костыли, когда есть нативные вещи, которые работают эффективнее"

 

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

 

За ссылку  на информацию по MySQL кэшу спасибо, первый раз слышу, никогда не использовал!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

@toporchillo нашел вашу статью по оптимизации SQL запросов в OpenCart 1.5.5.1, на которую вы ссылаетесь в этом топике. Там хорошее начало про высокие нагрузки, про беду теоретических споров... а вот самого главного, какой профит можно получить от проделанной работы, нет. Не понятно, то ли это экономия на спичках, то ли стоящая затея (и демо сайт чтобы посчупать, к сожалению не работает).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

toporchillo    426

А давайте вы произведете замеры. Пожалуй так будет справедливо. Тем более, что у вам прекрасные инструменты. Изменения описанные в статье внесены в актуальную сборку ocStore в оригинальном OpenCart их нет. OpenCart vs OcStore. Самому интересно в конкретных цифрах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

А давайте вы произведете замеры. Пожалуй так будет справедливо. Тем более, что у вам прекрасные инструменты. Изменения описанные в статье внесены в актуальную сборку ocStore в оригинальном OpenCart их нет. OpenCart vs OcStore. Самому интересно в конкретных цифрах.

 

произведу, только если вы обоснуете фразу "неразумно писать PHP-костыли, когда есть нативные вещи, которые работают эффективнее", говоря что с встроенным кэшем в MySQL будет работать быстрее

вы со мной делитесь интересующей меня информацией, я вам помогаю с интересующими цифрами по производительности - вот так справедливо:)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

toporchillo    426

произведу, только если вы обоснуете фразу "неразумно писать PHP-костыли, когда есть нативные вещи, которые работают эффективнее", говоря что с встроенным кэшем в MySQL будет работать быстрее

вы со мной делитесь интересующей меня информацией, я вам помогаю с интересующими цифрами по производительности - вот так справедливо :)

Одна из причин в том, что кэш MySQL располагается преимущественно в памяти, а не в файлах, таблицах и т.п.

Использование Memcached будет не хуже, но сам Memcached занимает место в памяти, да и для общения с ним нужно выполнять дополнительные вычисления/преобразования данных. Что хранить в кэше, а что нет, MySQL определяет не только по времени устаревания кэша. Там учитывается и частота запросов, и трудоемкость. Таким образом MySQL хранит в кэше то, что оптимально там хранить, а не самое свежее.

Минус SQL-кэша в том, что запросы с NOW(), CURRENT_TIMESTAMP() и т.д. не кэшируются, UPDATE INSERT таблицы стирает связанный с таблицей кэш. Также ключ кэша формируются на основании всего запроса. И два запроса, отличающиеся на пробел MySQL посчитает разными и результаты второго из кэша не возьмет.

При помощи PHP можно обогнать MySQL-кэш, но для этого надо ключ делать не просто md5($sql), а что-то похитрее. Ну и кэшировать самые тяжелые и частые запросы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Vladzimir    115

 

Также можно загружать данные не в цикле, а одним запросом. Нужно сначала собрать массив найденных product_id, а потом в запросе использовать условие p.product_id IN(...).

Оказалось что лучше 20 запросов на каждый товар нежели один.

Суммарное время выполнения по очереди 20 getProduct оказалось почти в 5 раз быстрее чем один запрос с p.product_id IN(...).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

toporchillo    426

Оказалось что лучше 20 запросов на каждый товар нежели один.

Суммарное время выполнения по очереди 20 getProduct оказалось почти в 5 раз быстрее чем один запрос с p.product_id IN(...).

Полностью согласен. Я был удивлен, когда узнал, что p.product_id IN(...) не использует индексы.

В ocStore IN не используется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

freelancer    1 403

ну что значит оказалось?

оказалось на вашей базе и вашей конфигурации. только и всего

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

yurets86    1

вылез баг с описанием, нету описания для товара по всему сайту

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kikasso    125

Одна из причин в том, что кэш MySQL располагается преимущественно в памяти, а не в файлах, таблицах и т.п.

Использование Memcached будет не хуже, но сам Memcached занимает место в памяти, да и для общения с ним нужно выполнять дополнительные вычисления/преобразования данных. Что хранить в кэше, а что нет, MySQL определяет не только по времени устаревания кэша. Там учитывается и частота запросов, и трудоемкость. Таким образом MySQL хранит в кэше то, что оптимально там хранить, а не самое свежее.

Минус SQL-кэша в том, что запросы с NOW(), CURRENT_TIMESTAMP() и т.д. не кэшируются, UPDATE INSERT таблицы стирает связанный с таблицей кэш. Также ключ кэша формируются на основании всего запроса. И два запроса, отличающиеся на пробел MySQL посчитает разными и результаты второго из кэша не возьмет.

При помощи PHP можно обогнать MySQL-кэш, но для этого надо ключ делать не просто md5($sql), а что-то похитрее. Ну и кэшировать самые тяжелые и частые запросы.

 

Из этих рассуждений вы строите свои доводы? Не убедительно!

Как можно говорить об эффективности оптимизации не делая замеры?

Я хочу знать на сколько эффективнее вариант с MySQL кэшем, предложенный вами,  моего костыля? Вы сами пробовали использовать MySQL кэш для OpneCart? Вам не кажется что узким местом является количество запросов, а не их тяжесть? Вопрос остался открыт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

freelancer    1 403

Из этих рассуждений вы строите свои доводы? Не убедительно!

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

toporchillo    426

Мы пишем модули, пытаемся писать их оптимально, ориентируясь на некий сферический магазин в вакууме.
Конкретные базы серверы и т.д. оказываются тоже оторванными от реальности. Что касается предоставить данные, так я вам верю, чего вас проверять?
 
Конечно всегда много если: нельзя под себя настраивать MySQL, нельзя установить Memcache или Sphinx, объем памяти, диска.
Любое решение может подходить или не подходить. Я просто против велосипедов, которые вводят в заблуждение.
Вот это например что за решение? https://github.com/shaman/opencart-mysql-cache


kikasso, я писал: Что хранить в кэше, а что нет, MySQL определяет не только по времени устаревания кэша. Там учитывается и частота запросов, и трудоемкость.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От markimax


      Просмотр файла Jet Cache :: SEO CMS Джет Кеш - кеширование для магазинов

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 8000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Возможности
       
      - кеширует полностью страницы  
      - кеширует выбранные контроллеры  
      - кеширует методы моделей opencart  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее... Добавил markimax Добавлено 15.03.2017 Категория Модули Системные требования PHP 5.3+ Сайт разработчика https://opencartadmin.com/seo-cms-jet-cache.html Старая цена 590 Метод активации Через официальный сайт дополнения Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От MaxD


      Просмотр файла OpenCart Lightning
      .
       
      OpenCart Lightning - это мод для ускорения работы магазинов. Он использует целый ряд технологий и ноу-хау.
      Работает с ocStore, OpenShop, OpenCart 1.5 и OpenCart 2.0.
       
      Вот ссылка на демо-магазин с 20000 товаров на хостинге за $5 - http://demo.devs.mx/lightning
      почти мгновенное открытие страниц быстрая работа с большим количеством товаров и категорий повышение удобства навигации по магазину и рейтингов в поисковиках не надо настраивать и приглядывать, просто работает отпадает необходимость в дополнительных модах оптимизации или кеширования
      Полный список оптимизаций:
       
      Cтартовая, страницы категорий и брендов кешируются на 2 часа, если вы залогинены в админку - страницы, на которые вы заходите - после этого перегенерируются. То есть, если вы хотите увидеть изменения - просто обновите страницу.
       
      В админке появится панелька OpenCart Lightning:

       
      Она показывает время последнего показа страницы и количество свободного места на сервере. Если навести на нее мышкой, откроется окно:

       
      Тут можно посмотреть размеры кешей, статистику, отключить/включить OpenCart Lightning и очистить кеш.
       
      В большинстве случаев нет необходимости очищать кеш вручную - все обновляется автоматически.
       
      После установки у вас будет 7 дней тестового периода, дальше надо будет купить лицензию.
       
      Внимание: OpenCart Lightning не работает на localhost, только на реальных интернет-серверах.
       
      Установка
      Просто загрузите lightning20.ocmod.zip в инсталлятор.
       

      Рекомендуемые настройки для темы JOURNAL2
      =======================================
       
      JOURNAL2 Settings -> System & Performance:
      Caching System: On
      Minify HTML: Off
      Minify CSS: Off
      Minify JS: Off
      Modules Cache: Enable All кроме Side Category
       
      Lightning Settings:
      Minify & optimize JS/CSS page resources: Optimal
      .
      Добавил MaxD Добавлено 04.12.2014 Категория Прочее Системные требования Метод активации Автоматическая активация Ioncube Loader Нет OpenCart ocStore OpenCart.Pro, ocShop  
    • От markimax

       

      Логин / пароль:
      demo / demo
       
      Документация  
      Более 8000 интернет магазинов выбрали SEO CMS для работы
      SEO CMS JET CACHE :: Jet Cache - быстрая система кеширования страниц, контроллеров и методов моделей opencart
      Возможности
       
      - кеширует полностью страницы  
      - кеширует выбранные контроллеры  
      - кеширует методы моделей opencart  
      - простая установка и обновление  
      - гибкие настройки  
      - поддержка мультиязычности  
      - поддержка мультимагазинов  
      - поддержка протоколов https и http  
      - гибкая взаимосвязь с любым функционалом платформы SEO CMS  
      - совместимость с любой темой, любыми модулями, которые соответствуют стандартам программирования  
      - поддержка кеширования sitemap Чем модуль лучше других
       
      - уникальные технологии кеширования не имеющие аналогов в opencart  
      - модуль работает с любыми темами и модулями Требования
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) PHP 5.3 или выше Модуль НЕ заменяет файлы системы Модуль НЕ использует ioncube  
      Совместимость модуля
       
      Opencart 2.x или любая сборка на нем (ocStore, Opencart.PRO, или другие) Любая тема или любые модули (которые сделаны без ошибок, согласно стандартов программирования или верстки) для оpencart 2.x  
      Установка, настройка
       
      Если пользователь хочет чтобы сотрудник службы технической поддержки проделал работу по установке и настройке модуля вместо пользователя на сервере пользователя, это уже услуга + 590 рублей  
      Лицензия Все права на модуль принадлежат разработчикам opencartadmin.com Условия использования лицензии: один домен - одна лицензия (покупка продукта для каждого домена). Условия использования лицензии - "на владельца". Далее...
    • От optimlab


      Просмотр файла Оптимизация интернет-магазина на Opencart 2.x - 3.x
      Начальная базовая оптимизация интернет-магазина на Opencart 2.x - 3.x
      Проверка статической информации; Проверка индексации Сайта в поисковых системах; Проверка на наличие аффилированных (взаимосвязанных и взаимовлияющих) сайтов и зеркал; Проверка основных показателей Сайта (возраста сайта, ТИЦ, регистрация сайта в каталогах и т.п.); Проверка Сайта на наличие спама; Проверка Сайта на наличие запрещенных лицензией ПС элементов (скрытый текст, банеры) Проверка регистрации Сайта в панелях поисковых систем; Проверка правильной реализации продвижения поддоменов; Проверка и настройка robots.txt; Проверка ответов сервера и htaccess; Проверка корректности карты сайта (sitemap.xml); Проверка скорости загрузки сайта; Проверка работоспособности ссылок на Сайте (поиск «битых» ссылок); Проверка дублей страниц сайта; Проверка сайта на наличие вредоносного кода; Проверка отображения сайта в различных браузерах; Проверка корректности настройки ЧПУ; Проверка корректной реализации страниц листинга; Проверка информации DNS домена; Проверка информации WHOIS домена; Проверка использования JavaScript в меню; Проверка и закрытие кода в <NOINDEX> ; Проверка наличия функции «Заказать звонок» и Времени работы; Проверка наличия сквозных контактов на сайте; Проверка корректной настройки «каталога» (вывод товаров в разделах и подразделах); Проверка корректности вывода информации на станице «Контакты»; Проверка корректности использования заголовков <h1>…<h6> на всех уровнях страниц; Проверка правильной реализации главного меню, навигационного меню; Проверка правильной реализации навигационных цепочек; Определение ключевых запросов тематики Сайта; Составление семантического ядра ; Разбивка ключевых запросов по продвигаемым страницам; Согласование семантического ядра и разбивки по продвигаемым страницам; Составление древовидной структуры Сайта; Первый этап веб-мастеринга: выполнение технических рекомендаций, в соответствие с поисковым и техническим аудитом существующими средствами настройки CMS. Создание новых страниц и в соответствие с предоставленной и согласованной в рамках аудита структуры Сайта; Оптимизация заголовков и метатегов по продвигаемым страницам Сайта (не более 3-го уровня вложенности категорий каталога товаров); Реализация иерархии адресов; Внесение заголовков и метатегов на Сайт ; Реализация правильной структуры Сайта; Реализация хлебных крошек; Реализация ЧПУ; Оценка контента Сайта, предоставление рекомендаций по его изменению; Подготовка и согласование рекомендаций по написанию оптимизированных текстов для продвигаемых страниц Сайта; Размещение на сайте оптимизированных текстов; Разработка ссылочной стратегии продвижения; Подготовка и согласование по внутренней "перелинковке"; Реализация внутренней "перелинковка"; Расширение списка запросов семантического ядра (сбор запросов по брендам и маркам); Создание новых страниц по всем страницам брендов и марок; Реализация тестового домена для сайта; Распределение карточек товаров по созданным категориям, согласно согласованной структуре сайта; Подготовка шаблона генерации заголовка Title на карточки товаров, страницы марок и моделей; Подготовка шаблона генерации заголовка h1 на страницы марок и моделей ; Внедрение текста от шаблонов генерации на сайт; Внесение мелких технических правок на сайт. Установка и настройка панелей вебмастеров поисковых систем и систем сбора статистики: Корректировка внедрения системы сбора статистики GoogleAnalytics; Внедрение системы сбора статистики Яндекс.Метрика; Внедрение системы отслеживания индексации Яндекс.Вебмастер; Внедрение системы отслеживания индексации Google Webmaster Tools. Добавил optimlab Добавлено 13.08.2017 Категория Услуги  
    • От optimlab
      Начальная базовая оптимизация интернет-магазина на Opencart 2.x - 3.x
      Проверка статической информации; Проверка индексации Сайта в поисковых системах; Проверка на наличие аффилированных (взаимосвязанных и взаимовлияющих) сайтов и зеркал; Проверка основных показателей Сайта (возраста сайта, ТИЦ, регистрация сайта в каталогах и т.п.); Проверка Сайта на наличие спама; Проверка Сайта на наличие запрещенных лицензией ПС элементов (скрытый текст, банеры) Проверка регистрации Сайта в панелях поисковых систем; Проверка правильной реализации продвижения поддоменов; Проверка и настройка robots.txt; Проверка ответов сервера и htaccess; Проверка корректности карты сайта (sitemap.xml); Проверка скорости загрузки сайта; Проверка работоспособности ссылок на Сайте (поиск «битых» ссылок); Проверка дублей страниц сайта; Проверка сайта на наличие вредоносного кода; Проверка отображения сайта в различных браузерах; Проверка корректности настройки ЧПУ; Проверка корректной реализации страниц листинга; Проверка информации DNS домена; Проверка информации WHOIS домена; Проверка использования JavaScript в меню; Проверка и закрытие кода в <NOINDEX> ; Проверка наличия функции «Заказать звонок» и Времени работы; Проверка наличия сквозных контактов на сайте; Проверка корректной настройки «каталога» (вывод товаров в разделах и подразделах); Проверка корректности вывода информации на станице «Контакты»; Проверка корректности использования заголовков <h1>…<h6> на всех уровнях страниц; Проверка правильной реализации главного меню, навигационного меню; Проверка правильной реализации навигационных цепочек; Определение ключевых запросов тематики Сайта; Составление семантического ядра ; Разбивка ключевых запросов по продвигаемым страницам; Согласование семантического ядра и разбивки по продвигаемым страницам; Составление древовидной структуры Сайта; Первый этап веб-мастеринга: выполнение технических рекомендаций, в соответствие с поисковым и техническим аудитом существующими средствами настройки CMS. Создание новых страниц и в соответствие с предоставленной и согласованной в рамках аудита структуры Сайта; Оптимизация заголовков и метатегов по продвигаемым страницам Сайта (не более 3-го уровня вложенности категорий каталога товаров); Реализация иерархии адресов; Внесение заголовков и метатегов на Сайт ; Реализация правильной структуры Сайта; Реализация хлебных крошек; Реализация ЧПУ; Оценка контента Сайта, предоставление рекомендаций по его изменению; Подготовка и согласование рекомендаций по написанию оптимизированных текстов для продвигаемых страниц Сайта; Размещение на сайте оптимизированных текстов; Разработка ссылочной стратегии продвижения; Подготовка и согласование по внутренней "перелинковке"; Реализация внутренней "перелинковка"; Расширение списка запросов семантического ядра (сбор запросов по брендам и маркам); Создание новых страниц по всем страницам брендов и марок; Реализация тестового домена для сайта; Распределение карточек товаров по созданным категориям, согласно согласованной структуре сайта; Подготовка шаблона генерации заголовка Title на карточки товаров, страницы марок и моделей; Подготовка шаблона генерации заголовка h1 на страницы марок и моделей ; Внедрение текста от шаблонов генерации на сайт; Внесение мелких технических правок на сайт. Установка и настройка панелей вебмастеров поисковых систем и систем сбора статистики: Корректировка внедрения системы сбора статистики GoogleAnalytics; Внедрение системы сбора статистики Яндекс.Метрика; Внедрение системы отслеживания индексации Яндекс.Вебмастер; Внедрение системы отслеживания индексации Google Webmaster Tools.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу