Как ускорить загрузку сайта: Часть 1 — валидация и загрузка файлов

Автор:
(Людмила Лунева)

Веб-дизайнер и разработчик сайтов на wordpress
  • Очень медленно грузится сайт;
  • Страница вообще не грузится, а браузер, в котором вы пытаетесь ее просмотреть, зависает;
  • Временами перестают работать какие-то функции или плагины;
  • Новая, только что найденная в Интернете тема, которая работает на других сайтах, на вашем вообще не активируется или выдает ошибки, частично или полностью не показывает то, что, по утверждению автора темы должна показывать;
  • Хостер шлет предупреждения о том, что ваш сайт превышает предельно допустимую нагрузку на сервер.

Знакомая ситуация, не правда ли?

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

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

Например, если чистая версия WordPress 2.9.2 потребляла около 14 mb. памяти, то нынешняя 3.3 забирает уже около 19 mb. (аппетит Вордпресса растет - прирост составляет около 30%).

Но причина не только в самом движке. Она может заключаться в других файлах сайта или в хостинге.

Как можно исправить это?

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

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

Как же повысить скорость работы сайта на WordPress?

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

Медленный или неправильно работающий хостинг пока не стоит рассматривать, начните с ревизии своего сайта (чтобы, исправив ошибки на сайте, с полным основанием предъявить претензии хостеру :)).

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

Где могут прятаться эти ошибки?
Где угодно. Легче найти, где их не может быть.

Все ошибки, которые нам предстоит найти, можно объединить в группы:

  • Ошибки валидации - некорректная верстка, неправильно написанные стили;
  • Ошибки загрузки файлов и изображений;
  • Большое количество запросов к базе данных;
  • Большое количество посторонних скриптов, работающих на сайте (плагины, независимые скрипты, виджеты);
  • Русская версия WordPress, точнее, файл руссификации для WordPress.

Прежде, чем заняться ускорением своего ресурса, сделайте копию всего вашего шаблона (скачайте всю папку с шаблоном себе на компьютер через FTP).
А также, создайте дамп базы данных или, если не умеете, то, хотя бы XML-файл со всеми материалами вашего сайта (Меню WordPress – Инструменты - Экспорт).

Сделали? Тогда приступим …

1. Начнем с ошибок валидации:

Что такое валидация?

Страницы сайта передаются браузеру в виде html-кода.
В языке html существуют специальные правила – стандарты.

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

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

Поисковые системы также отдают предпочтение валидным сайтам.

Проверить сайт на соответствие стандартам html можно здесь validator.w3.org

Проверить сайт на соответствие стандартам css можно здесь jigsaw.w3.org/css-validator/

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

1. Ошибки в файлах шаблона:

Их не сложно найти и исправить.

2. Ошибки в сторонних скриптах, подключенных на сайте:

Например, в виджете Вконтакте, в скрипте Твиттера или в видео-файлах с ютуб.

Исправить их никак не удастся, поскольку эти файлы и скрипты находятся на других сайта и у нас к ним нет доступа.

3. HTML и CSS-правила, которые валидатор не понимает и поэтому считает их ошибками:

Валидатор проверяет соответствие кода сайта определенной версии HTML или CSS.
Если вы использовали в шаблоне правила CSS 3, а валидатор проверяет на соответствие версии 2.1, то все правила CSS 3 он будет считать ошибками, хотя на самом деле они таковыми не являются.

4. Ошибки, которые поневоле приходится оставить на сайте, чтобы получить нужный результат:

Например теги noindex. Они не валидны, но очень нужны и с этим приходится мириться.

5. Ошибки самого валидатора:

Часто он не видит каких то тегов (например, закрывающих) и сообщает об ошибке там, где ее нет.

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

Т.е. те ошибки, которые можно исправить, нужно исправить. Прочитайте подробнее здесь.

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

2. Ошибки загрузки файлов и изображений:

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

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

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

CP - это абстрактная величина, характеризующая количество процессорного времени потраченного процессорами на обработку процессов пользователей.

Значение этого параметра зависит, как от посещаемости сайта, так и от самого сайта, от подключённых модулей и т.п.

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

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

Это можно сделать при помощи сервиса tools.pingdom.com/fpt/

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

При тестировании, обратите внимание на пункт меню Size (вес файла).
Если в колонке Size стоит 0, значит файл не загрузился.

Ускоряем сайт на WordPress

В этом случае, нажмите на стрелочку справа от названия файла и посмотрите «Response Headers» (код ответа).

В выпавшем блоке рядом с пунктом «Response Headers» должно быть написано 200 - это значит, что этот файл есть на вашем сервере и сервис его нашел.

Ускоряем сайт на WordPress

Если стоит код 302, значит файл не найден. Соответственно, эту ошибку на вашем сайте нужно исправить.

Еще обратите внимание на самую нижнюю строку блока результатов тестирования.

Вот пример тестирования моего блога:

Ускоряем сайт на WordPress

В этом примере мы получили такие данные:

208 requests - количество запросов (это не запросы к БД, а HTTP запросы);
2.0 mb - общий объем страницы;
3.54 s - полное время загрузки страницы.

О чем говорят эти данные:

208 requests - на сайте большое количество файлов, скриптов, изображений.
Чтобы загрузить все, сервису Pingdom потребовалось сделать 208 HTTP запросов.
Это очень много. Рекомендуется объединить некоторые файлы в один файл.

2.0 mb - вес страницы большой, на сайте много скриптов и графики.
3.54 s - но страница загружается очень быстро.

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

Это пример клиентского сайта:

Ускоряем сайт на WordPress

В этом примере мы получили следующие данные:

118 requests - количество запросов;
1.3 mb - общий объем страницы;
11.90 s - полное время загрузки страницы.

О чем говорят эти данные:

Этот сайт обладает меньшим функционалом, по сравнению с предыдущим, объем страницы также меньше примерно на 40%, а загружается от в три с половиной раза дольше.

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

Чтобы узнать, как работает сайт, нужно проверить таким образом все его страницы.
Поэтому проверка при помощи инструмента Pingdom - это не очень удобный способ проверки. Мы воспользовались им только для того, чтобы увидеть время загрузки.

Найти ошибки загрузки проще всего, посмотрев файл error.log.

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

Откройте этот файл и изучите его. Уверена, вы будете поражены тем, что там увидите.

Отследите в этом файле все указания на незавершенные запросы.
Они выглядят примерно так:

[25-Nov-2011 06:21:07] PHP Fatal error:  Call to undefined function
ddsg_create_sitemap()
in /home/login/public_html/wp-content/themes/Theme_Name/map.php on line 23

В этом случае нужно открыть файл map.php и посмотреть, что там находится на линии 23 и вызывает ошибку.

↓ Какие типы ошибок встречаются чаще всего?

Открыть ↓

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

После этого, протестируйте сайт еще раз на сервисе Pingdom.
Если вы исправили все ошибки, то скорость загрузки страницы должна возрасти.

Продолжение поста Ускоряем сайт на WordPress читайте дальше.

Хотите получать сообщения о скидочных акциях,
новых постах и темах для wordpress?
  1. Ксана! Спасибо за познавательные и очень нужные статьи!

    ПОЗДРАВЛЯЮ ВАС С НОВЫМ ГОДОМ!!! ЖЕЛАЮ СЧАСТЬЯ, ЛЮБВИ,ЗДОРОВЬЯ И ПРОЦВЕТАНИЯ ВО ВСЕХ ДЕЛАХ И НАЧИНАНИЯХ!!!
    Блещет ярче бриллиантов
    Снег пушистый под луной,
    Под веселый бой курантов
    Год шагает молодой!
    Пусть подарком самым лучшим
    Он порадует не раз,
    Пусть во всём благополучным
    Станет этот год для Вас!
    Не забудьте про желанье
    В миг, когда пробьют часы,
    Пусть стекаются в карманы
    Деньги, шансы и призы!

    • Спасибо за поздравление, Ирина.
      Пусть сбудутся и ваши все мечты и удачи вам во всех ваших начинаниях!

  2. Спасибо за информацию :) и за полезные ссылки , будем пробовать :)

  3. Доброй ночи. Учусь созданию сайтов, штудируя ваш блог. Подскажите, у меня регулярно пишет Ошибка RSS: A feed could not be found at http://blogsearch.google.com/blogsearch_feeds?scoring=d&ie=utf-8&num=10&output=rss&partner=wordpress&q=link:http://sitesdelat.ru/
    А что это означает так и не понимаю:). Может с гугл связано). Кстати, с гугл на мой сайт переходов нет. Заранее спасибо

    • А что это означает так и не понимаю:)

      Означает, что ваш фид не найден.

      Кто это вам такое пишет?

      • Ксана, это у меня в консоли вордпресса написано, но я честно, не очень понимаю, зачем вордпрессу понадобился мой фид)

        • Это, скорее всего, пишет плагин для фида. У вас стоит такой?

  4. И ещё, знаю что сайт начал хорошо тормозить после установки All in One SEO Pack, но рука не поднимается избавляться от него (оптимизации я, кстати, тоже учусь, а кого мне без него оптимизировать:))

  5. Здравствуйте! Честно говоря у вас большая и интересная, но вы так все расплывчато пишите про многие вещи. Живой пример www.kazyavka.ru, стал тормозить не пойму с чего. Работало все четко, а в какой то момент просто перестало.

    • вы так все расплывчато пишите про многие вещи

      А вы хотите, чтобы я переписала статью, добавив в нее пример вашего сайта?

      Не выйдет, работа с конкретным сайтом, только за плату ;).

  6. Проверил на скорость свой сайт, Загружается 2.05 сек.
    Но большее время грузятся баннеры от mail.ru и Яндекса.
    Ничего нельзя сделать в плане ускорения в моем конкретном случаи?

    • А почему ко мне вопрос?
      Вам лучше спросить об этом у Яндекса и mail.ru :).

    • Большое время занимает обращение на сайты mail.ru и Яндекса за баннерами. Скопируйте баннеры, закачайте на свой сайт и поставьте рисунки в соответствующую строку на вашем сайте.

  7. Все-таки на первое место поставил бы - проблему хостинга, некоторые недобросовестные провайдеры ничего не делают, чтобы улучшить ситуацию. Часто удачный перенос сайта помогает, раньше был как "черепаха", а превращается в "гоночный автомобиль".

    • Согласна, выбрать быстрый хостинг - это самое главное.

  8. да у вас блог грузится в два раза медленее чем мой а я еще только начинаю оптимизацию ..........

    • Проверка на сервисе http://tools.pingdom.com/ показала следующее:

      Ваш сайт: 70 requests     663.9 kB     4.18 s

      Мой сайт: 296 requests     3.4 MB     5.59 s

      Поясняю:

      1. Мой сайт создает запросов в четыре раза больше, чем ваш - это значит, что на нем изображений, скриптов, файлов стилей и файлов шрифтов в четыре раза больше, чем на вашем сайте.

      2. Вес Главной страницы моего сайта в пять раз больше, чем у вашего.

      3. А скорость загрузки у моего сайта больше, чем у вашего, всего на полторы секунды.

      Т.е. если бы ваш сайт был оптимизирован хотя бы так, как мой, то скорость его загрузки должна быть меньше одной секунды. А он грузится 4.18 сек.

      а я еще только начинаю оптимизацию

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

      Зато хватает нахальства, чтобы с делать такие заявления.

  9. Добрый день!
    Проверил сайт на сервисе "tools.pingdom.com", очень медленно загружается сайт, смотрю на данные и не могу понять, проблема в хостинге? Как я понял очень большое время уходит на загрузку картинок? Если можете что то пояснить, буду очень благодарен!

    • Для того, чтобы определить в чем проблема, нужно провести анализ сайта по многим параметрам. Часть из них я описала в этом посте.

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

  10. Спасибо за статью!Подскажите пожалуйста в валидаторе validator.w3 пишет строка такая-то с ошибкой,как и где искать эту строку для исправления???

    • При проверке валидатором нужно открыть блок More Options и выбрать в нем пункт:

      Show Source

      И валидатор покажет вам ваш код с нумерацией строк.

  11. Здравствуйте. Интересная статья, много узнал нового. Раньше мой сайтик грузился хорошо, в какоето время начал долго грузится. Браузер пишет: "ожидание от menuse.ru...".
    На хостинге говорят, что надо перейти на более мощный тарифный план. Перешёл, ни чего не изменилось. Хотел найти что это за menuse.ru не нашёл. Может вы сталкивались с этим. Подскажите.

    • Скорее всего, с вашего сайта стоит ссылка на этот файл, а самого файла на сервере нет.

      Найдите эту ссылку и удалите.
      Для этого нужно просмотреть файлы темы и контент.

  12. валидатор в строке запроса его определил вот так: "контекстно-6712.js
    menuse.ru /"

  13. Спасибо, нашёл и удалил. Всё работает

  14. Ksana, здравствуйте. Сможете помочь устранить ошибки выпадающие при загрузке страницы. Их я вижу из записи логов на хостинге. Их порядка 10 и все они повторяются при каждом запросе. Ошибки ведут на строки в файле functions. За слугу можете назначить цену.

    • Если вы используете мою тему, платить ничего не нужно - создайте тему на нашем форуме и опишите проблему - модератор поможет вам ее решить.

      Если вы используете тему другого разработчика - я не смогу вам помочь, я не работаю с чужими темами. Извините.

  15. Ксана я использую стороннюю тему, изменил ее под себя. Я готов заказать тему у Вас, такого плана как сейчас на моем сайте, У Вас похожего не нашел, сколько будет стоить такая темка (картинка только в шапке)?

    • Примерные цены можно посмотреть здесь.

  16. добрый вечер! Я не мог определить причину долгой загрузки моего сайта. не сможете ли вы мне помочь. www.yelharaz.com

    • Чтобы понять причину долгой загрузки, нужно провести аудит сайта. Это сюда.

  17. Ксана,не представляете мою радость:только у Вас нашла,как эффективно ускорить загрузку собственного сайта.Сократила время с 12 до 3.5 сек и это не предел,вижу еще ошибки.Только пока не все понимаю,как исправить.Например,счетчик ID = 2082738;? T = 215, s = 13, R =, J = T ...d7.cc.bf.a1.top.mail.ru / или
    хит t45.16;? R; s1280 * 1024 * 24; uhttp 3A% / / ...
    counter.yadro.ru /
    Если первая счетчик понятно,что это в подвале неполадки с иконкой top mail.ru. то со вторым счетчиком пока никаких предположений нет.Не подскажете,что это?Спасибо за полезные и понятные статьи

    • Насколько я вижу, это счетчик liveinternet.

      • Спасибо,эти счетчики лучше удалить или переустановить?

  18. Здравствуйте Ксана! Подскажите проверяю на этом сайты tools.pingdom.com/ скорость загрузки страниц, он мне показывает кучу разных фотографии который он загружает на главной странице хотя реально на самой главной странице их нет, но есть в разных рубриках на других страницах сайта. Почему он их оттуда вытягивает? Что это может быть? Спасибо.

    • К сожалению, я не знаю, почему так происходит.

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

    На помощь пришел муж-программист, где-то полазил, что-то посмотрел, и выяснил, что сайт зависает как раз при загрузке рекламы от Google Adsense.

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

  20. Добрый день!
    Нужна Ваша помощь: постоянно "висят" мои сайты. Не могу разобраться в чем проблема и как ее решить.
    Вы сможете взяться за эту работу (анализ и исправление)?

    • К сожалению, в ближайший месяц я занята и не смогу вам помочь.
      Извините.

  21. Подскажите бесплатный хостинг для wordpress а то hostinger очень сильно глючит((((

  22. Здравствуйте, Ксана! Я Ваш подписчик. Интересная статья. У меня к Вам такой вопрос: для исправления ошибок валидности нужен файл index.html, а такой файл при установке WordPress как известно мы его удаляем, тогда где его взять или можно воспользоваться другими файлами, тогда какими? Надеюсь Вы ответите. Спасибо.

    • Для исправления ошибок валидности файл index.html не нужен.
      Ошибки исправляют в тех файлах шаблона, в которых они допущены.

  23. Мой сайт http://iphone.rustar.ru/ покупал шаблон, демо версия где я покупал шаблон работало быстро и хорошо, а у меня получился просто тормоз!!! работать не возможно. Подскажите что делать и сколько это стоит? Я сам не программист, а вот вопрос ремшить надо.

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

  24. Здравствуйте,Ксана. Вы умница и красавица, наткнулась на ваш сайт случайно и надеюсь здесь я найду долгожданный ответ или намек на него. Записи моего сайта иногда (3-4 раза в неделю) не открываются. При нажатии на запись, URL меняется, а весь сайт виснет или выскакивает Код ошибки: ERR_EMPTY_RESPONSE. При редактировании этих записей они открываются, но при попытки просмотра, опять все виснет.Три последних записи и рубрики всегда открываются. Пробовала писать новую запись и вставляла картинки из библиотеки сайта, при добавлении фото из старых записей (которые виснут) вся запись опять не открывается в режиме "просмотреть" а новые фото все работает хорошо. В период такого зависания сайта, пробовала тему менять но и там такая-же история. Хостинг советует обратиться к разработчикам сайтов.
    Я совсем новичок, но меня настораживает тот факт, что проблема то появляется то исчезает сама собой. Наведите меня пожалуйста на мысль,что это может быть. Спасибо огромное за Ваше время и неоценимую помощь.

    • Похоже, что проблема в базе данных.
      Создайте новую чистую базу, подключите к нему новый сайт и загрузите контент в базу через функцию импорта в админке.

      • Спасибо за ответ. Извините за мою дремучесть,а сайт также надо создать новый? Мне надо сделать частичный бекап баз данных с контентом, а потом его восстановить в новой(чистой) базе данных ? Извините еще раз, я очень не грамотна в этих вопросах. Если я не корректна, то можете удалить мой комментарий, я не обижусь (вы только спасёте меня от позора). Успехов вам и спасибо огромное, теперь буду знать, где копать и повышать свои знания ))

        • Вам нужно:

          1. В админке сайте при помощи функции Импорт импортировать все статьи.
          2. Создать новую базу данных.
          3. В файле wp-config.php подключить к сайту новую базу.
          4. Установить wordpress, заново.
          5. Зайти в админку и сделать Экспорт файла, который вы создали на 1м этапе.

          Все!

          • Ксаночка, извините за мою приставучесть, делаю как вы говорите, но при импорте пишет в столбик, что не удалось импортировать(название статьи и дубли этих статей) но статьи на сайте отображаются и все повторяется снова.Неужели все начинать заново? Спасибо, за вашу помощь.

          • При импорте могут возникать ошибки, но не видя вашего сайта "изнутри" я не знаю как вам помочь.
            Ход действий я уже описала, а с ошибками нужно бороться, по мере их появления :).

  25. У меня совершенно свободный диск С, недавно сменила Windows! Все новое, в том числе и мой системный блок! Скорость интерн. 50 мгб, а при заходе на страницы, особенно в мой мир, пишет "ошибка загрузки страницы"!

    • Возможно, это "Мой мир" тормозит :) ?

  26. Благодаря статье перешел на другую тему. Спасибо!

  27. Спасибо,очень помогло, вчера фото открывались, а сегодня нет...., думаю что за прикол? оказывается счетчик метрики немного не там поставил и фото не открывались...)) спасибо за статью))))

  28. Доброго времени суток! Можно Вам задать пару вопросов? Через эл.почту. Буду Вам очень благодарна.

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

      А так, лучше пишите в комментариях.

Внимание: все отзывы проходят модерацию.

Топ комментаторов
АватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватарАватар
Самые комментируемые записи
Самые читаемые записи

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

В каждом письме публикуется код разблокировки.

Пользуйтесь кодом только из последних, пришедших вам на Email, писем. Закрыть »

Постов 195
Отзывов 4349