»  Оптимизация  »  Полный гид по Ускорению и Оптимизации WordPress

Полный гид по Ускорению и Оптимизации WordPress

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

В этой статье вы узнаете все основные техники ускорения и оптимизации Вордпресс.

Подробное руководство по ускорению и оптимизации Вордпресс

Почему скорость загрузки сайта так важна?

С 2000 по 2016 год компания Loadstorm проводила различные исследования, результаты которых были сведены в этот инфографик. Каждая дополнительная секунда, которая тратится на загрузку страницы, приводит к 7% потере в конверсии, на сайте будет просмотрено на 11% страниц меньше, в конечном счете посетитель сайта будет удовлетворен на 16% меньше.

25% посетителей покинут сайт, если он будет загружаться более 4 секунд. 74% мобильных посетителей сайта закроют страницу, если она будет загружаться более, чем 5 секунд. 46% посетителей не вернутся на медленный сайт.

Не забывайте о том, что скорость интернета в разных местах разная, даже если вы используете CDN и оптимизировали все, что возможно. Она зависит от физического расстояния между посетителем и сервером и скоростью соединения. Например, если сервер, на котором находится ваш сайт, находится в Москве или Санкт-Петербурге, страница загрузится за 2 секунды, в Европе скорость ниже, и страница может загрузиться за 2,5 секунды, в Азии страница может загрузиться за 4 секунды.

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

Ускорение работы сайта также ведет к повышению в поисковой выдаче поисковиков, то есть выше скорость — выше позиция в поисковой выдаче.

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

Вступление

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

  1. Почему сайт загружается медленно?
      1. Технология, на которой работает ваш сайт
      2. CMS. Система управления контентом
      3. Расширения
      4. Сервер и хостинг
  1. Как увеличить скорость сайта
      1. Обновляйте PHP
      2. Обновляйте WordPress
      3. Уменьшите количество запросов к базе данных
      4. Удалите ненужные или тормозящие плагины
      5. Удалите все ненужные блестяшки
      6. Используйте CDN
      7. Включите кеширование
      8. Оптимизируйте базу данных
      9. Оптимизируйте картинки
      10. Включите GZIP компрессию
      11. Отключите hotlink ссылки с вашего сайта
      12. Минифицируйте файлы
      13. Перенесите скрипты в футер
      14. Ограничьте количество ревизий постов
      15. Оптимизация технического SEO
      16. Следите за сайтом

Заключение

I. Почему сайт загружается медленно?

Есть 3 главные причины, по которым сайт работает медленно:

      1. Сайт находится на дешевом (медленном) хостинге,
      2. Cайт работает медленно из-за плохого кода,
      3. Большие картинки на сайте.

Составляющие сайта, в которых может находиться проблема, замедляющая сайт:

1. Технология, на которой работает ваш сайт

Технология и язык, на котором написан ваш сайт, определяет, как быстро код будет обрабатываться на сервере. Если ваш сайт написан на HTML, то он будет работать быстро, но большинство сайтов используют программирование на стороне сервера.
Существуют ASP.net, PHP и HHVM технологии, которые исполняют php код.

ASP.net работает примерно так же, как PHP.

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

Сейчас наиболее распространена технология PHP.

2. CMS. Система управления контентом

Любая CMS будет в принципе медленнее, чем хорошо написанный статичный html-сайт. Существуют кеширующие плагины, которые почти полностью уменьшают эту разницу, но они периодически сбрасывают или обновляют кеш, залогиненные пользователи обычно получают некешированную версию сайта, и администрирование кешированного контента занимает больше ресурсов сервера.

В итоге разница получается невелика, но вдобавок хорошо написанная CMS дает большое преимущество перед html-сайтом в удобстве управления контентом сайта. Вордпресс написан очень хорошо.

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

Большинство CMS имеют механизмы для оптимизации этих запросов, поэтому CMS успешно конкурируют со статичными html-сайтами.

3. Расширения

Расширения для Вордпресс — темы и плагины.

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

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

У Вордпресса есть большое количество разных плагинов для реализации дополнительных функций, используйте те, которые регулярно обновляются, имеют положительные отзывы и установлены хотя бы 1.000 или лучше 10.000 раз. В идеале, плагинов на сайте должно быть как можно меньше. Например, у поисковых систем один из факторов ранжирования сайтов — отношение количества кода к контенту. Хорошее соотношение что-то около 30/70.

4. Сервер и хостинг

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

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

Хостинг — это набор тех или иных настроек этого сервера. Например, процессорное время, автоматический бэкап, и так далее.

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

      • На виртуальном хостинге может быть от нескольких до нескольких десятков сайтов, это значит, что все они используют тот же диск, что и ваш сайт, ту же оперативную память, тот же процессор, тот же канал интернета. При этом ресурсы распределены неравномерно, то есть, если какой-то сайт начал тормозить и стал использовать 80% ресурсов сервера, то всем остальным сайтам останется только 20% ресурсов сервера.
      • VPS (Virtual Private Server), Виртуальный частный сервер тоже является виртуальным хостингом, но в нем ресурсы сервера распределены равномерно среди сайтов на этом сервере. Если на таком хостинге находятся 5 сайтов, каждый из них получит по 20% ресурсов сервера. Если один из этих сайтов начал глючить, и ему требуется больше 20% ресурсов, то он их не получит, потому что ресурсы жестко распределены между сайтами.
      • На выделенном сервере один сайт (или один аккаунт) является единственным потребителем всех ресурсов сервера.

Какой хостинг выбрать? 

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

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

Осталось 3 варианта:

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

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

И еще одна опция — хостинг WordPress. Это сообщество любителей Вордпресс со своей атмосферой. Есть бесплатный тариф, на котором вы можете получить субдомен типа my-domain.wordpress.com, на нем вы можете установить только бесплатные темы из предложенных и прочие ограничения. Следующие тарифы стоят 4$ в месяц, потом 8$ в месяц и так далее, плюшки постоянно увеличиваются. На этом хостинге сервера специально настроены на Вордпресс, нельзя установить ничего другого, кроме Вордпресс, и сам по себе Вордпресс немного своеобразен.

Параметры сервера

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

Если у вас небольшой сайт с посещаемостью до нескольких тысяч посетителей в месяц, вы не заметите разницы между 1Gb и 8 Gb оперативной памяти.

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

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

Компьютер посетителя

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

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

Заключение: Скорость сайта зависит от использованной технологии, на которой написан сайт, от CMS, от сервера и хостинга, и от устройства пользователя.

II. Как увеличить скорость сайта

1. Обновляйте PHP

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

Если вы посмотрите на некоторые исследования в этом вопросе, вы поймете, почему это имеет значение.

Исследование скорости работы PHP
Источник: http://lornajane.net/posts/2015/php-7-benchmarks

Как видите, версии PHP значительно отличаются по времени обработки кода, особенно версия PHP 7.

Как обновить версию PHP — зависит от вашего хостинга. Зайдите на ваш хостинг, попробуйте найти что-нибудь похожее на Конфигурация PHP, или это может находиться в разделе Сайты, посмотрите там. Обычно это выпадающий список или галочка напротив нужной вам версии.

Наиболее используемая версия PHP сейчас — что-то в диапазоне 5.6, но убедитесь, что ваша версия не ниже 5.4

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

2. Обновляйте WordPress

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

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

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

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

3. Уменьшите количество запросов к базе данных

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

Когда вы добавляете контент на страницу, добавляется новый запрос к базе данных. Один запрос на одну картинку.

Если у вас несколько картинок на странице, и некоторые из них используются на архивных страницах, эта страница может создавать 60-70 запросов.

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

Уменьшить количество постов на странице вы можете в Настройках -> Чтение, поставьте 10 или 12 постов.

Уменьшите количество плагинов на сайте, это улучшит скоростные показатели сайта со стороны посетителей. Многие плагины добавляют свои стили, скрипты итд. Отключите один плагин, если он написан хорошо, это уменьшит количество запросов на 1-2, и на 5-6, если написан не очень хорошо.

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

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

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

После того, как вы избавились от всего ненужного / уменьшили количество запросов, запросы можно объединить. То есть, вместо загрузки 10 файлов по 20 кб, можно загрузить один файл 200 кб, который скачается гораздо быстрее. Это довольно легко, если вы планируете сайт с начала, но может быть немного труднее, если сайт уже готов.

Я пользуюсь комбайном W3TC, но есть специальные плагины только для объединения файлов: MinQueueMerge + Minify + Refresh и Dependency + Minification, они хорошо объединяют файлы, но их работа зависит от многих вещей, связанных с настройками сервера и сайта. В одних случаях один плагин работает лучше, в другом — другой, даже на двух соседних сайтах на одном хостинге. Попробуйте по одному, посмотрите, где результат окажется лучше в вашем случае.

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

4. Удалите ненужные или тормозящие плагины

Плагины не только увеличивают количество запросов, но могут вызывать и другие проблемы, например, проблемы безопасности или чрезмерное потребление памяти. Есть хороший плагин P3 (Plugin Performance Profiler), который поможет вам выявить проблемные плагины.

Вы также можете отключить те плагины, которыми редко пользуетесь. В моем случае это плагины Thumbnail Regenerator, Duplicate Post, или тот же P3. Это очень полезные плагины, но я пользуюсь ими нечасто, поэтому их можно отключить, чтобы они не создавали ненужных запросов.

Регулярно обновляйте плагины.

5. Удалите все ненужные блестяшки

Разные украшательства, элементы дизайна, в основном написанные на js, могут выглядеть хорошо, но не несут особой пользы, например:

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

Удалите эти ненужные украшения, это добавит сайту скорости. Будет меньше анимированных элементов, меньше Явы, меньше стилей, все это ускорит сайт.

Второй пример относится к конверсии украшений в продажи. Хороший пример — слайдер. Почти каждое крупное исследование на тему слайдеров приходит к одному и тому же заключению: в 4 из 5 случаев слайдер лучше не использовать. Он занимает много места, он понижает SEO, он тормозит сайт.

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

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

6. Используйте CDN

CDN — это магия вебсайта, которая делает сайт намного проще и быстрее. CDN делает две крутые вещи: он позволяет хранить картинки не на своем сервере, и он уменьшает время загрузки картинок на странице.

Когда картинки находятся на CDN, это освобождает контент от медиафайлов. Вы можете сменить домен или переехать на другой хостинг, но ваши медиафайлы всегда хранятся в одном месте. База данных и тема сайта занимает в среднем 40-50 MB, но картинки могут занимать до нескольких Гигабайт на большом сайте. Если они находятся на CDN, то перенести 40-50 MB — небольшая проблема.

Суть CDN (Content Delivery Network — Сеть Доставки Контента), в том, чтобы обслуживать пользователя контентом из географически более близкого сервера. Например, этот сайт находится в Санкт-Петербурге, но если посетитель находится в Праге, то он получит контент из ближайшего сервера CDN, который находится в Праге. Другой посетитель может находиться, например, в Москве, он получит тот же контент с сервера в Москве.

Сеть CDN Cloudflare
Источник: https://blog.cloudflare.com/one-more-thing-keyless-ssl-and-cloudflares-growing-network

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

7. Включите кеширование

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

Как работает кеш страницы

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

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

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

Из простых и мощных мне нравятся WP Super Cache и Hummingbird. Подробнее здесь и здесь.

Этот сайт работает на W3 Total Cache, это мощный комбайн, в котором есть все инструменты для кеширования / минификации / оптимизации. Подробное руководство.

8. Оптимизируйте базу данных

Со временем ваша база данных станет большой, это в значительной степени неизбежно. Размер базы данных набирается из двух направлений: неиспользуемые данные и служебные данные базы данных.

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

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

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

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

WP Optimize (бесплатный) — делает все то же самое, но в нем есть автоматическое расписание. Для оптимизации базы данных он использует прямые запросы к базе данных, что может оставить после себя некоторый мусор. Настроек минимум, подходит для новичков.

Advanced Database Cleaner (бесплатный) аналогичен предыдущему, но есть крутой инструмент редактирования базы данных вручную, редактирования cron-расписания и редактирования таблицы options базы данных. Плюс в том, что есть все, что нужно, некоторый минус в том, что для оптимизации используются прямые запросы к базе данных. Подходит для продвинутых пользователей.

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

Advanced Database Cleaner Pro (платный) показывает, чему соответствует каждая запись в базе данных.

Подробнее про очистку и оптимизацию базы данных читайте здесь.

9. Оптимизируйте картинки

Исследования показывают, что страницы, на которых присутствуют картинки, нравятся пользователям на 80% больше, чем страницы без картинок. Но картинки нужно оптимизировать, то есть уменьшать их размер в Пикселях и Килобайтах. Неоптимизированные картинки — одна из главных причин медленной скорости сайта.

Например, если вы хотите вставить картинку, которая займет 1/3 экрана, сделайте ее соответствующего размера, например, 400х250 пикс. Современные требования Гугл и прочих сервисов на такой размер что-то около 30 Кб.

Обычно я делаю картинку нужного размера в Фотошопе, и сохраняю ее функцией «Save for Web» в jpeg файл. Я ставлю качество картинки от 20 до 50, более низкое качество для фоновых или затененных картинок, более высокое качество для картинок на виду.

Два наиболее распространенных формата картинок на сайтах — jpeg и png.

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

PNG — сжатие без потерь и поддерживает прозрачность.

      • Если вам нужна хорошая цветная картинка (фотография), используйте jpeg,
      • Если вам нужная простая картинка, иконка, график, прозрачность, используйте png.

Вы можете полностью оптимизировать картинки в Фотошопе, или можете дооптимизировать их на сайте разными плагинами.

Например, WP Smush (бесплатный), Tiny PNG (бесплатный), EWWW Image Optimizer (бесплатный), итд. WP Smush оптимизирует изображения прямо на сайте, но оптимизирует наполовину, вторая половина платная, надо покупать Pro плагин. Tiny PNG оптимизирует изображения на своем сервере, в бесплатной версии до 500 изображений в месяц.

Хорошие отзывы у плагина Imsanity и Imagify. Также можете попробовать онлайн-сервисы Optimizilla и Bulkresizephotos.

10. Включите GZIP компрессию

Это еще один мощный способ ускорения сайта. Уменьшает размер страницы до 70%. Включить эту функцию можно на сервере записью в .htaccess, но многие, если не все, кеширующие плагины имеют эту функцию. Проверить, включен ли у вас GZIP, можно здесь.

Принцип работы GZIP заключается в том, что HTML и CSS используют много повторяющихся фрагметов. Чем больше повторяющихся фрагментов, тем сильнее страница может быть сжата. Например, если на этой странице 20 раз написано «Оптимизация Вордпресс», то эту запись можно заменить на «20ОВ», или что-нибудь подобное. Чем больше и чем длиннее повторяющиеся паттерны, тем больше места можно освободить.

Как включить GZIP компрессию читайте здесь.

11. Отключите hotlink ссылки с вашего сайта

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

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

Отключить это можно в файле .htaccess:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?my-site.ru/.*$ [NC]
RewriteRule \.(gif|jpg|js|css)$ — [F]

Измените my-site.ru на ваш адрес.

Если вы хотите перенаправить эти линки на другую картинку, вы можете использовать этот код:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?my-site.ru/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.my-site.ru/AngryMan.gif [R,L]

Измените my-site.ru и AngryMan на ваш адрес.

Я читал на одном сайте, как у него появились хотлинки с его скрипта по обратному звонку с сайта. Он переадресовал их на картинку Trollface.

12. Минифицируйте файлы

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

Это делают многие кеширующие плагины, например, W3TC.

13. Перенесите скрипты в футер

Если вы можете перенести какой-то скрипт в футер, то осторожно переносите. Дело в том, что вызов библиотеки jQuery происходит в секции <head>, если перенести подключение jQuery в подвал, то скрипты, которые жестко закреплены в хедере, и не могут быть перенесены в футер, выпадут с ошибкой, так как jQuery загрузится только в футере.

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

Я это делаю при помощи плагина W3TC.

14. Ограничьте количество ревизий постов

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

Ограничить количество ревизий постов можно вставив этот код в файл wp-config.php:

/*Limit Post Revisions*/
define( ‘WP_POST_REVISIONS’, 4 );

Замените 4 на нужное количество. Или на false, чтобы выключить.

Также это можно сделать при помощи плагина из следующей главы.

15. Оптимизация технического SEO

Когда вы публикуете статью на сайте, она имеет какой-то адрес. Но эта же статья будет иметь свой дубль в Датах, в Авторах, в Тегах и так далее. В результате все они попадут в поиск, и будут индексироваться как разные страницы, то есть вес одной страницы размажется по нескольким одинаковым страницам-дублям, и они будут конкурировать между собой за более высокую позицию в выдаче поисковиков.

Я пользуюсь плагином Clearfy, он удаляет пять типов дублей страниц, удаляет технические страницы, удаляет Emoji, удаляет версию WP, скриптов и стилей и другую информацию. Убирает возможность узнать логин администратора, ограничивает количество ревизий постов, удалет внешние ссылки в комментариях, создает файл robots.txt, транслитерация заголовков, редирект на https и так далее, всего на данный момент 40 функций.

16. Следите за сайтом

Проверяйте ваш сайт на скорость время от времени.

Я пользуюсь этими сервисами:

Google PageSpeed Insights — https://developers.google.com/speed/pagespeed/insights/
Pingdom Website Speed Test — https://tools.pingdom.com/
GTmetrix — https://gtmetrix.com/

Заключение: Скорость сайта — это не самое главное.

Хотя скорость сайта очень важна, но это не самое главное. Вы могли бы отключить все картинки и почти не использовать стили или js, и добиться скорости загрузки 350мс. Но поможет ли вам это добиться той цели, которую вы преследуете, или вы просто победите в бессмысленной гонке за скорость?

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

Сделайте сайт достаточно привлекательным, с понятным интерфейсом и хорошим контентом, этого будет вполне достаточно.
Возьмите Google PageSpeed и проверьте сайты типа Amazon или eBay. Вы увидите, что их показатели далеки от идеала, но они делают хорошую работу для своих владельцев, не так ли?
Я работал в одной компании, их сайт едва набирал 50 баллов по тесту Гугл, но всегда находился на первой странице поисковой выдачи Яндекса за счет рекламы и контента.

Если вы потратите 2 дня на перенос какого-то скрипта из шапки сайта в футер, и выиграете на этом 2 балла от Гугл, стоит ли оно этого?

***

Я надеюсь, это гайд был вам полезен, и вы что-то внедрили на своем сайте.

Если у вас есть вопросы, предложения, идеи — пишите в комментариях.

Оставьте комментарий