Ваш сайт заработал слишком медленно, а увеличить объем памяти на сервере вы не можете? Вам придется либо ограничить динамичность страниц, либо использовать альтернативные способы.
Почему flash-сайты постепенно отходят в прошлое?
Дело в том, что эти динамичные ресурсы, где можно воплотить в жизнь любую идею, чаще всего занимают слишком много места на сервере, и для выполнения (в условиях высокой посещаемости) тех или иных действий просто не хватает ресурсов. Как результат - сайт начинает "тормозить" или загружаться слишком долго.
К сожалению, нередко "тормозят" и другие сайты - написанные на php, созданные с помощью движка и других средств.
Возможно, наилучшее средство ускорить их работу - увеличить объем памяти на сервере. Но далеко не всегда это возможно и экономически выгодно.
Гораздо проще и дешевле снизить нагрузку на сервер. В этом деле вам могут пригодиться некоторые рекомендации:
1. Используйте Javascript вместо php, если это возможно. Главное отличие яваскрипта заключается в том, что выполняется его код непосредственно в браузере. PHP выполняется непосредственно на сервере, что повышает нагрузку. И чем больше функций выполняется с помощью PHP, тем выше эта нагрузка.
2. Выбирайте одно зеркало сайта. Как правило, один и тот же сайт располагается по двум адресам - с WWW и без. По каждому из этих адресов заходят поисковые роботы и другие боты, тем самым увеличивая нагрузку. Выбирайте один адрес, а на другом делайте переадресацию.
3. Вносите в "черный список" ботов по их именам. Используя .htaccess, прописывайте:
## Блокировка по USER AGENT:
RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR]
Вторую строку можно дублировать сотню раз, заменяя имя бота (MJ12bot). Это боты всевозможных поисковых систем, счетчиков, каталогов, которые автоматически индексируют вашу страницу, но фактически не приносят никакой пользы.
4. Убирайте в robots.txt "мусорные страницы", если удалить их невозможно. Это могут быть страницы поиска по сайту, списки пользователей, дубли и другие страницы, создаваемые автоматически. Если их не закрыть от индексации, боты будут переходить по ссылкам, загружая сервер.
5. Блокируйте самописные боты. Это могут быть те боты, у которых не прописано имя и значение в HTTP_REFERER. Блокировать их можно с помощью php.
Зачем снижать нагрузку на сервер?
В первую очередь, для того, чтобы сам сайт был доступен и работал корректно не только в обычное время, но и в часы пиковой нагрузки - например, вечером или в начале ночи.
Если об этом не позаботиться заранее, многие пользователи просто не смогут зайти на сайт.
Конечно, все эти действия могут помочь снизить нагрузку даже на 90%, однако впоследствии вам все равно придется подумать о замене тарифного плана у хостинг-провайдера или замене серверов на более вместительные.