Poskytuje statickou cache stránek, čímž výrazně zvyšuje výkon a škálovatelnost u webů s převážně anonymním provozem. Zajišťuje automatickou regeneraci obsahu a rychlé načítání stránek. Jedná se zřejmě o nejlepší možnost zvýšení výkonu jak pro sdílený, tak i pro dedikovaný hosting.
Instalace a nastavení:
- Volitelně nainstalujte modul HTTP Parallel Request & Threading Library (vhodné pro modul Boost Crawler).
- V admin/config/search/clean-urls (Nastavení, Vyhledávání a metadata, Čistá URL) zkontrolujte, zda jsou zapnutá čístá URL.
- V config/development/performance (Nastavení, Vývoj, Výkon) odškrtněte volbu Kešovat stránky pro anonymní uživatele. Ostatní volby mohou být povoleny.
- Rozbalte modul Boost 7.x-1.0 do adresáře sites/all/modules.
- V admin/modules (Moduly) povolte požadované moduly:
- Boost
- Boost Crawler – umožňuje vložit jednotlivé stránky do mezipaměnti (pre-cache) ještě před tím, než je někdo navštíví
- V admin/config/system/boost (Nastavení, Systém, Boost) v případě potřeby můžete upravit výchozí nastavení.
- V admin/config/system/boost/filesystem (Nastavení, Systém, Boost, File system) se uložením nastavení ujistěte, že do cache adresáře může webový server zapisovat. Např. vlastník: uživatel, skupina: www-data, oprávnění: 0775 (read/write/exec owner, read/write/exec group, read/exec others).
- Vytvořte si zálohu souboru .htaccess v kořenovém adresáři webu.
- Z admin/config/system/boost/htaccess/generator (Nastavení, Systém, Boost, .htaccess, .htaccess generation) zkopírujte obsah do souboru .htaccess dle instrukcí za řádek "# RewriteBase /".
- V admin/config/system/boost/expiration (Nastavení, Systém, Boost, Cache Expiration) je možné upravit nastavení obnovy dat. Souvisí s nastavením časů v Boost Settings.
- V admin/config/system/boost/crawler (Nastavení, Systém, Boost, Crawler) upravte nastavení dle potřeby např.:
- Enable the cron crawler: ano
- Time (in seconds) to use for crawling on every cron run: 30
- Ve výchozím stavu se statické stránky ukládají do kořenového adresáře webu do adresáře cache/normal.
Další moduly:
- Cache Expiration – aktualizuje cache po editaci obsahu (univerzálnější řešení než např. modul Boost Expire)
- Memcache API and Integration
- Varnish
- Cache Control | Edge Side Includes integration
- HTTP Response Headers
- Advanced CSS/JS Aggregation

- CloudFlare – Free Reverse Proxy, Firewall, and Global CDN
- Path Cache
Nástroje na měření rychlosti (výkonu) stránek:
Zrychlení výkonu webu:
- drupalinnovations.com/blog/improving-drupal-performance-20-tips
- cloudflare.com
- nastavení
- Caching
- Caching level: Standard
- Always Online: On
- Page Rules (pouze 3 pravidla u free účtu)
- 'cache everything' on /*:
- Custom caching: Cache everything
- Edge cache expire TTL: Respect all existing headers
- Browser cache expire TTL: 1 hour (upravte dle potřeby)
- 'bypass cache' on /user/login:
- Custom caching: Bypass cache
- Browser cache expire TTL: 4 hours (upravte dle potřeby)
- 'bypass cache' on /admin/*:
- Custom caching: Bypass cache
- Browser cache expire TTL: 4 hours (upravte dle potřeby)
- Drupal 8
- Povolit modu Internal Page Cache.
- V admin/config/development/performance nastavit Page cache maximum age.
- V sites/default/settings.php nastavit:
-
<?php
// Reverse proxy configuration.
$settings['reverse_proxy'] = TRUE;
$settings['reverse_proxy_addresses'] = array($_SERVER['REMOTE_ADDR']);
$settings['reverse_proxy_header'] = 'HTTP_CF_CONNECTING_IP';
$settings['omit_vary_cookie'] = TRUE;
// Trusted host settings.
$settings['trusted_host_patterns'] = array(
'^pidramble\.com$',
'^.+\.pidramble\.com$',
);
?>
- Zkontrolujte výsledek (CF-Cache-Status by měl být HIT):
- Nevýhoda účtu zdarma (omezení na max. 3 pravidla):
- Pokud adresu "node/[id]/edit" navštíví nepřihlášený uživatel, nastaví se na "403 – Access Denied" a před její editací je třeba v CloudFlare vysypat Cache.
- Řešení:
- pro editaci použít alternativní URL např. edit.mywebpage.com nebo
- při editaci dočasně vypnout Cache
- výhody:
- zlepšení výkonu webu
- zmenšení zatížení vlastního serveru/hostingu
- ochrana před špatnou návštěvností jako jsou spammeři, špatně napsaní roboti atd.
- web vždy online (trvalá dostupnost webu i při výpadku hostingu)
- negativní zkušenosti a problémy psané na webu (viz "cloudflare drop in traffic", "cloudflare traffic decrease" a další podobné fráze)
- cloudflare adsense:
- pokles příjmů z adsense
- některým byl dokonce Adsense zrušen
- menší míra prokliků a větší procento neuznaných kliků
- snížení návštěvnosti
- Problém může být v tom, že návštěvnost jde přes proxi cloudflare, a tak se zobrazují nerelevantní reklamy a google se ukazuje jedna IP. Aby se tomuto předešlo, funkce Rocket Loader musí být vypnuta a na apache musí být nainstalován mod_cloudflare, v robots.txt by měl být povolen AdSense crawler. jinak hrozí zrušení adsense účtu.
- cloudflare a návštěvnost:
- snížení návštěvnosti
- pokles pozice v Google
- Důvodů je také více, cloudflare na web nepustí každého, buď ho úplně zablokuje, nebo požaduje vyplnění antispamového kódu, nebo mu ukáže nějakou chybovou stránku. Cloudflare "nějak" blokuje robota Google a ten nemůže pořádně procházet web. Cloudflare prý "krade" návštěvníky. Po navštívení své stránky byl "prý" někdo přesměrován na nějakou cizí stránku s půjčkami :(
- aws.amazon.com/cloudfront/pricing/ – zdarma jen první rok od registrace
Příklad nastavení .htaccess souboru:
- First byte time (Zrychlení prvního načítaného "bajtu"):
-
# Turn on compression ("Fist Byte Time" webpagetest.org)
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
- Cache static content

-
# Cache static content (webpagetest.org)
<FilesMatch \.(jpe?g|gif|bmp|png|ico)$>
# No mod_headers
<IfModule !mod_headers.c>
# No mod_expires
<IfModule !mod_expires.c>
# Use ETags.
FileETag MTime Size
</IfModule>
</IfModule>
# Use Expires Directive.
<IfModule mod_expires.c>
# Do not use ETags.
FileETag None
# Enable expirations.
ExpiresActive On
# Cache all files for 1 week after access (A).
ExpiresDefault A604800
</IfModule>
<IfModule mod_headers.c>
# Do not use etags for cache validation.
Header unset ETag
<IfModule !mod_expires.c>
# Set a Cache-Control header to 1 week.
Header set Cache-Control "max-age=604800, no-transform, public"
</IfModule>
<IfModule mod_expires.c>
Header append Cache-Control "no-transform, public"
</IfModule>
</IfModule>
</FilesMatch>