Долгое задержка перед открытием страницы товара из-за обращения к серверу СДЭК
Сайт имеет неплохие показатели скорости загрузки, в том числе и по скорости загрузки страницы товара. Однако есть очень заметная проблема, заключающаяся в весьма долгой задержке с открытием страницы товара. То есть речь идет не о долгой загрузке страницы товара, а о том, что если находясь в категории кликнуть по плитке товара, то в течении 4-5 секунд происходить не будет ничего, кроме крутящегося спинера в закладке браузера. И лишь через указанные 4-5 секунд открывается страница товара. В итоге, листать каталог и просматривать товары просто очень некомфортно.
Причина столь долгой задержки ясна - это плагин "Информация о доставке и оплате", который выводит на странице товара соответствующий блок, куда подтягивается данные от СДЭК. Стоит отключить плагин, как проблема с задержкой открытия страницы товара пропадает полностью.
Специалист сказал, что тут сделать ничего нельзя, ибо плагин при каждом открытии карточки товара обращается к серверу СДЭК, что вызывает задержку. Однако я просмотрел десятки сайтов, которые используют плагин "Информация о доставке и оплате" и выводят на странице товара блок с доставкой, и у них такой заметной проблемы не наблюдается. При этом эти сайты, например, могут иметь в два раза более низкую скорость загрузки страницы по page speed. А еще, у кого-то из них кроме СДЭК еще подтягивается инфа по Боксберри, что должно еще больше усугублять ситуацию, вроде как.
Можете как-то прокомментировать, господа технари? Возможно какие-то тонкие настройки существуют связанные с обращением к серверу СДЭК?
8 ответов
Теоретически плагин "Информация о доставке и оплате" должен использовать кэширование, чтобы повторное открытие страницы не вызывало задержек. Проверьте настройки плагина, может там нужно отдельно включить его.
В идеале делать запрос асинхронно - т.е. страница с товаром загрузилась, а данные о доставке расчитались и пришли чуть позже.
Теоретически его IP скоро СДЭК забанит и на этом дело кончится. Кому ж понравится десяток обращений к API в секунду...
А можно по существу ответить?
Если взять два совершенно одинаковых по настройкам сайта и плагин, настроенный так же совершенно одинаково, но разместить сайты на разных серверах (пусть даже эти серверы в точности одинаковые во всем) в разных географических точках с подключением к разным сетям различных операторов связи, то можно получить различные данные в ходе эксперимента по оформлению заказа.
Дело в том, что сервера, размещенные в точках А и Б, связываются с сервером СДЭК в точке С различными путями и не всегда на этих путях всё одинаково.
Интернет как бы весьма неоднороден, если рассматривать его как совокупность сетей различных параметров. Пропускная способность, задержки при прохождении, связанность сетей различается и меняется время от времени.
Пусть ваш специалист-админ проведет более полный анализ ситуации и тогда может быть всё встанет на свои места.
То что вы смотрели другие сайты, где всё работает хорошо, говорит о том, что проблема у вас есть и её надо искать. Page Speed лучше в данном контексте не упоминать вообще. Это не про него. Просто сказать, что ничего сделать нельзя - это немного не корректно. Нужно найти причину, а уже потом решать сможете вы её устранить своими силами или нет, или это должны/могут сделать третьи лица, или же придумать иное решение, которое может вас спасти в данной ситуации.
Кеширование включено
Если каждый товар весит и стоит по разному и расчет стоимости использует эти данные, то кеширование не сильно поможет.
ИМХО тут решение отключить расчет доставки в карточке товара или использовать усредненное значение вида (город, 0.5 кг например) для каждого товара (так кеширование будет работать).
Ну и смысл тогда в такой информации? Вообще-то как раз нужна актуальная информация.
Судя по описанию, у автора на сайте используется прелоадер. Попробуйте его отключить - визуально будет намного лучше выглядеть. И, вообще-то, упомянутый плагин грузит данные асинхронно, т.е. на уже загруженной странице могут "крутиться спиннеры" вместо цифр о стоимости доставки. Не знаю, как в этом случае ведёт себя прелоадер...
Но в целом, плагин "Информация о доставке и оплате", как и большинство остальных от этого разработчика, не особо заморачивается оптимизацией: там подключаются огромные внешние библиотеки скриптов, грузятся зачем-то шрифты ради пары символов и тому подобное. На запросы с просьбой оптимизировать что-то в плагинах разработчик отвечает, что они этим не занимаются. И вообще, если вам что-то не подходит, не устраивает в плагине - даже не разговаривают, о доработках не может идти и речи, хотя другие разработчики в случае целесообразности дорабатывают свои продукты. Вполне возможно, что данный плагин тормозит вовсе не из-за СДЭКа, а сам по себе...