Comment sécuriser un site WordPress ?

Comment sécuriser un site WordPress ?

Tout a été écrit sur WordPress. J’ai vu dans plusieurs articles que WordPress n’était pas sûr, mais malheureusement la plupart de ces articles ne sont pas documentés étant fondés sur rien d’autre que des avis personnels. Mais que veut dire la sécurité pour un CMS comme WordPress?

La difficile position de leader du marché

WordPress est depuis longtemps le CMS le plus utilisé d’internet selon W3Techs. En 2018, WordPress occupait entre 59 et 60% du marché, suivi par Joomla avec un facteur 10 fois moindre. Pour une personne qui essaie de créer un outil de hacking, exploiter des failles, ce n’est pas intéressant de s’attaquer à Ektron qui représente 0,1% du marché. Le nombre de sites pouvant être exploités sera bien plus faible. De plus, le retour sur investissement est important pour les hackers, et de ce fait, un leader du marché (comme WordPress) sera bien plus souvent visé.

L’hébergement et la maintenance

WordPress peut être utilisé comme une plateforme toute intégrée (WordPress.com) de façon similaire au Wix et aux autres Weebly, Squarespace etc. Il n’est alors pas possible d’accéder aux serveurs ou aux fichiers : vous pouvez simplement configurer votre site et cela réduit le risque d’erreur.

Mais WordPress c’est aussi WordPress.org, le projet open-source que vous pouvez installer vous-même où vous le souhaitez. Et là, les choses se compliquent. Côté hébergeur premièrement : il n’est pas rare de voir encore des serveurs qui font fonctionner du PHP 5.2 (Non supporté depuis longtemps : http://php.net/supported-versions.php ce qui veut dire plus aucune mise à jour de sécurité depuis des années). Puis, au niveau du concepteur du site : est-ce que l’installation a été faite correctement ? Les droits sur les fichiers ont-ils été établis de manière optimale ? Et sur le long terme : est-ce qu’un plan de maintenance a été établi pour mettre à jour les différents composants technologiques du projet ? Car si vous ne surveillez pas la sécurité depuis plusieurs années, vous êtes certainement à risque, mais cela aurait été aussi le cas avec tous les autres CMS.

Montrer pattes blanches…

Des gens mal intentionnés vont essayer de rentrer dans votre WordPress avec un compte admin. Bien entendu, évitez d’avoir un compte nommé « admin » dont le mot de passe est « admin » 😉 Pour éviter une attaque par dictionnaire (quelqu’un essaie toutes les possibilités de mot de passe), vous pouvez installer différents plugins qui demandent en plus la résolution d’un Captcha, ou qui bloquent après plusieurs essais infructueux, ou bien utiliser un 2ème facteur d’authentification (SMS par exemple).

Limiter la surface d’attaque

Avez-vous vraiment besoin de 30 plugins activés provenant de 30 développeurs différents ? Vous avez plusieurs comptes administrateurs actifs auxquels certaines personnes ne se connectent plus depuis des mois… Ne laissez pas des portes inutiles, même si vous pensez qu’elles sont bien fermées ! Désactivez ces comptes et réduisez le nombre de plugins au strict minimum.

Être prêt pour le pire…

La sécurité passe aussi par la prévention… N’oubliez pas de faire des backups réguliers de vos fichiers et de votre base de données. Allez-vous le faire vous-même vraiment ? Non, les bonnes intentions feront que vous allez le faire 2-3 fois durant le premier mois et puis le renvoyer aux calendes grecques. Une solution existe : automatisez-le ! Des supers plugins sont disponibles pour vous déposer un backup à l’emplacement de votre choix. Votre ordinateur n’est pas tout le temps en ligne ? Pas de soucis… vous pouvez faire déposer votre sauvegarde dans votre Dropbox selon une récurrence que vous pouvez choisir.

En conclusion

WordPress n’est pas une passoire de la sécurité, c’est un outil. Si vous l’utilisez mal, effectivement vous aurez des soucis ! Toutefois, utiliser un autre CMS ne sera pas la solution. Pensez à augmenter votre niveau de sécurité.

 

Comment accélérer un site WordPress ? Partie 2 – Hébergement

Comment accélérer un site WordPress ? Partie 2 – Hébergement

Ces hébergements qui boostent le chargement – #PROductivity 3

Les hébergeurs rapides à prix corrects

Et oui, il y a hébergement et hébergement. Attention, comparer la vitesse entre les différents « plans » des hébergeurs est un véritable casse-tête ! Trop souvent des dénominations markéting viennent polluer une information claire est précise, vous entendrez parler de « TOP Speed » ou de mode « Power », que cela représente-t-il ? Rien du tout !

Et même les informations techniques ne veulent pas dire grand chose. Certains mettront en avant un hébergement sur disque SSD ! Cela semble magique, non ? Mais que vaut un hébergement SSD, si le processeur du serveur est débordé par les requêtes de 500 autres sites web hébergés sur le même serveur et avec une mémoire RAM saturée à 98% en permanence ? Et bien, il serait bien moins performant qu’un bon vieux serveur avec des disques durs magnétiques classiques, mais qui aurait placé en permanence en mémoire RAM vos 10 pages les plus visitées !

Il est possible de trouver des hébergeurs extrêmement rapides, mais êtes-vous prêt à débourser 1200 Euro par mois pour un site vitrine? Pas forcément…

Quelles sont donc les hébergeurs capables d’héberger du WordPress facilement (par exemple via un installeur Fantastico), qui soit rapide et à un coût raisonnable ? Je pencherais pour NameCheap et son plan Business SSD à moins de $20/mois si vous souhaitez de la vitessse (ou le plan Value si vous souhaitez économiser de l’argent, il est à moins de 10$/mois) ou Site5.

name cheap hosting wordpress

Où vais-je ? Où cours-je ?

Attention à la destination. Votre site n’aura pas la même rapidité partout dans le monde. Pensez bien à cela avant de concrétiser votre hébergement. Le pire est probablement qu’un hébergeur à côté de chez vous ne sera pas forcément plus rapide qu’un hébergeur à l’autre bout du monde ! Par chance, il reste des outils pour tester et des techniques de diffusion de contenu.

 

CDN

CDN (Content Delivery Network) ou réseau de diffusion de contenu, est une sorte de réplication de votre cache à différent endroits dans le monde. Ainsi, chaque visiteur ira chercher les informations de votre site au serveur le plus accessible au moment voulu.

Testez, améliorez !

Il n’y a pas de manuel que vous pourriez suivre comme le montage d’un meuble IKEA, chaque site est un cas unique avec une audience unique. Il y a de grands principes qui viennent de vous être exposés et vous avez de merveilleux outils sur internet qui permettent de tester l’efficacité de votre site.

Le premier est Google Page speed : il est primordial, car il va rendre un rapport sur la rapidité et l’expérience utilisateur (en tout cas, son affichage sur ordinateur et mobile). N’oubliez pas que même si vous préférez d’autres outils, rendre  Google content de votre site, c’est rendre le moteur de recherche n°1 content de votre site : à bon entendeur.

Pingdom est très intéressant, car il vous permet de tester votre site à différents endroits du monde. C’est quand même plus pratique que de visiter des cyber cafés à travers la planète, non ?

Apprenez aussi comment accélérer WordPress côté plugins et logiciels!

Comment accélérer un site WordPress ?

Comment accélérer un site WordPress ?

Quelques astuces pour rendre le chargement de votre site WP plus rapide – #PROductivity 2

Temps de chargement, ce tueur de l’ombre… 

Le chargement de votre site a une importance primordiale. Depuis une dizaine d’années de nombreux rapports affichent un lien très clair entre le temps de chargement de votre site et le nombre d’abandon des visiteurs. Il est donc essentiel de rester en dessous de 3 secondes pour obtenir une bonne rétention de vos lecteurs ou utilisateurs. Il y a deux axes principaux à explorer : ce qui peut être fait sur votre site et ce qui peut être fait via votre hébergement.

J’ai calculé le temps total que les humains ont attendu devant le chargement des pages Web. Cela annule tous les gains de productivité de l’ère de l’information. Parfois, je pense que le web est un grand blog pour garder les gens comme moi loin de la société normale.

Scott Adams

Côté software

C’est probablement le moins cher, mais celui qui vous demandera le plus de travail. Voici les différents points à améliorer :

Optimiser les images

Les images sont lourdes, voire très lourdes, pensez à optimiser leur compression pour rendre votre site plus rapide.

Il y a de nombreux outils, sur Mac je vous recommande l’excellent Image Optim qui est aussi disponible sous forme de service web. Pour les amateurs de Windows, l’outil File Optimizer est aussi très intéressant, car il ne se limite pas aux images.

Si vous souhaitez optimiser directement dans WordPress, il y a une option encore plus simple : les modules de compression d’images, il y en a une pléthore, celui de ShortPixel est assez intéressant.

shortpixel-image-optimization

Optimiser le chargement (async)

Synchrone et asynchrone, qu’est-ce que c’est que ce mot barbare ? Imaginez que le chargement de votre site est une suite de paquets livrés par un facteur. Si vous devez attendre que le paquet (A) soit livré pour recevoir le paquet (B) et ceci jusqu’à (Z), ce qu’on appelle synchrone, cela va prendre plus de temps que de se faire livrer tout en même temps par plusieurs facteurs, technique asynchrone.

Attention : en pratique, tous les chargements ne peuvent pas se faire séparément les uns des autres, mais cela sera déjà bien utile de pouvoir les séparer en plusieurs parties.

Utiliser une solution de caching

Bon nombre d’utilisateurs savent vider le cache de leur navigateur, mais ne connaissent pas véritablement l’utilité de celui-ci. Le cache n’est pas un technique d’historique ni une surveillance de votre vie privée ; le fait que les navigateurs proposent de vider toutes ces informations en même temps apporte de la confusion.

Le cache est le fait de préparer le résultat des requêtes qui peuvent être demandées par l’utilisateur. Pour l’expliquer de manière métaphorique et très abrégée, imaginez que vous commandez une boisson.  La personne qui vient prendre la commande, arrive directement avec un exemplaire de toutes les boissons qu’il y a à la carte et vous le donne directement, cette personne ne va pas repartir chercher les boissons : vous gagnez un sacré temps.

Le cache peut exister du côté du serveur web, mais aussi sur l’ordinateur qui le consulte. Il y a même encore d’autres niveaux de cache, mais sur lesquels vous n’aurez aucune emprise, comme par exemple votre fournisseur d’accès internet : il ne va pas aller rechercher un million de fois la nouvelle petite image du logo de Google, il va mettre cela en cache.

Pour WordPress, il y a deux plugins principaux qui monopolisent les solutions de caching, grâce à leur excellence et le fait de posséder une version gratuite : W3 total cache et WP Super Cache. Essayer de les départager serait une mission difficile, testez vous-mêmes le résultat de l’une et de l’autre sur votre site.

Productivity-2-Speed

Minimiser !

Les fichiers CSS et JavaScript peuvent être réduits de taille simplement en enlevant tous les commentaires et les espaces et retour à la ligne, la différence est significative. Procurez-vous la version minifiée ou certaines solutions de caching le font aussi automatiquement.

Restez simple !

Les anglophones parlent souvent de KISS (keep it simple and stupid). Limitez le nombre de modules (appelés plugins en anglais), ils contiennent souvent des ”Hooks”, c’est à dire une sorte de point d’ancrage appelé à chaque chargement (d’une page, d’un site ou autre) afin d’appeler le module pour lui laisser faire son travail. C’est tout à fait vital pour son fonctionnement, mais cela prend du temps, si vous avez 50 modules actifs ou 12, l’impact sera très différent. L’avantage de WordPress est de pouvoir désactiver un module sans l’effacer, tirez parti de cette fonctionnalité !

N’ajoutez pas trop d’éléments et d’animations par page.

En conclusion

Il n’est pas forcément possible d’utiliser toutes les techniques en même temps ; surtout si votre site se doit d’être en plus responsive design, multilingue et beau ! Souvenez-vous, n’ajoutez qu’une technique à la fois et regardez comment votre site réagit. Si certains éléments ne fonctionnent pas, utilisez-en d’autres, il est probable que certain thèmes ou modules ne puissent pas fonctionner avec toutes ces optimisations.

Dans notre prochain article nous parleront de l’optimisation côté hébergeur.

WordPress Plugin Framework Review

WordPress Plugin Framework Review

WordPress is now the major player for content management and website creation. It’s a huge opportunity for webmasters and web agencies; there are tons of potential customers using WordPress out there. When it comes to development neither PHP nor WordPress are known for clean development structure: there is room for improvement by using an additional project acting as framework. If your goal is to maintain a quality project over time, this article is clearly for you.

What we were searching for…

First, let’s describe what we reviewed when we used those frameworks:

  • Develops clean and fast for WordPress with a clear code separation MVC (Model View Controller) style.
  • Ability to manage frontend and backend views.
  • Using an ORM (object-relational mapping), or any clean way to make requests to the database.
  • Internationalization support: translation management, date formats, currency etc.
  • Solid documentation and support.
  • Open source preferred.

So, now let’s take a look at some awesome projects:

Themosis Framework

http://framework.themosis.com

Pros

  • Real state-of-the-art project.
  • Well-documented, the manager of the project (Julien Lambé) is answering fast to customer questions.
  • The project is mostly done to manage the whole WordPress installation. However, it’s possible to build only a plugin; plus, a new version of Themosis more focused on plugin development is on the way.

 

themosis

Build on
The only projects we like: Symfony, Composer, PHPUnit, Mockery etc.

Specific elements you should know
It will also depend on the Themosis plugin and for a plugin that should be pushed to WordPress repository, it could be difficult to package all dependencies.

We recommend
If you want to manage a complete WordPress project: site + plugin + theme, it’s the best framework to look for at the moment.

herbert

Herbert Framework

http://getherbert.com

Pros

  • Very professionally focused on WP Plugin development
  • If you already developed with Symfony, and are a fan of SensioLabs products, you will feel at home working with Herbert

Build on
Using very state-of-the-art subproject: Composer, Doctrine, Illuminate, Nest, Per, Symfony, Twig, Php-server etc.

Specific elements you should know
Very limited documentation and slow responsiveness of the team, hopefully the community is more responsive.

We recommend
If you want to build a WordPress plugin only, that’s one of the best choices.

Piklist

https://piklist.com/product/piklist/

Pros

  • Interesting framework designed for plugin and theme.
  • Well-documented!
  • People are very active and responsive.
  • They were focusing only on backend views, but we tested the release 0.9.9 still in development and the frontend is now managed.
piklist

Specific elements you should know
A plugin done with Piklist will be dependent on the Piklist plugin. This means that users installing a plugin coded with Piklist should install the Piklist plugin; this can be done automatically, but anyway you’re not embedding anything.

We recommend
If you don’t have strong development knowledge, it’s probably the easiest project to start with!

wp plugin boilerplate

WordPress Plugin Boilerplate

http://wppb.io

Pros

  • Developed for building WP plugin.
  • Everything is included in the module: independent from other elements.

Specific elements you should know
No documentation at all for now!

We recommend
Can become a serious challenger for Herbert… the day they build their documentation.

Orbit

http://fringewebdevelopment.com/orbit-wordpress-development-framework

Pros

  • Built to manage the entire web project (Site + plugin + theme).
  • Not limited to WordPress, can be used with static pages.
orbit

Specific elements you should know
Almost no documentation and no more updates since 2012!

 

We recommend
Same comment for Boilerplate can apply: Orbit can be a serious challenger for Themosis Framework… the day they build their documentation.

vafpress

Vafpress Framework

http://vafpress.com/vafpress-framework/

Pros

  • Very powerful to build backend views.

Specific elements you should know
For now available only for backend, no frontend management.

We recommend
If you are only managing a backend module, it’s a perfect solution.

Redux

https://reduxframework.com

Pros

  • Well done for backend

 

Specific elements you should know
More focused on backend for now, similar to Vafpress.

We recommend
Looks like they are going very fast on development now, this project starts to become interesting in every sense: plugin + theme.

redux

Useful project to look at during the next years

http://admin-page-framework.michaeluno.jp
Looks promising to build very simply and fast some WP forms and pages.

Oldies are no more goodies

There are lots of interesting projects still hosted on Github or WP official repository, but beware: some of them look like they are no more under development, such as Sunrise and Pico.

 

A Fistful of Dollars…

Open source does not give you confidence; you can always pay for a Framework:

Peadig
http://peadig.com

WordPress Fuel
http://wordpressfuel.pluginpunch.com

Specialized

Largo
http://largoproject.org
Mostly focused only on building news websites with WordPress, if editorial content is your business, check out this project!

Shop Plugin
https://shopplugin.net
It’s not really a framework, but more a set of plugins with an API; nevertheless, it can be really useful when you need standard checkout and payment interfaces. The main plugin is free with additional paid support and an interface plugin; you get what you pay for.

Off topic

About the classic WordPress framework used for coding plugins, I should say: that’s all folks! However, it would be a shame not to mention these interesting projects:

Gantry
http://gantry.org
Not for plugins, only for theme, but very interesting if you want to build WP + Joomla theme.

Unyson
http://unyson.io
This project is “built with clicks and without code” and is an awesome way to extend WordPress without having any coding knowledge. It’s a serious challenger for DIVI Builder.

Nouveau Framework
http://www.nouveauframework.com
It’s not a plugin framework, but a theme framework with a set of plugins you can reuse as per your needs. Anyway, a very interesting project; at the moment, they are close to a version 1.0 and I’m sure that it is worthwhile to follow them in the coming years.

We build WP plugins, any question?

Last but not least: why are they different?

As you will understand from this article, every framework can be compared against another, but I will split them into my own groups based on their uses:

  • WordPress Project Management: Themosis, Orbit
  • Plugin Management: Herbert, Picklist, Boilerplate, BOILERPLATE
  • Backend View Management: Vafpress Framework, Redux

You should understand that some of these frameworks are evolving fast; hence I will update this article time after time to track their respective progress. Who can do more, can do less: a framework focused on a project is also able to build a plugin for example, but you have to be aware that you will have to work around the configuration.

There is one last thing to understand, using a certain framework does not prevent you from using another one. If I find it silly using Themosis and Herbert at the same time, then perhaps using some elements from a framework (i.e. how to manage the backend view with another project like an ORM) can be also a good choice if you know how to lay the bricks together.

All is not rosy

Well, during your next conversation with another developer, you can say that you are using a framework, and you are following “good practices”, « clean code »… Welcome to the master class! Pay attention there is also a hidden side of the moon.

If the project is stopped: Well, nobody plans on dying, but everybody will; the same works for IT projects. So, I will have a small preference for open source projects; when people stop working on a large project, most of the time there’s a small group of people that are frustrated and starts a fork in order to make some minimal maintenance of the project.

If it’s not possible to do what you want: I already saw people starting work on a technology without knowing exactly if it will meet their needs. So, read, learn and make a small proof of concept.
What if it doesn’t run in your productive environment? Did you already check if you can run your new framework on your productive environment prior to any serious coding? For sure, it will run smoothly on your development device and as developers always said: « But… it worked on my device!”, it’s so easy to manage localhost, feels like home right? It’s even more so with an environment like Mamp, Xamp, LAMP, EasyPHP… but it’s dirtier when it comes to production.

Mostly, as you will have the following option:

  1. WP official repository: That’s tricky guys! First, you will have to pass a complete review of your plugin by the WP team. They will require several parameters such as being able to run all supported versions of PHP!
    First, be sure you meet the WP plugin guidelines, Take a look at how to write a plugin on codex, optional get a look at the coding standards.
    Then, remember you will be downloaded by users all around the world in any kind of hosting, so the next rules “Shared hosting” also apply to you.
  2. Shared hosting: People using a shared PHP hosting have the chance to get a very complete service almost for free; the cons are that the less money they paid, the less parameters and configuration they can manage. Being able to change the PHP version is sometimes possible (often via cPanel or a .htaccess file), but loading a new Apache module feels like mission impossible. Why will people buy a dedicated server if everything is possible via shared hosting?
  3. Your own server: That’s the easiest part; it’s your server, so you can install what you want. Just do it the clean way, and be sure it will not impact existing applications already running on that server.

So be sure to make a small proof of concept, and check if it meets your needs and runs in your productive environment.

Les bons plans WordPress et API de Sagenda pour bien démarrer en 2016

Les bons plans WordPress et API de Sagenda pour bien démarrer en 2016

Tandis que nous plongeons au cœur du 2016, Sagenda se propose d’aider ses utilisateurs à tenir leurs bonnes résolutions pour la nouvelle année. Qu’il s’agisse d’améliorer la communication client moyennant un logiciel de réservation multilingue compatible avec WordPress ou d’une refonte de votre stratégie de paiement en ligne, nous sommes à l’écoute de vos besoins avec les bons outils et la bonne dose de détermination. Donc, nous avons pensé à vous donner une longueur d’avance sur les autres avec quelques simples astuces pour booster votre entreprise.

Des paiements PayPal via WordPress

Les paiements PayPal sont désormais possibles pour tous les utilisateurs du plugin Sagenda sur WordPress. Il n’y a rien de plus pénible que de réserver en ligne et de faire la queue hors ligne pour payer le même service. Pourquoi ne pas réserver et payer d’un seul trait ? Dorénavant, vos clients peuvent réserver, louer ou se programmer et payer avec PayPal directement sur votre site WordPress. En activant cette option, vous diminuez le temps d’attente des clients tout en améliorant la qualité de vos services. Essayez-le pour en tirer les bénéfices tout de suite !

Les API Sagenda compatibles avec PayPal

C’est écrit dans le ciel ou plutôt dans nos API. Nous avons mis à jour les API Sagenda  pour permettre le système « réserver et payer ». C’est tout à fait possible d’intégrer Sagenda directement à votre site web et profiter pleinement du module PayPal. Les tendances de réservation et d’achat en ligne ont évoluées considérablement de sorte que votre site web doit absolument être compatible avec le paiement en ligne. Mieux vaut prévenir que guérir !

Soignez votre langage !

Vu la diversité de nos utilisateurs, nous avons partagé le processus de traduction du module WordPress de Sagenda avec notre communauté en ligne avec des résultats excellents. Jusqu’à présent, notre plugin Sagenda est disponible en allemand, anglais, chinois simplifié, coréen, espagnol, français, hindi, italien, japonais, néerlandais, polonais, portugais, roumain, russe et suédois. En outre, la traduction de notre système de réservation Sagenda ne va pas tarder.

N’hésitez pas à l’essayer et faites-nous part de vos commentaires et suggestions !