Performances de votre site Joomla : le guide ultime d’optimisation
Aliquip pertinax vix ad
Optimiser son site Joomla pour un affichage rapide des pages et une bonne réactivité de l’interface est devenu une opération essentielle. Tout comme proposer une version mobile de son site via une version dédiée ou Responsive, proposer à vos mobinautes un site rapide est l’une des clés de son succès. N’oubliez pas que les mobinautes peuvent représenter la majorité de votre trafic, jetez d’ailleurs un oeil à Google Analytics pour faire un point sur ce sujet.
Un site rapide est également une excellente chose pour vos utilisateurs Desktop qui y voient un gage de professionnalisme et une expérience utilisateur enrichie.
Cette optimisation doit se faire à plusieurs niveaux, du choix de l’hébergement jusque dans l’administration Joomla en passant par la configuration serveur voire l’utilisation d’une solution externe comme un CDN. Voici une liste des actions à mener qui devrait donner un bon coup de boost à votre site Internet Joomla.
Les outils pour réaliser vos tests
Beaucoup d’outils existent sur le marché, j’en relève 3 :
- Google page speed – L’outil de Google analyse votre site Web et est certainement le plus simple à utiliser
- Pingdom – L’outil de Pingdom rentre dans le détail et analyse ressources par ressources
- DareBoost – La solution qui monte et qui vous propose des rapports PDF complets que vous pouvez stocker ou mettre à disposition de vos clients (Et leur site est le plus rapide que je connaisse ! 🙂 )
Le choix du serveur – L’hébergeur & l’hébergement adéquat
Je ne le répèterais jamais assez, l’hébergement est la base des performances de votre Joomla. Lisez ce sujet pour en savoir plus et faites le bon choix : Quel hébergeur et hébergement Joomla faut-il choisir ?
Compression côté serveur avec GZip
GZip est une méthode qui permet de compresser les ressources envoyées au client (=le navigateur) par le serveur. La compression rend le travail côté serveur plus important, mais la compression est efficace et rend les pages beaucoup plus légères. Vous pouvez activer cette option en allant dans la configuration générale de Joomla Système => Configuration => (Onglet) Serveur => Compression GZIP, et mettez Oui.
https://drive.google.com/file/d/0B93vpUaSSRQvdExvbWZGVzhZalE/view?usp=drivesdk
Notez que votre serveur doit permettre l’utilisation de cette fonctionnalité, c’est le cas avec l’hébergeur SiteGround.
L’utilisation du cache Joomla…
La mise en cache est une approche simple mais très efficace pour améliorer les performances. La mise en cache peut être exécutée sur le serveur ou côté client (cf. ci-dessous La mise en cache Navigateur), et vous avez le contrôle des deux côtés.
L’activation du cache côté Serveur avec Joomla! est très simple, elle permet d’éviter que Joomla! ne re-génère à chaque fois la page HTML en stockant une copie de celle-ci dans le répertoire /cache. L’affichage est donc beaucoup plus rapide du fait du plus faible nombre de processus à exécuter.
Allez dans Extensions => Plugins. Cherchez le plugin Système – Cache, et assurez-vous que ce plugin soit activé.
Ensuite, allez dans le Système => Configuration => (onglet) Système, et choisissez Cache conservateur dans Paramètres du cache. Le cache conservateur est conseillé pour des raisons de stabilité et est suffisant pour la plupart des sites. Vous pouvez utiliser le mode Cache progressif si vous n’avez pas de bonnes performances mais à ne pas utiliser sur de gros sites.
La durée du cache est à votre convenance, plus votre site se met à jour (commentaires, nouveaux contenus, forums, …) plus la durée devrait être courte. Pour 24 heures de cache, mettez 1440 par exemple.
…ou mieux : de SuperCacher 🙂
Si vous avez la chance d’être chez SiteGround, vous pouvez utiliser leur solution de mise en cache dynamique de niveau 2 sous SuperCacher. Cette solution a été développée pour Joomla, et demande d’ailleurs l’installation d’un plugin. Si vous l’utilisez, vous n’avez pas besoin du cache de Joomla (désactivez-le) qui est lui aussi dynamique. Cela ferait en effet doublon.
Généralement, SuperCacher est plus efficace que le cache de Joomla, mais testez les deux. A noter que si vous souhaitez utiliser Memcached, il faudra utiliser le cache de Joomla.
L’alternative JotCache
JotCache est un composant Joomla se substituant au cache natif de Joomla. Celui-ci apporte de nombreuses fonctionnalités complémentaires comme notamment la possibilité de gérer le cache page par page. A utiliser si vous avez besoin d’une gestion fine de votre cache ou si le cache de Joomla provoque des instabilités.
L’implémentation de Memcached
Memcached est particulièrement intéressant si vous avez besoin de gagner du temps de réponse au niveau des requêtes. Le cas typique est quand un utilisateur est connecté à votre site Joomla et ne peut donc pas bénéficier du cache dynamique. Dans ce contexte, Memcached devient alors indispensable si vous souhaitez proposer un temps de réponse décent à vos utilisateurs connectés.
Voici comme configurer Memcached sous Joomla, toujours dans la configuration générale Système => Configuration => (onglet) Système
A noter que 127.0.0.1 = localhost
Optimisation des images du site
Une image légère est une image qui se charge rapidement. L’excellent ImageRecyle vous permet de compresser vos images et même de manière automatique grâce à leur composant Joomla. Essayez également de respecter les dimensions du conteneur dans lequel se trouve l’image et ainsi éviter que le navigateur ne doive redimensionner l’image.
Pour plus de détails, vous pouvez consulter notre guide d’optimisation des images pour Joomla.
Gestion des extensions
Choix des extensions
Le choix des extensions peut avoir un impact non-négligeable sur les performances de votre Joomla. Quelques conseils :
- Essayez de vous limiter à un nombre minimum d’extensions, ou du moins de plugins
- Privilégiez les extensions professionnelles (souvent payantes)
- Faites les mises à jour de vos extensions, bien souvent leurs auteurs optimisent le code
Suppression des extensions inutiles
Faites le tour de vos extensions et notamment de vos plugins, même nativement installés, et désinstallez-les quand c’est possible. Au pire, désactivez-les.
Par ailleurs, si vous connaissez un peu CPanel et PhpMyadmin, lorsque vous supprimez une extension importante (un composant), nous conseillons de s’assurer que ses tables sont bien supprimées. Il est inutile de surcharger votre base de données avec des informations qui ne sont plus utilisées.
La version de PHP
Utilisez la dernière version de PHP, ou au moins PHP 7 compatible Joomla depuis la version 3.5.0. Le gain en terme de temps de réponse serveur est en moyenne de 40%, ce qui est particulièrement intéressant quand les pages se mettent en cache (ou se re-cache) ou que l’internaute navigue connecté au site.
La mise en cache Navigateur
Concernant l’optimisation côté client (=navigateur), elle se concentre principalement sur les images, les fichiers CSS et JavaScript, qui se téléchargent à chaque fois que vous visitez une page Web. Parce que la plupart de ces fichiers ne sont modifiés que de temps en temps, nous pouvons demander au client de mettre en cache ces fichiers.
Pour activer le cache côté client, nous mettons à jour le fichier .htaccess à la racine de Joomla. Cela indiquera comment le navigateur doit stocker les fichiers dans sa mémoire cache, au lieu de les télécharger à chaque visite. A noter que le bout de code ci-dessous met également en cache les audios, les vidéos et les fonts (polices).
# Enable expiration control ExpiresActive On # Default expiration: 1 hour after request ExpiresDefault "now plus 1 hour" # CSS and JS expiration: 1 week after request ExpiresByType text/css "now plus 1 week" ExpiresByType application/javascript "now plus 1 week" ExpiresByType application/x-javascript "now plus 1 week" # Image files expiration: 1 month after request ExpiresByType image/bmp "now plus 1 month" ExpiresByType image/gif "now plus 1 month" ExpiresByType image/jpeg "now plus 1 month" ExpiresByType image/jp2 "now plus 1 month" ExpiresByType image/pipeg "now plus 1 month" ExpiresByType image/png "now plus 1 month" ExpiresByType image/svg+xml "now plus 1 month" ExpiresByType image/tiff "now plus 1 month" ExpiresByType image/vnd.microsoft.icon "now plus 1 month" ExpiresByType image/x-icon "now plus 1 month" ExpiresByType image/ico "now plus 1 month" ExpiresByType image/icon "now plus 1 month" ExpiresByType text/ico "now plus 1 month" ExpiresByType application/ico "now plus 1 month" ExpiresByType image/vnd.wap.wbmp "now plus 1 month" ExpiresByType application/vnd.wap.wbxml "now plus 1 month" ExpiresByType application/smil "now plus 1 month" # Audio files expiration: 1 month after request ExpiresByType audio/basic "now plus 1 month" ExpiresByType audio/mid "now plus 1 month" ExpiresByType audio/midi "now plus 1 month" ExpiresByType audio/mpeg "now plus 1 month" ExpiresByType audio/x-aiff "now plus 1 month" ExpiresByType audio/x-mpegurl "now plus 1 month" ExpiresByType audio/x-pn-realaudio "now plus 1 month" ExpiresByType audio/x-wav "now plus 1 month" # Movie files expiration: 1 month after request ExpiresByType application/x-shockwave-flash "now plus 1 month" ExpiresByType x-world/x-vrml "now plus 1 month" ExpiresByType video/x-msvideo "now plus 1 month" ExpiresByType video/mpeg "now plus 1 month" ExpiresByType video/mp4 "now plus 1 month" ExpiresByType video/quicktime "now plus 1 month" ExpiresByType video/x-la-asf "now plus 1 month" ExpiresByType video/x-ms-asf "now plus 1 month" ##fonts # Add correct content-type for fonts AddType application/vnd.ms-fontobject .eot AddType application/x-font-ttf .ttf AddType application/x-font-opentype .otf AddType application/x-font-woff .woff AddType application/x-font-woff .woff2 AddType image/svg+xml .svg # Font files expiration: 1 month after request ExpiresByType application/vnd.ms-fontobject "now plus 1 month" ExpiresByType application/x-font-ttf "now plus 1 month" ExpiresByType application/x-font-opentype "now plus 1 month" ExpiresByType application/x-font-woff "now plus 1 month" ExpiresByType application/font-woff2 "now plus 1 month" ExpiresByType image/svg+xml "now plus 1 month"
Compression additionnelle
En plus de la compression Gzip que nous avons vu précédemment, nous pouvons ajouter de la compression de fichiers en textes, tels que Javascript et CSS. Cette action va compresser les fichiers en textes qui sont envoyés au navigateur. Il suffit d’ajouter la directives suivante au fichier .htaccess :
# AddOutputFilterByType is now deprecated by Apache. Use mod_filter in the future. AddOutputFilterByType DEFLATE text/plain text/html text/xml text/css application/xml application/xhtml+xml application/rss+xml application/javascript application/x-javascript
A noter que cette directive est maintenant la plupart du temps obsolète.
Minifier & Merger ses fichiers
Les fichiers CSS et JS sont généralement affichés ligne par ligne, ce qui facilite leur lecture, rend la construction des sites web plus efficace, et permet d’afficher des commentaires pour déboguer. Toutefois, le navigateur peut utiliser le même fichier avec une seule ligne, en enchaînant toutes les lignes à la suite et sans commentaires (qui ne sont utiles que pour les êtres humains). Cette réduction Minify permet de diminuer la taille du fichier et de rendre leur téléchargement plus rapide. Vous verrez qu’on économise assez peu de Ko pour une page, mais si vous commencez à avoir un certain trafic, vous économiserez des centaines de méga-octets de téléchargement sur votre serveur.
Merger permet d’unifier tous les fichiers dans un seul fichier. Encore une fois, cela peut sembler être une action banale, parce que la taille de téléchargement est la même, mais pour chaque demande de fichier le serveur utilise des ressources en faisant une requête, donc télécharger 10 fichiers n’est pas pareil que d’en télécharger un seul, même si le poids est le même. Cette fusion permet d’économiser des ressources et d’optimiser le processus client de réception des données par le serveur.
Vous pouvez utiliser les plugins Joomla JCH Optimize, Script Merge, Jbetolo ou encore les fonctionnalités parfois incluses dans le Framework de votre template Joomla.
Exclure les fichiers JS & CSS inutiles
Parfois, certains fichiers CSS / JS se chargent inutilement. Utilisez le plugin JS / CSS Control pour exclure ces fichiers-là, notamment de la page d’accueil. En effet, on peut gérer, avec ce plug in, le chargement ou non des fichiers JS ou CSS page par page. Il faut activer le mode « debug » du plug in pour connaitre la façon de renseigner cette zone pour chaque page.
Bloquer un maximum de trafic venant de robots
Les robots et autres crawlers représentent aujourd’hui environ 50% du trafic mondial, mais avec une part qui peut monter jusqu’à 85% pour les sites ayant moins de 1000 visiteurs / jours, autant vous dire que vous vous faites bien squatter votre bande passante ! 🙂 Et qui dit bande passante dit inévitablement sollicitations serveur donc baisses de perfomance.
Par conséquent, voici une liste qui date un peu (mais toujours aussi efficace) des robots, et surtout badbots, les plus connus :
# 2013 UA BLACKLIST [1/3] <IfModule mod_rewrite.c> RewriteCond %{HTTP_HOST} !^(127\.0\.0\.0|localhost) [NC] RewriteCond %{HTTP_USER_AGENT} (\<|\>|\'|\$x0E|\%0A|\%0D|\%27|\%3C|\%3E|\%00|\@\$x|\!susie|\_irc|\_works|\+select\+|\+union\+|\<\?|1\,\1\,1\,|3gse|4all|4anything|5\.1\;\ xv6875\)|59\.64\.153\.|85\.17\.|88\.0\.106\.|a\_browser|a1\ site|abac|abach|abby|aberja|abilon|abont|abot|accept|access|accoo|accoon|aceftp|acme|active|address|adopt|adress|advisor|agent|ahead|aihit|aipbot|alarm|albert|alek|alexa\ toolbar\;\ \(r1\ 1\.5\)|alltop|alma|alot|alpha|america\ online\ browser\ 1\.1|amfi|amfibi|anal|andit|anon|ansearch|answer|answerbus|answerchase|antivirx|apollo|appie|arach|archive|arian|aboutoil|asps|aster|atari|atlocal|atom|atrax|atrop|attrib|autoh|autohot|av\ fetch|avsearch|axod|axon|baboom|baby|back|baid|bali|bandit|barry|basichttp|batch|bdfetch|beat|beaut|become|bee|beij|betabot|biglotron|bilgi|binlar|bison|bitacle|bitly|blaiz|blitz|blogl|blogscope|blogzice|bloob|blow|bord|bond|boris|bost|bot\.ara|botje|botw|bpimage|brand|brok|broth|browseabit|browsex|bruin|bsalsa|bsdseek|built|bulls|bumble|bunny|busca|busi|buy|bwh3|cafek|cafi|camel|cand|captu|casper|catch|ccbot|ccubee|cd34|ceg|cfnetwork|cgichk|cha0s|chang|chaos|char|char\(|chase\ x|check\_http|checker|checkonly|checkprivacy|chek|chill|chttpclient|cipinet|cisco|cita|citeseer|clam|claria|claw|cloak|clshttp|clush|coast|cmsworldmap|code\.com|cogent|coldfusion|coll|collect|comb|combine|commentreader|common|comodo|compan|compatible\-|conc|conduc|contact|control|contype|conv|cool|copi|copy|coral|corn|cosmos|costa|cowbot|cr4nk|craft|cralwer|crank|crap|crawler0|crazy|cres|cs\-cz|cshttp|cuill|CURI|curl|curry|custo|cute|cyber|cz3|czx|daily|dalvik|daobot|dark|darwin|data|daten|dcbot|dcs|dds\ explorer|deep|deps|detect|dex|diam|diavol|diibot|dillo|ding|disc|disp|ditto|dlc|dotbot|drag|drec|dsdl|dsok|dts|duck|dumb|eag|earn|earthcom|easydl|ebin|echo|edco|egoto|elnsb5|email|emer|empas|encyclo|enfi|enhan|enterprise\_search|envolk|erck|erocr|eventax|evere|evil|ewh|exac|exploit|expre|extra|eyen|fang|fast|fastbug|faxo|fdse|feed24|feeddisc|feedfinder|feedhub|fetch|filan|fileboo|fimap|find|firebat|firedownload\/1\.2pre\ firefox\/3\.6|firefox\/0|firs|flam|flash|flexum|flicky|flip|fly|focus|fooky|forum|forv|fost|foto|foun|fount|foxy\/1\;|free|friend|frontpage|fuck|fuer|futile|fyber|gais|galbot|gbpl|gecko\/2001|gecko\/2002|gecko\/2006|gecko\/2009042316|gener|geni|geo|geona|geth|getr|getw|ggl|gira|gluc|gnome|go\!zilla|goforit|goldfire|gonzo|google\ wireless|gosearch|got\-it|gozilla|grab|graf|greg|grub|grup|gsa\-cra|gsearch|gt\:\:www|guidebot|guruji|gyps|haha|hailo|harv|hash|hatena|hax|head|helm|herit|heritrix|hgre|hippo|hloader|hmse|hmview|holm|holy|hotbar\ 4\.4\.5\.0|hpprint|href\s|httpclient|httpconnect|httplib|httrack|human|huron|hverify|hybrid|hyper|ia_archiver|iaskspi|ibm\ evv|iccra|ichiro|icopy|ics\)|ida|ie\/5\.0|ieauto|iempt|iexplore\.exe|ilium|ilse|iltrov|indexer|indy|ineturl|infonav|innerpr|inspect|insuran|intellig|interget|internet\_explorer|internet\x|intraf|ip2|ipsel|irlbot|isc\_sys|isilo|isrccrawler|isspi|jady|jaka|jam|jenn|jet|jiro|jobo|joc|jupit|just|jyx|jyxo|kash|kazo|kbee|kenjin|kernel|keywo|kfsw|kkma|kmc|know|kosmix|krae|krug|ksibot|ktxn|kum|labs|lanshan|lapo|larbin|leech|lets|lexi|lexxe|libby|libcrawl|libcurl|libfetch|libweb|light|linc|lingue|linkcheck|linklint|linkman|lint|list|litefeeds|livedoor|livejournal|liveup|lmq|loader|locu|london|lone|loop|lork|lth\_|lwp|mac\_f|magi|magp|mail\.ru|main|majest|mam|mama|mana|marketwire|masc|mass|mata|mvi|mcbot|mecha|mechanize|mediapartners|metadata|metalogger|metaspin|metauri|mete|mib\/2\.2|microsoft\.url|microsoft\_internet\_explorer|mido|miggi|miix|mindjet|mindman|miner|mips|mira|mire|miss|mist|mizz|mj12|mlbot|mlm|mnog|moge|moje|mooz|more|mouse|mozdex) [NC] RewriteRule .* - [G] </IfModule> # 2013 UA BLACKLIST [2/3] <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} (mozilla\/0|mozilla\/1|mozilla\/4\.61\ \[en\]|mozilla\/firefox|mpf|msie\ 2|msie\ 3|msie\ 4|msie\ 5|msie\ 6\.0\-|msie\ 6\.0b|msie\ 7\.0a1\;|msie\ 7\.0b\;|msie6xpv1|msiecrawler|msnbot\-media|msnbot\-products|msnptc|msproxy|msrbot|musc|mvac|mwm|my\_age|myapp|mydog|myeng|myie2|mysearch|myurl|nag|name|naver|navr|near|netants|netcach|netcrawl|netfront|netinfo|netmech|netsp|netx|netz|neural|neut|newsbreak|newsgatorinbox|newsrob|newt|next|nice|nikto|nimb|ninja|ninte|nog|noko|nomad|norb|note|npbot|nuse|nutch|nutex|nwsp|obje|ocel|octo|odi3|oegp|offby|offline|omea|omg|omhttp|onfo|onyx|openf|openssl|openu|opera\ 2|opera\ 3|opera\ 4|opera\ 5|opera\ 6|opera\ 7|orac|orbit|oreg|osis|our|outf|owl|p3p\_|page2rss|pagefet|pansci|parser|patw|pavu|pb2pb|pcbrow|pear|peer|pepe|perfect|perl|petit|phoenix\/0\.|phras|picalo|piff|pig|pingd|pipe|pirs|plag|planet|plant|platform|playstation|plesk|pluck|plukkie|poe\-com|poirot|pomp|post|postrank|powerset|preload|press|privoxy|probe|program\_shareware|protect|protocol|prowl|proxie|psbot|pubsub|puf|pulse|punit|purebot|purity|pyq|pyth|query|quest|qweer|radian|rambler|ramp|rapid|rawdog|rawgrunt|reap|reeder|refresh|reget|relevare|repo|requ|request|rese|retrieve|rip|rix|rma|roboz|rocket|rogue|rpt\-http|rsscache|ruby|ruff|rufus|rv\:0\.9\.7\)|salt|sample|sauger|savvy|sbcyds|sbider|sblog|sbp|scagent|scan|scej\_|sched|schizo|schlong|schmo|scorp|scott|scout|scrawl|screen|screenshot|script|seamonkey\/1\.5a|search17|searchbot|searchme|sega|semto|sensis|seop|seopro|sept|sezn|seznam|share|sharp|shaz|shell|shelo|sherl|shim|shopwiki|silurian|simple|simplepie|siph|sitekiosk|sitescan|sitevigil|sitex|skam|skimp|skygrid|sledink|sleip|slide|sly|smag|smurf|snag|snapbot|snapshot|snif|snip|snoop|sock|socsci|sogou|sohu|solr|some|soso|spad|span|spbot|speed|sphere|spin|sproose|spurl|sputnik|spyder|squi|sqwid|sqworm|ssm\_ag|stack|stamp|statbot|state|steel|stilo|strateg|stress|strip|style|subot|such|suck|sume|sunos\ 5\.7|sunrise|superbot|superbro|supervi|surf4me|surfbot|survey|susi|suza|suzu|sweep|swish|sygol|synapse|sync2it|systems|szukacz|tagger|tagoo|tagyu|take|talkro|tamu|tandem|tarantula|tbot|tcf|tcs\/1|teamsoft|tecomi|teesoft|teleport|telesoft|tencent|terrawiz|test|texnut|thomas|tiehttp|timebot|timely|tipp|tiscali|titan|tmcrawler|tmhtload|tocrawl|todobr|tongco|toolbar\;\ \(r1|topic|topyx|torrent|track|translate|traveler|treeview|tricus|trivia|trivial|true|tunnel|turing|turnitin|tutorgig|twat|tweak|twice|tygo|ubee|uchoo|ultraseek|unavail|unf|universal|unknown|upg1|urlbase|urllib|urly|user\-agent\:|useragent|usyd|vagabo|valet|vamp|vci|veri\~li|versus|vikspider|virtual|visual|void|voyager|vsyn|w0000t|w3search|walhello|walker|wand|waol|wavefire|wbdbot|weather|web\.ima|web2mal|webarchive|webbot|webcat|webcor|webcorp|webcrawl|webdat|webdup|webgo|webind|webis|webitpr|weblea|webmin|webmoney|webp|webql|webrobot|webster|websurf|webtre|webvac|webzip|wells|wep\_s|wget|whiz|widow|win67|windows\-rss|windows\ 2000|windows\ 3|windows\ 95|windows\ 98|windows\ ce|windows\ me|winht|winodws|wish|wizz|worio|works|world|worth|wwwc|wwwo|wwwster|xaldon|xbot|xenu|xirq|y\!tunnel|yacy|yahoo\-mmaudvid|yahooseeker|yahooysmcm|yamm|yand|yandex|yang|yoono|yori|yotta|yplus\ |ytunnel|zade|zagre|zeal|zebot|zerx|zeus|zhuaxia|zipcode|zixy|zmao|zmeu|zune) [NC] RewriteRule .* - [G] </IfModule> # 2013 UA BLACKLIST [3/3] (pentag0) <IfModule mod_rewrite.c> RewriteCond %{HTTP_USER_AGENT} (black\ hole|titan|webstripper|netmechanic|cherrypicker|emailcollector|emailsiphon|webbandit|emailwolf|extractorpro|copyrightcheck|crescent|wget|sitesnagger|prowebwalker|cheesebot|teleport|teleportpro|miixpc|telesoft|website\ quester|webzip|moget/2\.1|webzip/4\.0|websauger|webcopier|netants|mister\ pix|webauto|thenomad|www-collector-e|rma|libweb/clshttp|asterias|httplib|turingos|spanner|infonavirobot|harvest/1\.5|bullseye/1\.0|mozilla/4\.0\ \(compatible;\ bullseye;\ windows\ 95\)|crescent\ internet\ toolpak\ http\ ole\ control\ v\.1\.0|cherrypickerse/1\.0|cherrypicker\ /1\.0|webbandit/3\.50|nicerspro|microsoft\ url\ control\ -\ 5\.01\.4511|dittospyder|foobot|webmasterworldforumbot|spankbot|botalot|lwp-trivial/1\.34|lwp-trivial|wget/1\.6|bunnyslippers|microsoft\ url\ control\ -\ 6\.00\.8169|urly\ warning|wget/1\.5\.3|linkwalker|cosmos|moget|hloader|humanlinks|linkextractorpro|offline\ explorer|mata\ hari|lexibot|web\ image\ collector|the\ intraformant|true_robot/1\.0|true_robot|blowfish/1\.0|jennybot|miixpc/4\.2|builtbottough|propowerbot/2\.14|backdoorbot/1\.0|tocrawl/urldispatcher|webenhancer|tighttwatbot|suzuran|vci\ webviewer\ vci\ webviewer\ win32|vci|szukacz/1\.4|queryn\ metasearch|openfind\ data\ gathere|openfind|xenu\'s\ link\ sleuth\ 1\.1c|xenu's|zeus|repomonkey\ bait\ &\ tackle/v1\.01|repomonkey|zeus\ 32297\ webster\ pro\ v2\.9\ win32|webster\ pro|erocrawler|linkscan/8\.1a\ unix|keyword\ density/0\.9|kenjin\ spider|cegbfeieh) [NC] RewriteRule .* - [G] </IfModule> SetEnvIfNoCase User-Agent .*rogerbot.* bad_bot SetEnvIfNoCase User-Agent .*exabot.* bad_bot SetEnvIfNoCase User-Agent .*mj12bot.* bad_bot SetEnvIfNoCase User-Agent .*dotbot.* bad_bot SetEnvIfNoCase User-Agent .*gigabot.* bad_bot SetEnvIfNoCase User-Agent .*ahrefsbot.* bad_bot SetEnvIfNoCase User-Agent .*sitebot.* bad_bot
Ce script est à placer dans voter fichier .htaccess.
Le fait de bloquer certains badbots vous apportera en plus ici un gain en sécurité.
Utiliser un CDN
La mise en place d’un CDN est l’occasion de faire une pierre 4 coups pour les raisons suivantes :
- Vous proposez un temps de réponse minimum grâce à des serveurs CDN ultra-optimisés
- Vous bénéficiez d’un GZippage ultra-optimisé
- Vous délivrez vos assets (images, JS, CSS, PDF,…) plus rapidement à vos internautes situés près d’un des serveurs du provider CDN
- Vous soulagez votre propre serveur avec moins de requêtes.
Je vous conseille l’excellent service KeyCDN couplé au plugin de Regular Labs : CDN for Joomla! , très facilement configurable.
Pour aller encore plus loin
Optimisation de la base de données
Se rendre dans la base de données et notamment dans les tables contenant beaucoup de lignes pour y faire un OPTIMIZE TABLEet un ANALYZE TABLE, est un bon moyen de s’assurer que les tables de sa base de données donnent leur maximum.
Optimisation des requêtes SQL
Vous pouvez jouer sur le Query Cache de MySQL pour optimiser le temps de réponse de MySQL. Quelques explications ici.
A noter que si vous êtes chez SiteGround, vous pouvez leur en faire la demande par le support, ils sont généralement d’accord pour le faire pour vous.
- 878 views
- 0 Comment