LASHÔN - WordPress Création Sites Internet

Navigation Menu

Tutoriel – Placer son dossier uploads et ses images dans un sous-domaine

Tutoriel – Placer son dossier uploads et ses images dans un sous-domaine

Posted on 30 octobre 2010 in Wordpress | 53 comments

Niveau d’utilisation WP: avancé

Ce billet a été transformé en tutoriel et réécrit. Il fait suite à l’article Définir l’emplacement du dossier uploads dans WordPress, à lire aussi pour la base du procédé.

Déménager ses uploads en sous-domaine donne de l'air à votre blog

J’aimerais que toutes les images, vidéos, sons, pdf, enfin tout ce que j’uploade soit dans un sous-domaine. Exemple un sous-domaine et répertoire nommé ‘docu’, qui donnerait (chez moi) l’adresse http://docu.lashon.fr

Utilité ?

– Une moindre charge donc un accès plus rapide à vos pages.

– Un peu plus de sécurité contre les attaques virales.

Avertissement : Ce tutoriel exige d’effectuer des requêtes SQL dans la base de données. Aussi, si vous êtes effrayé rien qu’à cette idée ou trop débutant pour bien gérer ce changement sur un blog déjà en ligne et rempli d’images, n’essayez pas ceci, sauf en cas de nouvelle installation ou tout nouveau blog.

L’idéal serait de faire ça avant d’installer WordPress ou tout de suite après installation. Dans ce cas de figure voici comment procéder.

Placer son dossier uploads dans un sous-domaine sur un blog tout neuf ou à installer

1. Chez votre hébergeur dans la console d’administration

Allez dans le panneau de configuration des domaines.

Créez un sous-domaine (intitulé docu selon notre exemple choisi).

Déterminez tout de suite sa destination en cliquant sur ou en créant un dossier qui sera votre sous-domaine. Il faut compter une demi-heure pour que l’opération soit complétée. Il faudra donc indiquer dans la destination: /docu (attention au slash). Soyez vigilant, si votre blog se trouve dans un répertoire genre intitulé ‘wordpress’ (déconseillé) , il faudra  indiquer: /wordpress/docu

2. Via FTP Créer un dossier répertoire pour votre sous-domaine

Vous pouvez le faire par Filezilla mais puisque vous y êtes vous pouvez aussi bien le faire dans le panneau chez votre hébergeur (intitulé gestion des fichiers ou transfert fichiers ou manager selon).

Créer un dossier à la racine de votre hébergement. Non de votre site mais à la racine de l’hébergement proposé (selon l’hébergeur ce sera dans www ou à côté de www ou dans public_html ou dans rien).

J’ai plusieurs sites/blogs sur le même hébergement. Mais attention, pas configuré en multisites dans WP, ce qui n’est pas la même procédure. J’ai configuré chez mon hébergeur la destination de chaque domaine dans le bon répertoire. Dans mon logiciel FTP, cela donne les répertoires suivants à la racine :

domaine-du-site-un

domaine-du-site-un/sous-domaine-du-site-un

domaine-du-site-deux

domaine-du-site-trois

sous-domaine-du-site-deux

sous-domaine-du-site-trois

A noter que vous pourriez très bien partager un seul sous-domaine pour héberger les uploads des trois domaines (trois blogs). Alors ce serait comme ça à la racine de votre hébergement :

domaine-du-site-un

domaine-du-site-deux

domaine-du-site-trois

sous-domaine-du-site-un

Et dans le dossier ‘sous-domaine-du-site-un’ vous pouvez avoir ceci :

docu-de-un

docu-de-deux

docu-de-trois

Tout dépend de votre hébergement et de ce que vous voulez : plusieurs bases de données, une pour chaque domaine. Une seule base de données avec plusieurs blogs qui possèdent chacun un nom de domaine différent. Un seul domaine avec plusieurs sous-domaines qui sont autant de blogs…. Mais revenons à notre dossier uploads.

3. Dans ‘Médias’ du tableau de bord WordPress

Renseignons ce dossier répertoire dans Médias. Dans le tableau de bord de votre blog, allez à Réglages puis dans Médias . Nous devons renseigner les deux champs vides intitulés : Stocker les fichiers envoyés dans ce dossier (suivi de ‘Par défaut, wp-content/uploads’) et Adresse web complète pour les fichiers.

wp-admin-options-media

C'est dans ces réglages et pas ailleurs que se joue l'attribution du lieu de stockage de vos images uploadées

3.1 RENSEIGNER LA PREMIÈRE LIGNE QUI PARAMÈTRE LE LIEU PAR DÉFAUT DU STOCKAGE DES UPLOADS

Évitons les confusions : Définir son dossier uploads à la racine de son blog ou changer le nom du dossier n’est pas du tout la même chose que le mettre en sous-domaine.  Dans ce cas-là nous indiquons seulement ‘docu’ dans la première ligne et c’est tout. Alors quoi mettre ?

Ici il faut indiquer le chemin absolu !

Il faut donc d’abord le connaître. Pour ça, nous allons créer un fichier php avec un éditeur de texte (genre Notepad ou autre). Nommons-le par exemple chemin.php. Avec un bout de code dedans :

<?php
$p = getcwd();
echo $p;
?>

Chargez ce fichier espion (uploader avec Filezilla) à l’intérieur du répertoire de votre futur dossier uploads.

(exemple : dans le dossier ‘docu’ que vous avez déjà créé).

Visitez votre blog à l’adresse du fichier chargé (ici il s’agit de votre sous-domaine : docu.lashon.fr/chemin.php). Vous y verrez affiché le chemin précis et absolu du dossier en question.

Copiez ce chemin absolu dans le premier champ vide de Médias.

Le genre du chemin va changer selon votre hébergeur. Vous aurez quelque chose qui ressemble à : /homepages/8/d123456572/htdocs/nom-de-domaine/docu.

Le champ par défaut doit contenir le chemin absolu

Alors que votre hébergeur, lui, vous induit en erreur en vous renseignant peut être un truc comme /kunden/homepages/8/d123456572/htdocs/nom-de-domaine/docu, ou encore /public_html/sub etc. Le fichier que nous avons chargé sera lui totalement précis sur quoi mettre en chemin absolu.

Notez que vous pouvez mettre des sous-dossiers pour trier comme cela vous arrange dans votre sous-domaine. Pratique si vous utilisez un seul sous-domaine pour le dossier uploads de plusieurs petits blogs. Ou pour séparer les images uploads de celles de vos thèmes (si vous avez codé comme ça hein, c’est pas automatique). Par exemple vous avez /docu et vous voulez que les images uploadées aillent dans un sous-répertoire ‘fichiers-uploads’. Le chemin du dossier uploads sera donc : /homepages/8/d123456572/htdocs/nom-de-domaine/docu/fichiers-uploads

Le gros avantage de cette technique est que vous n’avez pas à vous soucier du fait que chez certains hébergeurs (comme OVH) certains sites sont à côté de www. Le fichier chemin vous dira quoi.

3.2 RENSEIGNER LA DEUXIÈME LIGNE QUI INDIQUE L’ADRESSE COMPLÈTE DES FICHIERS

Renseignez la deuxième ligne ou champ intitulé Adresse web complète pour les fichiers. Ici c’est simple, il suffit de donner l’adresse réelle, le lien en dur, soit l’adresse complète http://sous-domaine.domaine.ltd.

Dans notre exemple ça donne http://docu.lashon.fr

3.4 Optimisons les performances

Ajoutez dans votre wp-config.php :

define('UPLOADS', 'http://adresse url de votre sous-domaine');
// Ce qui donne pour l'exemple pris plus haut:define('UPLOADS', 'http://docu.lashon.fr');

Vous pouvez également le définir dans le fichier functions.php de votre thème. Simplement ajoutez :

define('UPLOADS', 'http://adresse url de votre sous-domaine');

Maintenant, faites bien attention au moment d’indiquer l’url. Ne mettez pas un slash (/) à la fin de votre adresse. Vérifiez aussi que vous n’en avez pas mis non plus en renseignant votre url dans le réglage général de l’adresse de votre site. Puis surtout, surtout, dans votre panneau d’administration de votre hébergeur, pensez logique lorsque vous indiquez une destination.

La destination de votre sous-domaine est affaire de dossiers et sous-dossiers. Si vous avez mis votre dossier docu à la racine de votre site (au sens hébergement) alors que votre wordpress est dans un dossier genre ‘blog’, c’est possible mais la prise de tête commence là. Optez pour le plus simple : suivez ce que vous avez fait par ftp et mettez ce dossier ‘docu’ de votre sous-domaine dans le même dossier que WP. Ou bien à la racine de votre site avec la bonne destination.

Comment déplacer le dossier uploads d’un blog déjà bien rempli ?

Pareil que ci-dessus. Sauf qu’il faut s’occuper du dossier existant et des liens modifiés par ce changement ! Car le ‘nouveau’ dossier uploads ne concerne que les nouvelles insertions. Aussi il faut actualiser le tout :

1) Déplacer physiquement le contenu du dossier uploads dans le dossier concerné

Ex : dans ‘docu’. Avec Filezilla toujours ou chez votre hébergeur (si possible).

REQUETES SQL

Ceci va changer dans tous vos articles et pages les chemins vers le nouveau dossier upload. Vous devez indiquer vos URL ou adapter selon votre situation !

UPDATE wp_posts SET  guid = REPLACE (guid, 'http://nom-domaine-du-blog/wp-content/uploads/', 'http://sous-domaine.nom-domaine-du-blog') WHERE post_type = 'attachment';

UPDATE wp_posts SET post_content = replace(post_content, 'http://nom-domaine-du-blog/wp-content/uploads/', 'http://sous-domaine.nom-domaine-du-blog');

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src= »http://nom-domaine-du-blog/wp-content/uploads/', 'src= »http://sous-domaine.nom-domaine-du-blog');

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://nom-domaine-du-blog/wp-content/uploads/', 'http://sous-domaine.nom-domaine-du-blog');

Ces requêtes correspondent au fait de donner dans le 1er champ l’ancienne adresse des uploads et dans le 2e la nouvelle adresse. Les revoici dans le cadre de notre exemple :

UPDATE wp_posts SET  guid = REPLACE (guid, 'http://www.lashon.fr/wp-content/uploads', 'http://www.docu.lashon.fr') WHERE post_type = 'attachment';

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.lashon.fr/wp-content/uploads', 'http://www.docu.lashon.fr');

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src= »http://www.lashon.fr/wp-content/uploads', 'src= »http://www.docu.lashon.fr');

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://www.lashon.fr/wp-content/uploads', 'http://www.docu.lashon.fr');

Si vous croyez contourner SQL par l’utilisation d’un plugin magique capable de modifier vos liens vers les images ou des plugins de redirection,  je vous le déconseille. Ces plugins changeront les liens insérés dans vos articles mais pas les attachements. Autrement dit vous allez vous y perdre et les anciennes images ne seront pas affichées…

Mais il conviendrait en plus (optionnel) de signaler ces changements aux moteurs de recherche. Si vos images étaient référencées et non bloquées par le robots.txt, la redirection des images peut se faire dans le .htaccess :

# Redirection des anciennes images links
RedirectMatch 301 ^/wp-content/uploads/(.*)$    http://docu.lashon.fr$1

Ceci dit, si vous avez protégés vos images contre le hotlinking, et si vous avez empêché leur indexation, on s’en fiche un peu… mais à vous de voir.

AUTRE METHODE

Ne placer AUCUN define pour définir le dossier uploads dans functions.php ou wp-config.php.

Créer un répertoire docu à la racine de son blog.

Renseigner dans Medias du tableau de bord docu à la première ligne, l’url du sous-domaine à la deuxième ligne

Chez l’hébergeur, cliquer sur son sous-domaine docu.lashon.fr, modifier les DNS et créer un CNAME puis le faire pointer vers le répertoire docu. Cette procédure varie selon l’hébergement, mutualisé ou serveur privé/virtuel. Sur un virtuel ou dédié, il suffira de créer un wildcard.

Dossier Uploads en sous-domaine

CONCLUSION

On m’a demandé si cette procédure était utile lorsqu’on utilise un cache. Sans hésiter je dis oui. Un cache, qu’il soit mis à la main ou via un plugin aide à l’optimisation de ce qui existe, rien de plus. Il n’intervient nullement sur les requêtes envoyées. Si vos images sont ailleurs dans un sous-domaine, vous gagnez en répartition des commandes (requêtes) pour afficher votre blog. Un gain de temps assuré.

On gagne donc ici sur tous les plans : Optimisation, donc un blog plus rapide, ce qui rend vos visiteurs contents, meilleur référencement du à cette rapidité accrue, et sécurité contre les robots de piratage automatiques.

Sur ce dernier point précis, le mieux eût été de déplacer tout le répertoire wp-content ailleurs… mais c’est un autre manoeuvre. Voir le code ici, explication dans le Codex (anglais) là.

LIRE

Sécuriser son blog WordPress et lutter contre le spam – Manuel de Combat

Sécuriser son blog WordPress et lutter contre le spam – Manuel de Combat

Posted on 1 octobre 2010 in Internet | 16 comments

Protégez-vous des hackers

Améliorer la sécurité de son site web avec quelques extensions, codes, plugins et des réflexes.

Tutoriel pour augmenter la sécurité informatique de son site web ou blog sous WordPress en général et guide pour lutter contre le spam (pourriel).

A lire d’abord ce préambule indispensable : Sécurité informatique et Lutte anti-spam.

Sommaire :

  1. Toujours effectuer les mises à jour
  2. Sécuriser son PC pour sécuriser son WordPress
  3. Encrypter cookies d’authentification
  4. Installer un Captcha
  5. Activer Askimet
  6. Plugins WordPress Antispams
  7. Blacklister liens Nofollow en liste noire
  8. Configurer un .htacces en béton
  9. Protéger dossiers, admin, wp-config, wp-login, htaccess
  10. Connexion sécurisée SSL et htpasswd
  11. Exclure requêtes externes sur commentaires
  12. Bannir pourriels en masse par IP
  13. Requête SQL afficher liste IP spammeurs
  14. Interdire domaine spammeurs
  15. Bloquer robots spams
  16. Interdire vol de contenu RSS
  17. Interdire affichage vol images
  18. Cacher votre Email aux robots (nouveau, update)
  19. Interdire indexation dossiers vulnérables
  20. Modifier le préfixe wp par défaut (nouveau, update)
  21. Autres ressources
  22. Victime ? Votre blog est infecté ? Extensions Firefox utiles (nouveau, update)
  23. Modération des commentaires

1. TENEZ VOTRE WORDPRESS A JOUR

Les mises à jour corrigent les failles de sécurité. Un message vous en avertit dans le tableau de bord. Pour mettre à jour il suffit de suivre les liens de mises à jour proposés. Les plugins et thèmes aussi doivent être updatés.

2. SÉCURISEZ VOTRE PC POUR SÉCURISER VOTRE SITE WEB OU BLOG WORDPRESS

UTILISEZ DES MOTS DE PASSE TRÈS FORTS !
Si vos gestes généraux de lutte antispam et de sécurité informatique sont corrects vous réduirez déjà drastiquement le nombre de vos spams, y compris ceux qui empestent vos blogs. J’ai déjà expliqué toute l’importance de bons mots de passe, du choix du webmail et gestes réflexes à avoir. On peut lutter autant que l’on veut sur son blog, si votre messagerie et/ou le serveur de votre adresse email ne suivent pas dans la lutte sécuritaire, vous perdez temps et énergie en vain. Donc lisez aussi mes explications précédentes. Certains d’entre-vous n’imaginent pas le lien entre mauvais gestes généraux sur un PC et courrier indésirables dans leur blogs. Ensuite, puisque les techniques des spammeurs (humains ou robots) sont multiples, il convient de combiner les solutions de combat.

Dans la catégorie mots de passe, pour ceux qui ne veulent pas toucher à une ligne de code, vous pouvez utiliser un plugin pour ajouter un niveau de protection à votre mot de passe d’administrateur : Plugin AskApache Password Protect

3. ENCRYPTEZ LES COOKIES DE VOS CLEFS D’AUTHENTIFICATION

Simple à faire. Ouvrez votre fichier wp-config.php. Vous y trouverez des lignes prévues pour ça sous le titre Clefs uniques d’authentification et salage. Ainsi que le lien pour générer ces clés (qui change avec les versions WP successives).

Clefs uniques d'authentification et salage dans votre fichier wp-config.php

wp-config.php avec des clefs uniques d'authentification (cliquez pour agrandir l'image)

Il suffit de visiter ce lien : générer des clefs

Insérez ces clés, sauvegardez, actualisez les dossiers de votre logiciel FTP, et chargez le fichier en ligne.

(A noter que l’adresse de ce lien commence par https (remarquez le ‘s’), qui traduit bien une connexion sécurisée par SSL).

4. METTRE UN CAPTCHA POUR VOS COMMENTAIRES

Une technique appréciable est d’installer un capcha pour les commentaires.

Choisissez un plugin :

suppression automatique spam avec captcha

La captcha, ça marche. 57 pourriels évités en quelques heures

5. NE FAITES PAS L’IMPASSE DU PLUGIN ASKIMET

Livré par défaut avec WordPress, activez-le. On vous demandera une clé d’activation pour ce faire, il suffit d’ouvrir un compte (et non un blog, juste un login) chez wordpress.com et de copier coller la api key livrée dans votre profil.

6. PLUGINS WORDPRESS ANTISPAM

Certaines de ces extensions sont très efficaces. Si vous êtes plus à l’aise avec le fait d’installer un plugin plutôt que configurer le fichier .htaccess comme je vais vous le proposer plus loin, voici une petite liste par efficacité décroissante :

7. BLACKLISTER LES LIENS EN NOFOLLOW

Puisque depuis 2005 Google, YAHOO et MSN ne crawlent plus les liens en nofollow, une partie des robots ne viendra plus par chez vous. Ce point est discuté mais pour ma part j’ai constaté une nette amélioration depuis.

Dans l’onglet Réglages de votre tableau de bord, allez dans Discussions. Deux grands champs vides attendent que vous les remplissiez. Dans le premier champ vide intitulé liste de modération des commentaires, ajoutez au fur et à mesure des mots clés à bloquer. Mais surtout, dans le 2e champ vide intitulé Liste noire pour les commentaires, filtrez logique en ajoutant :

[url=
[link=
rel="nofollow"

Alternative via le plugin Nofollow Free

8. CONFIGURER UN HTACCESS EN BÉTON

Les codes suivants sont à ajouter dans le fichier .htaccess. Sauvegardez TOUJOURS votre fichier .htaccess avant de le modifier. Ajoutez une seul code à la fois afin de vérifier les erreurs ou plantages éventuels. Certaines commandes ne fonctionneront pas avec votre site car les paramètres varient trop d’un hébergeur à l’autre.

9. Codes pour PROTÉGER DOSSIERS, WP-CONFIG, HTACCESS, WP-LOGIN, ADMINISTRATION, TRACKBACK SPAM

Protéger le fichier WP-CONFIG :

#Protection of wp-config.php
<files wp-config.php>
  Order deny,allow
  deny from all
  </files>

Protéger le fichier WP-LOGIN

Certains suggèrent de protéger la connexion au blog (wp-login.php). Cette opération n’est possible que si vous êtes le seul administrateur ET que vous possédez une IP fixe. Ce qui est rare. Donc si vous êtes en voyage, vous n’aurez pas accès à votre blog.

<Files Wp-login.php>
Order deny, allow
Deny from All
Allow from **.***.***.**
</ Files>

En revanche vous pouvez empêcher l’accès administration pour un IP spécifique :

Protéger l’administration

# Restrict access WP-Admin login on a specific IP address
AuthUserFile / dev / null
AuthGroupFile / dev / null
AuthName “Access Control”
AuthType Basic
order deny, allow
deny from all
# Your IP address
allow from **.***.***.**

Pour ajouter des IP à bloquer, remplacez les caractères **.***.***.** par le nouvel IP, séparé par une virgule (,).

Interdire l’accès à votre htaccess

# htaccess protection
<Files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>

Renommez votre fichier .htaccess

Par exemple renommez en fichieracces, puis insérez ce nouveau nom :

# rename htaccess
fichieracces ht.access

Empêcher l’internaute de voir le contenu de vos répertoires

Tous les blogs WP non sécurisés ni optimisés ont la même structure. Aussi tout utilisateur sait qu’il peut voir vos images en vrac (dossier wp-content/uploads), les plugins (dossier wp-content/plugins), les thèmes WP et tout contenu de dossier.

# Protect Directory browsing
Options All-Indexes

Si vous ne faites pas ça, au moins chargez un fichier vide index.html ou index.php dans tous les dossiers que vous ne voulez pas voir listés (thèmes, plugins, images uploads…).

Interdire les trackbacks visiblement non humains et spammeurs

# Deny Obvious Trackback Spams
RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{HTTP_USER_AGENT} ^.*(opera|mozilla|firefox|msie|safari).*$ [NC]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.+/trackback/? HTTP/ [NC]
RewriteRule .* - [F,NS,L]

10. PROTEGER VOS PAGES WP-ADMIN ET LOGINS AVEC HTPASSWD OU SSL

A) Mettez en place un fichier htpasswd

En deux étapes. Vous devez créer un fichier .htpasswd qui contient un mot de passe crypté. Puis renseignez le code généré dans le htaccess. Plus de détail et pour crypter le mot de passe, cherchez sur Google ou voir chez Infowebmaster Tutorial pour sécuriser un dossier.

B)Forcez une connexion sécurisée (SSL)

Pour l’administration. Attention, n’essayez pas ça sur un hébergeur gratuit ou votre blog va planter. Il faut également que votre hébergeur accepte le SSL (voir les options de votre plan d’hébergement). Si oui, il suffit d’insérer dans wp-config.php :

<?php define('FORCE_SSL_ADMIN', true); ?/>

Ou utilisez le plugin Admin SSL .

Ceci donnera le choix à vos membres et vous-même entre rapidité et plus grande sécurité (toujours ce https). Fonction sensible, pas vraiment utile pour des blogs généraux. Plutôt pour des utilisations spécifiques aux entreprises et aux boutiques de commerce ou une plateforme multisites.

C) VÉRIFIEZ LES PERMISSIONS CHMOD SUR VOS DOSSIERS ET FICHIERS EN FTP

Restons simple. Tous vos dossiers doivent être en 755, les fichiers en 644.

11. EXCLURE LES REQUÊTES ÉTRANGÈRES

Si la xénophobie est à proscrire pour l’être humain, en matière de requêtes Web elle est recommandée. En gros vous allez spécifier que la machine sans Referer et sans agent soit bannie pour poster un commentaire (une requête qui ne part de votre blog, ce qui est la cas des campagnes de spams.
Indiquez le nom de votre base de données et votre nom de domaine dans le code suivant :

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Attention : Si comme moi vous avez modifié le préfixe de vos tables WP (le fameux wp_ dans votre wp-config.php), il convient de l’exprimer dans le code. Par exemple vous avez changé wp_ pour blogdejules_ . Vous devrez indiquer (3e ligne) blogdejules-comments-post. Ne confondez pas préfixe des tables WP et base de données…

#Exclure les requêtes sans référence
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .nom-du-prefixe-de-votre-table-wordpress-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*votre-nom-de-domaine-ici.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Vous pouvez aussi bannir toute tentative de POST qui ne passe pas via votre fichier de commentaires WP-comments-post.php

#Only reach a real WP-comments-post.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*/wp-comments-post.php.* HTTP/ [NC]
RewriteRule .* - [F,NS,L]

12. BANNIR PAR IP

Pour ma part je trouve la manœuvre délicate étant donné que les IP changent. Si vous n’êtes pas certain de ce que vous faites, vous bloquerez des innocents, voire vos visiteurs habituels. Il suffit d’ajouter cette ligne :

Deny from 123.456.789

Mais globalement on peut utiliser une solution de liste contrôlée en bloquant par filtres une liste anti agents spammeurs vérifiée. L’intérêt est que vous pouvez agrandir cette liste vous-même avec le temps (une ou deux fois par an suffit, je ne parle pas d’ajouts réguliers).

Source : Perishable Press

13. Interdire par domaines de spammeurs

# Ultimate htaccess Blacklist 2 from Perishable Press
# Deny domain access to spammers and other scumbags
RewriteEngine on
RewriteBase /
RewriteCond  %{HTTP_USER_AGENT}  ADSARobot|ah-ha|almaden|aktuelles|Anarchie|amzn_assoc|ASPSeek|ASSORT|ATHENS|Atomz|attach|attache|autoemailspider|BackWeb|Bandit|BatchFTP|bdfetch|big.brother|BlackWidow|bmclient|Boston  Project|BravoBrian SpiderEngine MarcoPolo|Bot  mailto:craftbot@yahoo.com|Buddy|Bullseye|bumblebee|capture|CherryPicker|ChinaClaw|CICC|clipping|Collector|Copier|Crescent|Crescent  Internet  ToolPak|Custo|cyberalert|DA$|Deweb|diagem|Digger|Digimarc|DIIbot|DISCo|DISCo  Pump|DISCoFinder|Download Demon|Download  Wonder|Downloader|Drip|DSurf15a|DTS.Agent|EasyDL|eCatch|ecollector|efp@gmx.net|Email   Extractor|EirGrabber|email|EmailCollector|EmailSiphon|EmailWolf|Express  WebPictures|ExtractorPro|EyeNetIE|FavOrg|fastlwspider|Favorites  Sweeper|Fetch|FEZhead|FileHound|FlashGet  WebWasher|FlickBot|fluffy|FrontPage|GalaxyBot|Generic|Getleft|GetRight|GetSmart|GetWeb!|GetWebPage|gigabaz|Girafabot|Go!Zilla|Go!Zilla|Go-Ahead-Got-It|GornKer|gotit|Grabber|GrabNet|Grafula|Green   Research|grub-client|Harvest|hhjhj@yahoo|hloader|HMView|HomePageSearch|http  generic|HTTrack|httpdown|httrack|ia_archiver|IBM_Planetwide|Image  Stripper|Image Sucker|imagefetch|IncyWincy|Indy*Library|Indy  Library|informant|Ingelin|InterGET|Internet  Ninja|InternetLinkagent|Internet  Ninja|InternetSeer.com|Iria|Irvine|JBH*agent|JetCar|JOC|JOC Web  Spider|JustView|KWebGet|Lachesis|larbin|LeechFTP|LexiBot|lftp|libwww|likse|Link|Link*Sleuth|LINKS  ARoMATIZED|LinkWalker|LWP|lwp-trivial|Mag-Net|Magnet|Mac  Finder|Mag-Net|Mass Downloader|MCspider|Memo|Microsoft.URL|MIDown  tool|Mirror|Missigua Locator|Mister  PiX|MMMtoCrawl/UrlDispatcherLLL|^Mozilla$|Mozilla.*Indy|Mozilla.*NEWT|Mozilla*MSIECrawler|MS   FrontPage*|MSFrontPage|MSIECrawler|MSProxy|multithreaddb|nationaldirectory|Navroad|NearSite|NetAnts|NetCarta|NetMechanic|netprospector|NetResearchServer|NetSpider|Net  Vampire|NetZIP|NetZip  Downloader|NetZippy|NEWT|NICErsPRO|Ninja|NPBot|Octopus|Offline  Explorer|Offline  Navigator|OpaL|Openfind|OpenTextSiteCrawler|OrangeBot|PageGrabber|Papa  Foto|PackRat|pavuk|pcBrowser|PersonaPilot|Ping|PingALink|Pockey|Proxy|psbot|PSurf|puf|Pump|PushSite|QRVA|RealDownload|Reaper|Recorder|ReGet|replacer|RepoMonkey|Robozilla|Rover|RPT-HTTPClient|Rsync|Scooter|SearchExpress|searchhippo|searchterms.it|Second  Street  Research|Seeker|Shai|Siphon|sitecheck|sitecheck.internetseer.com|SiteSnagger|SlySearch|SmartDownload|snagger|Snake|SpaceBison|Spegla|SpiderBot|sproose|SqWorm|Stripper|Sucker|SuperBot|SuperHTTP|Surfbot|SurfWalker|Szukacz|tAkeOut|tarspider|Teleport   Pro|Templeton|TrueRobot|TV33_Mercator|UIowaCrawler|UtilMind|URLSpiderPro|URL_Spider_Pro|Vacuum|vagabondo|vayala|visibilitygap|VoidEYE|vspider|Web  Downloader|w3mir|Web Data Extractor|Web Image Collector|Web  Sucker|Wweb|WebAuto|WebBandit|web.by.mail|Webclipping|webcollage|webcollector|WebCopier|webcraft@bea|webdevil|webdownloader|Webdup|WebEMailExtrac|WebFetch|WebGo   IS|WebHook|Webinator|WebLeacher|WEBMASTERS|WebMiner|WebMirror|webmole|WebReaper|WebSauger|Website|Website  eXtractor|Website  Quester|WebSnake|Webster|WebStripper|websucker|webvac|webwalk|webweasel|WebWhacker|WebZIP|Wget|Whacker|whizbang|WhosTalking|Widow|WISEbot|WWWOFFLE|x-Tractor|^Xaldon  WebSpider|WUMPUS|Xenu|XGET|Zeus.*Webster|Zeus [NC]
RewriteRule ^.* - [F,L]

14. REQUÊTE SQL POUR OBTENIR UNE LISTE DES SPAMMEURS

Pour ajouter des IP à cette liste vous devez connaître les IP fautives. une requête SQL dans votre base de données vous les révèlera :

SELECT count( * ) AS cnt, `comment_author_IP` as cmnt_ip FROM ` ».$table_prefix. »comments` WHERE 1 GROUP BY cmnt_ip ORDER BY `cnt` DESC, `cmnt_ip` DESC « ;

Evidemment, ceci à condition que vous ne les ayez pas déjà effacés. Vous pouvez bien sûr aussi les copier-coller directement dans la liste de vos commentaires indésirables.

15. BLOQUER LES ROBOTS SPAMMEURS

#Bloquer robots de spams
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^ExtractorPro" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^Teleport" bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "^174.129.88.35" bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot
SetEnvIfNoCase  ^User-Agent$  .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures)  HTTP_SAFE_BADBOT
SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
Deny from env=HTTP_SAFE_BADBOT
SetEnvIfNoCase Via evil-spam-proxy spammer=yes
SetEnvIfNoCase Referer evil-spam-domain.com spammer=yes
SetEnvIfNoCase Referer evil-spam-keyword spammer=yes
SetEnvIfNoCase Via pinappleproxy spammer=yes
SetEnvIfNoCase Referer doobu.com spammer=yes
SetEnvIfNoCase Referer poker spammer=yes
SetEnvIfNoCase Referer pharmacylegal.info spammer=yes
SetEnvIfNoCase Referer 174.129.88.35 spammer=yes
deny from env=spammer

16. INTERDIRE LE VOL DE VOS CONTENUS DE VOS FILS RSS

Source : IP Delivery to Stop RSS Content Thieves

Seo Black Hat nous explique qu’il suffit de repérer l’adresse IP du voleur. Ensuite d’indiquer le flux que vous voulez voir s’afficher à la place du vôtre. Dans son cas il a simplement eu l’excellente idée d’indiquer le flux de son voleur, ce qui lui crée une boucle problématique tout en laissant votre blog désormais tranquille.

RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^69.16.226.12
RewriteRule ^(.*)$ http://newfeedurl.com/feed

(Modifiez newfeedurl.com/feed par l’adresse du sans-gêne, modifiez 69.16.226.12 par l’IP adéquate).

Pour trouver l’adresse IP à bloquer, si vous êtes en Windows regardez votre écran en bas à gauche allez dans le menu Démarrer, trouvez l’onglet Executer et collez ping nom-de-domaine-du-site.ltd. Exemple pour mon site tapez : ping lashon.fr

Ou encore utilisez un Traceroute. Ou avec l’extension Firefox ShowIP.

Mais, comme l’écrit Jeff Star de Perishable Press dans How to Deal with Content Scrapers , si ce ‘vol’ de contenu est fait sur un gros site très fréquenté, vaut mieux laisser faire puisque cela amène instantanément des centaines de backlinks, à condition que vos flux contiennent beaucoup de liens internes vers votre blog…

17. INTERDIRE L’AFFICHAGE DE VOS IMAGES AILLEURS

Un bout de code dans htaccess et vos images ne seront pas affichables via vos liens.

Le Hotlinking consiste en la très mauvaise habitude de coller l’adresse d’une image vue ailleurs pour l’afficher sur son blog, ce qui vole non seulement l’image mais aussi un peu de votre bande passante.

Voici le bout de code pour le contrôler. Choisissez une image de substitution qui s’affichera en lieu et place et uploadez-la à la racine de votre blog. N’oubliez pas d’indiquer votre nom de domaine à vous dans ces lignes:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
 RewriteCond %{HTTP_REFERER} !^http://(www.)?votre-nom-de-domain.com/.*$ [NC]
 #RewriteRule .(gif|jpg)$ - [F]
 RewriteRule .(gif|jpg)$ http://www.lang="apache[notools]">votre-nom-de-domain.com/image-substitution.jpg [R,L]

Interdire les requêtes qui ne sont pas vides ou ne proviennent pas de votre site sur les fichiers statiques

Pour aller plus loin, essayez de tout interdire en somme… Les fichiers statiques sont par exemple vos images, feuilles de style, scripts, pdf, sons, vidéos, etc. Attention, il se peut que ce code soit incompatible selon votre hébergeur et vos plugins en place. C’est une autre façon radicale d’interdire le hotlinking.

#Denies any request on static files
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
RewriteCond %{HTTP_REFERER} !^http://www.votredomaine.com.*$ [NC]
RewriteRule .(ico|pdf|flv|jpg|jpeg|mp3|mpg|mp4|mov|wav|wmv|png|gif|swf|css|js)$ - [F,NS,L]

Encore une fois, si vous haïssez l’idée de chipoter avec du code, utilisez un plugin : Hotlink Protection Plugin for WordPress

Une astuce courante supplémentaire est d’ajouter du texte sur cette image de substitution en indiquant le lien de votre blog. Le message sera ainsi parfaitement clair.

NOTE UTILE : avant d’uploader vos images, il convient d’en réduire le poids via smushit en ligne.

18. CACHER VOTRE EMAIL AUX ROBOTS

Voici plusieurs solutions, choisissez la vôtre:

1) Pour afficher dans vos thèmes WordPress c’est facile. Utilisez la fonction existante pour faire apparaître votre Email sans qu’il soit visible aux spams en utilisant (par exemple dans le footer.php) :

<?php bloginfo('admin_email'); ?>

2) Encryptez votre adresse mail avec le générateur de liens Cebermail. Vous entrez votre adresse, on vous donnera le lien crypté à afficher sur vos blogs. Le lecteur clique sur le lien proposé, ce qui ouvre son logiciel de messagerie pour écrire à votre adresse. Il doit aussi résoudre un captcha s’il veut voir l’adresse non cryptée.

Par exemple mon Email crypté est : http://cerbermail.com/?MEj2eD3KRR

3) Générez une image de votre mail à afficher chez DomainTools. Vous pouvez régler la police, couleur et taille. On vous proposera un bout de code mais le mieux est encore de télécharger l’image générée puis de l’uploader comme n’importe quelle image :

4) Utilisez un script en php

Par exemple chez Php Sources : Adresse e-mail/mailto anti-spam (utilisant Javascript)

5) Utilisez un javascript
Collez ce script dans votre header.php entre les balises HEAD:

<script type= »text/javascript »>
function openmail(a, b)
{
 window.open('mailto:' + a + '@' + b);
 }
 </script>

Puis collez votre lien comme suit. Exemple pour info@domaine.com :

<a onclick="»openmail('info'," href="»#">Envoyer un message au Webmaster</a>

Ces solutions cachent votre adresse mail aux robots tout en permettant à votre visiteur de cliquer sur celle-ci. Ce qui ouvre son logiciel de messagerie avec un nouveau mail où votre adresse est déjà insérée.

19. PROTÉGER L’INDEXATION DES PARTIES SENSIBLES DE VOTRE BLOG

Avec un simple fichier texte… Le très utile robots.txt à la racine de votre site peut aussi servir à masquer pour l’indexation les dossiers et pages vulnérables.

# All Bots
User-agent: *
Disallow: /wp-*
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.gz$
Disallow: /*.wmv$
Disallow: /*.swf$
Disallow: /*.cgi$
Disallow: /cgi-bin
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/
Disallow: /author/

De même vous pouvez empêcher l’indexation par des moteurs indésirables :

# Bing Picture Search
User-agent: psbot
Disallow: /
# Dugg Mirror
User-agent: duggmirror
Disallow: /

20. Modifier le préfixe wp_ par défaut

Si vous installez un nouveau WP, faites-le tout de suite. Le préfixe wp_ définit le nom de ses tables sur la base de données. Particulièrement important si on compte héberger plusieurs blogs sur une seule base. Dans le wp-config.php, remplacer :

$table_prefix  = 'wp_';

par un préfixe personnel qui ressemble à un mot de passe :

$table_prefix  = 'blogCIEL2Uir5846_';)

Si votre blog est déjà en ligne, vous pouvez aussi modifier ce préfixe.

– Soit avec un plugin comme WordPress Table Rename Plugin.

– Soit manuellement chez votre hébergeur, dans votre console mySQL ou PhpAdmin. C’est plus simple qu’il n’y paraît. Deux méthodes :

Soit en cliquant sur chaque table, via l’onglet Opérations :  il faut le faire table par table. Affichez votre base de données. Vous voyez à gauche les 11 tables WP (plus, si vous avez installés des plugins invasifs).

Cliquez sur une table (à gauche). Une fois ouverte, cliquez sur Opérations (en haut à droite). Vous verrez alors une option Changer le nom de la table pour. Changez seulement wp et laissez bien l’underscore (_). C’est tout, vous voyez apparaître à gauche le nouveau de votre table. Recommencez l’opération pour chacune d’entre elle.

Ou par des requêtes SQL via l’onglet Requête (ou SQL selon):

RENAME TABLE 'nom-base-données'.`wp_links` TO 'nom-base-données'.`votre-prefixe_links` ;
RENAME TABLE 'nom-base-données'.`wp_options` TO 'nom-base-données'.`votre-prefixe_options` ;
RENAME TABLE 'nom-base-données'.`wp_postmeta` TO 'nom-base-données'.`votre-prefixe_postmeta` ;
RENAME TABLE 'nom-base-données'.`wp_posts` TO 'nom-base-données'.`votre-prefixe_posts` ;
RENAME TABLE 'nom-base-données'.`wp_terms` TO 'nom-base-données'.`votre-prefixe_terms` ;
RENAME TABLE 'nom-base-données'.`wp_term_relationships` TO 'nom-base-données'.`votre-prefixe_term_relationships` ;
RENAME TABLE 'nom-base-données'.`wp_term_taxonomy` TO 'nom-base-données'.`votre-prefixe_term_taxonomy` ;
RENAME TABLE 'nom-base-données'.`wp_usermeta` TO 'nom-base-données'.`votre-prefixe_usermeta` ;
RENAME TABLE 'nom-base-données'.`wp_users` TO 'nom-base-données'.`votre-prefixe_users` ;

Attention, il faut effectuer une requête à la fois ! Ensuite, une fois vos tables renommées, il faut mettre à jour d’autres options :

– Changez la valeur wp_user_roles et wp_usermeta par votre-prefixe_user_roles et votre-prefixe_usermeta

– Changez wp_capabilities, wp_user_level, and wp_autosave_draft_ids par
votre-prefixe_capabilities, votre-prefixe_user_level, votre-prefixe_autosave_draft_ids.

Et éventuellement vérifier les métas :

UPDATE votre-prefixe_options SET option_name = REPLACE(option_name, 'wp_', 'votre-prefixe_');
UPDATE votre-prefixe_usermeta SET meta_key = REPLACE(meta_key, 'wp_', 'votre-prefixe_');

21. Autres ressources ailleurs

Des blogs vous proposent également de :

22. Victime de Hackers ? Quelques outils pour voir l’action

Si vous êtes la cible d’une sérieuse attaque virale, essayez de voir ce qui se passe. Vous pourriez avoir besoin de ces Extensions (Addon) pour Firefox :

  • User Agent Switcher (voir votre page avec un autre agent web)
  • VTzilla Firefox Plugin (la puissante extension de chez VirusTotal qui analyse les sites et fichiers avant leurs téléchargements)
  • Tamper Data (pour voir et modifier HTTP/HTTPS headers)
  • ShowIP (voir le IP de la page sur laquelle on surfe)
  • HackBar (Audit de securité et test de pénétration)
  • SQL Inject Me (Pour tester les vulnérabilités d’injection SQL)
  • BitDefender QuickScan (scanne et cherche les virus sur votre ordinateur)
  • Malware Search (recherche de malwares dans une sélection de texte)
  • Chez Assiste, une boîte à outils liens, conseils, logiciels antispam, antivirus et autres

+ A venir sur ce blog : un long tutoriel pour se sortir du pétrin lorsqu’on son WordPress est piraté, infecté ou vérolé.

23. Réglez la modération de vos commentaires

Dans votre tableau de bord, prenez le temps de lire et configurer les mode d’accès de vos commentaires. Les options sont claires. Vous pouvez décider ce que vous voulez ou presque. Ne les autoriser qu’aux membres ou en accès libre. Modération obligatoire par un administrateur ou modération seulement pour ceux qui n’ont encore jamais posté (modération du premier). Ces paramètres ont également une incidence sur le contrôle et la réduction des spams.

Ou désactiver totalement les commentaires. Cette dernière option vous permet de décider au cas par cas pour chaque article ou page. Lorsque vous créez ou modifiez une page, cochez la petite case ‘autoriser les commentaires’, ou l’inverse…

Configurer les commentaires sur votre blog

Modérez les commentaires dans votre tableau de bord. Onglet REGLAGES puis DISCUSSION (cliquez pour agrandir l'image)

Bonne lutte !

LIRE

Configurer votre wp-config.php avec plusieurs options

Configurer votre wp-config.php avec plusieurs options

Posted on 21 avril 2010 in Wordpress | 4 comments

choisir

Plein d'options, mais bien choisir.

Savez-vous que vous pouvez configurer bien des choses via wp-config.php ?

Toutes les options recensées. Vous pouvez paramétrer pour faire du multi-sites, garder les mêmes utilisateurs pour deux blogs, définir le nombre des révisions de post, la poubelle, le timing des sauvegardes de révision, le nom et l’endroit de votre dossier uploads, renommer le dossier wp-content, définir une connexion sécurisée (SSL), définir un autre paramétrage de caractères (l’arabe, l’hébreu, le chinois etc requièrent un autre format que UTF8), enlever des requêtes que vous n’utilisez pas, augmenter la mémoire de 32M à 128M, paramétrer les cookies.

Important: Au moment de remplir ou modifier avec un éditeur de texte, il faut le faire au format UTF8 sans Bom .
(détail ici)

Changer le nom du préfixe

Il définit le nom de ses tables sur la base de données. Particulièrement important si on compte héberger plusieurs blogs sur une seule base. Prévoir version 3.0 WP. Remplacer:

$table_prefix  = 'wp_';

par quelque chose qui vous est personnel :

$table_prefix  = 'monblog5846';)

Définir et insérer ses clés de sécurité

Générer vos clés là : http://codex.wordpress.org/Editing_wp-config.php

Copiez tout ça sur (en le remplaçant)

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

Options

Toutes sortes de possibilités, choisissez celles qui vous conviennent. A mettre avant :
/** C’est tout, ne touchez pas à ce qui suit ! Bon blogging ! */
/* That’s all, stop editing! Happy blogging. */

<? php

/* Fonction à n'utiliser que ponctuellement en cas de crash de votre base seulement, puis aller sur http://ici-coller-url-de-votre-site/wp-admin/maint/repair.php */
define('WP_ALLOW_REPAIR', true);

/* fonction ne pas garder ou faire des révisions des posts - sources: http://codex.wordpress.org/Revision_Management - http://www.css4design.com/blog/gerer-les-post-revisions-et-les-backup-sur-wordpress*/
define('WP_POST_REVISIONS', FALSE);

/* fonction ne pas garder plus de 1 revision des posts */
define('WP_POST_REVISIONS', 1);

/* Sauvegarde automatique, définir les périodes */
define('AUTOSAVE_INTERVAL', 3600); // Sauvegarde automatique toutes les heures

/** fonction vidage poubelle après 10 jours */
define( ‘EMPTY_TRASH_DAYS’, 10 );

/** enlever totalement la fonction poubelle */
define(’EMPTY_TRASH_DAYS’, 0);

/** Definition emplacement du dossier uploads. */
define('UPLOADS', 'wp-content/nom_de_votre_dossier_uploads');

/*Rename wp-content source: http://wordpress.org/support/topic/226128*/

define('WP_CONTENT_DIR', ABSPATH . 'test');    // wp-content Directory

define('WP_CONTENT_URL', 'http://example.com/test');    // wp-content URL

if ( !defined('WP_CONTENT_DIR') )

define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' ); // no trailing slash, full paths only - WP_CONTENT_URL is defined further down

if ( !defined('WP_CONTENT_URL') )

define( 'WP_CONTENT_URL', get_option('siteurl') . '/wp-content'); // full url - WP_CONTENT_DIR is defined further up

/* Secure access si le serveur le permet */
define ('FORCE_SSL_LOGIN', true);

/* Pour forcer le format propre des caractères en utf8*/
define('DB_CHARSET', 'utf8');

/*Augmenter la memoire pour utiliser WP - Will you get a white page as return, then it was too much and it goes back down to 32 MByte. Good luck. source: http://wpengineer.com/more-memory-for-wordpress-more-information-about-wordpress/ */

define('WP_MEMORY_LIMIT', '64M');
define('WP_MEMORY_LIMIT', '96M');
define('WP_MEMORY_LIMIT', '128M');

/* Pour mettre son site ailleurs qu'à la racine mais son index à la racine */

define('WP_SITEURL', 'http://www.domaine.com/blog');

define('WP_HOME', 'http://www.domaine.com');

/* ENLEVER LES REQUÊTES INUTILES - source: http://wpengineer.com/wordpress-header/*/

remove_action( 'wp_head', 'feed_links_extra', 3 ); // Display the links to the extra feeds such as category feeds

remove_action( 'wp_head', 'feed_links', 2 ); // Display the links to the general feeds: Post and Comment Feed

remove_action( 'wp_head', 'rsd_link' ); // Display the link to the Really Simple Discovery service endpoint, EditURI link

remove_action( 'wp_head', 'wlwmanifest_link' ); // Display the link to the Windows Live Writer manifest file.

remove_action( 'wp_head', 'index_rel_link' ); // index link

remove_action( 'wp_head', 'parent_post_rel_link', 10, 0 ); // prev link

remove_action( 'wp_head', 'start_post_rel_link', 10, 0 ); // start link

remove_action( 'wp_head', 'adjacent_posts_rel_link', 10, 0 ); // Display relational links for the posts adjacent to the current post.

remove_action( 'wp_head', 'wp_generator' ); // Display the XHTML generator that is generated on the wp_head hook, WP version

/* Si on veut deux tables sur la même base mais en gardant les mêmes utilisateurs, il faut ajouter dans le wp-config.php de la 2e installation (exemple préfixe wp2_) cette ligne  */

define('CUSTOM_USER_TABLE', 'wp_users');

/* Pour faire du multi-sites avec WordPress 3.0.*/
define ('WP_ALLOW_MULTISITE', true  ) ;
?>

Bon amusement!

Ressources utiles:

LIRE

Mise à jour vers WordPress 2.9 et 2.9.1

Mise à jour vers WordPress 2.9 et 2.9.1

Posted on 20 décembre 2009 in Wordpress | 3 comments

update or not update

Update or not update, that's the question

Lashon est passé en version WordPress 2.9 en une minute avec la fonction automatique. Aucun souci à signaler ni ajustement nécessaire (à toute fin utile mon hébergeur est 1and1).

Toutefois, pour les distraits, avant d’effectuer cette mise à jour, assurez vous que votre hébergeur est bien en php 5, celui-ci est indispensable à partir de la version wp 2.9. Sans quoi cette mise à jour vous causera des tonnes de problèmes.

Sommaire

Forcer votre hébergeur vers php5 (autre article)

Comment connaître la version php de votre hébergeur ? (autre article)

Rappel procédure mise à jour de WordPress

Nouveautés dans WP 2.9

Vidéo WP 2.9

Configurer wp-config

Choisir le nombre de mots affichés dans les extraits d’articles

Intégrer une vidéo plus vite

Publication différée des articles

WordPress, gestion des miniatures

Rappel procédure mise à jour de WordPress

1) Tout d’abord faire une sauvegarde de votre :

– dossier wp-content (via ftp)

– fichier wp-config.php (via ftp)

– base de données (soit via le plugin wp-db-backup soit via votre console mysql phpmyadmin de votre hébergeur)

– Contenu du blog (facultatif) : dans le tableau de bord de votre WordPress, allez dans l’onglet « Outils » puis choisissez la fonction « exporter ».

2) Désactivez vos extensions (plugins).

3) Vérifiez que votre hébergeur vous donne bien du php5. Au besoin forcez-le en paramétrant un .htaccess.

4) Mettre à jour.

Si votre hébergeur le permet, cliquez sur le lien de mise à jour automatique dans votre tableau de bord.

Si votre hébergeur ne permet pas les mises à jour automatiques (Free, Online, …):

Uploadez avec votre logiciel client ftp (Filezilla) le contenu de la nouvelle version en écrasant les anciens fichiers, SAUF le dossier wp-content et wp-config.php. Uploadez aussi le dossier « langages » du dossier wpcontent de le nouvelle version dans votre wpcontent actuel .

Puis visitez votre site à votre URL additionnée de /wp-admin/upgrade.php

5) Réactivez vos extensions. En cas de problème, désactivez tout et réactivez une à une pour trouver celle qui cause l’erreur ou le plantage. Ensuite attendez que son développeur ait fait la mise à jour de son plugin avant de l’utiliser.

Nouveautés de WordPress 2.9

Wordpress 2.9

Bonnes fêtes

Toute la communauté des utilisateurs et développeurs WordPress attendaient la version 2.9. Elle est là depuis quelques heures et se nomme Carmen (documentation officielle en anglais). Si vous êtes débutant, je vous suggère d’attendre quelques semaines avant de passer à 2.9, histoire d’attendre les corrections des bugs éventuels.

Vidéo de présentation 

Quelques points notables (parmi 500 modifications et corrections de bugs):

  • Un éditeur simple d’image
  • Une poubelle (restaurer et supprimer définitivement articles et pages)
  • Intégration directe de vidéos et fichiers audio par leur URL (sans plus devoir passer par un plugin ou un code)
  • Mise à jour de dix extensions (plugins) à la fois
  • Prise en charge de l’attribut rel=canonical pour éviter le phénomène du duplicate content (meilleur référencement)
  • Les commentaires des 2 thèmes livrés par défaut sont désormais valides XHTML
  • MySql 4.1.2 est dorénavant requis au lieu de 4.0 (important pour votre choix d’hébergeur)

Pour les développeurs de thèmes:

  • Mise à jour de l’éditeur TinyMCE vers 3.2.7
  • Capacité à gérer la publication automatique des vignettes de vos articles (images miniatures ou thumbnails)
  • Capacité d’ajout de métadatas (données informant de l’acte de publication dans les articles et commentaires)
  • L’adresse du dossier répertoire des thèmes (template_url) peut être changée
  • Capacité de réparation automatique de votre base de données
  • Capacité à personnalisation les CSS des articles
  • Capacité de filtrer la gestion des extraits

Ajouts au fichier wp-config.php

Ne pas permettre les révisions automatiques de vos articles ou en définir le nombre. Ne pas permettre la poubelle ou forcer son vidage selon délai.

Repérez la ligne

define ('WPLANG', 'fr_FR');

et ajoutez dessous les lignes qui vous intéressent :

/** fonction ne pas garder plus de 1 revision des posts */
define('WP_POST_REVISIONS', 1);
/** fonction désactiver toutes les revisions des posts */
define('WP_POST_REVISIONS', FALSE);
/** fonction vidage poubelle après 10 jours */
define( ‘EMPTY_TRASH_DAYS’, 10 );
/** enlever totalement la fonction poubelle */
define(’EMPTY_TRASH_DAYS’, 0);
/** C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

En cas de crash de votre base de données

Si rien ne fonctionne en visitant votre phpmyadmin, une petite nouveauté avec wordpress 2.9: la fonction réparation automatique de la votre base de données, à ne mettre dans wp-config qu’au moment d’un souci pour réparer ou optimiser.

define('WP_ALLOW_REPAIR', true);

Puis aller à l’adresse: http://ici-coller-url-de-votre-site/wp-admin/maint/repair.php

Du code à ajouter dans vos thèmes

Pour profiter pleinement de cette nouvelle version, on peut retoucher ses fichiers php avec quelques fonctions supplémentaires.

Filtrer les extraits (the_excerpt)

Par défaut l’extrait d’un article comptait un maximum de 55 mots. Vous pouvez ajuster à votre guise

Dans votre functions.php

function custom_excerpt_length($length) {
	return 150;
}
add_filter('excerpt_length', 'custom_excerpt_length');

Nouvelle gestion des miniatures à afficher aux côtés des extraits d’articles

De nombreux articles en parlent déjà (faites travailler vos moteurs de recherche). Voir aussi

Intégrer une vidéo

Il suffit de coller directement l’URL (l’adresse du lien) de la page. Tel quel. Ni embed, ni entourer ce lien vidéo de la fonction url de l’éditeur visuel.

Publication différée des articles

Il semble avoir un souci de ce côté. Il faudra attendre les corrections du bug, un trac est ouvert côté développeurs. En attendant, on peut utiliser la fonction « modification rapide » et publier manuellement si cela pose problème.

Update :  Tout fonctionne désormais. Il suffit d’indiquer la date et l’heure choisie et de publier.

Simple tag

Ce plugin pose problème avec 2.9. Il faudra attendre un update.

Update: Ayant mis à jour par son développeur, plus aucun problème avec ce petit bijou que je vous recommande.

Ressources:

That’s All Folks!

Update 22 déc 2009 : WordPress 2.9 comment faire face aux premiers bugs

LIRE