route-chemin-illustration

Les nouvelles installations de WordPress à partir de la version 3.5 ne disposent plus de l’option permettant de définir manuellement le dossier de stockage des médias envoyés depuis l’éditeur et donc, l’URL des fichiers médias. Une telle option n’a pas disparue pour autant du CMS, ce tutoriel vous montrera comment faire pour la configurer à nouveau. Pour utilisateurs avertis uniquement.

Tout d’abord, sachez que seules les nouvelles installations sont concernées par ce changement dans l’interface. Autrement dit, mettre à jour vers WordPress 3.5 ne changera en rien l’écran ci-dessous.

Capture d'écran - Réglages des médias sous WordPress

Choix de l’emplacement des médias jusqu’à WordPress 3.4

Par défaut, WordPress stocke les médias dans le dossier /wp-content/uploads et opère un classement par date si vous le souhaitez – ce que je recommande.

Pour les nouvelles installations, connectez-vous sur votre serveur FTP à l’aide de votre client FTP favori. A la racine de votre installation WordPress, modifiez le fichier wp-config.php avec un éditeur de texte.

Pour définir l’emplacement de stockage dans le dossier /wp-content/medias, ajoutez cette ligne :

define( 'UPLOADS', 'wp-content/'.'medias' );

Au contraire, si vous comptez placez le dossier à la racine de votre serveur Web afin de bénéficier d’URL plus intéressantes d’un point de vue SEO (référencement Google), indiquez ceci :

define( 'UPLOADS', ''.'medias' );

Sauvegardez le fichier modifié puis envoyez un fichier dans votre bibliothèque de médias pour tester l’effectivité du changement. Il est possible que rencontriez des problèmes de droits. Dans ce cas, contactez votre hébergeur.

De prime abord, certains utilisateurs percevront ce changement comme une retour en arrière… en réalité, cette modification est largement justifiée (cf. WordPress trac). Un avis que je partage d’autant plus qu’une telle option peut casser un site en 2 secondes.

Crédits photo : mkrigsman

29 commentaires

  1. Merci pour le tuto. As-tu creusé la question pour faire la même chose mais pour cette fois-ci déplacer le répertoire d’uploads sur un sous-domaine ou un autre nom de domaine ?

  2. Tuto intéressant, certes.

    Toutefois, par rapport à d’autres CMS, je trouve la gestion des médias dans WordPress assez basique. L’utilisant pour faire essentiellement des sites de type « vitrine », je désactive la création de dossiers mensuels et j’aurais aimé une vraie « gestion » d’un dossier medias, soit de pouvoir créer des sous-dossier dans le dossier medias racine. Ainsi mes photos ou autres auraient pu être placées dans des sous-dossiers tels que entreprise, produits, site (par exemple pour medias servant à illustrer le site)

    1. Une vraie gestion au sens où tu l’entends, signifierait une plus grande complexité de gestion pour bon nombre d’utilisateurs – et des soucis de droits pour les hébergeurs.

      Par contre, c’est tout l’objectif des plugins de faire cela. Et même si je n’ai pas de nom en tête, il me semble avoir testé par le passé ce que tu cherches.

      Sinon, en manuel, ça se fait aussi…

  3. Enfin je vais enlever le fameux « wp-content » dans l’adresse de mes images.
    Plus de 50% des images trouvées dans les serps de google images portent ce terme dans leur adresse.Une façon de dire, regarder je me sers de wordpress pour créer mon site .
    Merci pour le tuto

      1. Bonjour,

        J’ai un site wordpress et un sous domaine également en wordpress geré avec le multisite. J’ai un gros problème d’upload d’images, puis-je le régler avec cette méthode?
        Merci

  4. J’ajouterais ceci:
    Quand je copiais le code pour installer à la racine, ça installe à la racine du WordPress. Comme j’installe habituellement mes sites dans un répertoire et que je voulais que mon répertoire d’images soit à l’extérieur de ce répertoire, voici mon code:
    define( ‘UPLOADS’, ‘../’.'fichiers_contenu’ );
    Le ‘../’ indiquant qu’on doit remonter d’un répertoire dans le chemin.
    Merci pour m’avoir montré la voie, ceci dit

  5. Bonjour Adrien,
    Je me permets de vous contacter car j ai un petit souci.
    Je suis sous OVH et les dossiers upload n affichent que 5000 images. Bien que les autres soient dedans on ne les voit pas.
    Donc forcement le cache ne marche pas une horreur
    J aimerais savoir comment faire pour faire du dossier qui a 15 000 en faire 5 de 3 000 images mais que ca change les url aussi en base car je ne vais pas pouvoir me refaire tous les produits
    Auriez vous une idée ?

  6. Bonjour, je viens de changer le nom de mon répertoire wp-content via le plugin better wp security. Hors depuis, je n’ai que des erreur. Comment puis je revenir a mon wp-content ?

  7. Apparemment ça ne fonctionne pas chez moi. petit souci d’affichage. So comment faire lorsque les vignettes sont dans un dossier vignet et que le lien est du type : ../wp-content/uploads/vignet/vignet-travaux.jpg ???

  8. Bonsoir tout le monde,
    Juste pour poser une question en rapport avec cet article.
    Afin de rendre un site multi-langue(Français/Anglais) j’ai opté pour le mode multisite de WordPress. Mon souci actuel est la suivante : Les médias wordpress de chaque site sont stockés dans un dossier sous la forme  » wp-content/blogs.dir/#/Années/Mois ». J’ai alors fait des recherches pour essayer de trouver s’il existe un moyen pour faire en sorte que plusieurs sites partagent le même répertoire média. Les principales solutions proposées à savoir:
    - la méthode du « define(‘UPLOADS’,'NewPath’) » dont vous aviez parlez dans cet article et
    -la méthode du switch_to_blog(1) proposé par TheDeadMedic ici http://stackoverflow.com/questions/3202865/wordpress-3-multisite-with-same-medialibrary ne permettent pas vraiment un partage des médias entre les sites i.e qu’avec ces deux méthodes les médias supposés partager ne s’affichent que dans la bibliothèque média du site principal(suite à des test que j’ai réalisés).
    Je suis également tombé sur la discussion suivante : http://wordpress.org/support/topic/define-the-same-upload-folder-for-all-multisite-blogs dans laquelle « Ipstenu » disait que cela n’était pas encore possible(faire partager un dossier de média afin que plusieurs site l’utilise ) mais c’était cette discussion date de 2ans!

    Bref j’aimerais savoir s’il est possible ou s’il existe actuellement un moyen de résoudre ce problème.

    Merci

  9. Bonjour !
    Pouvez-vous me dire où se trouve l’emplacement des sites sous WP MU ? Car dans mon interface FTP je ne trouve pas le dossier correspondant au lien de mon site. (ex : sur un réseau basé sur example.com, avec un sous domaine

  10. Bonsoir Aurélien,
    Cette méthode s’applique-t-elle toujours à WordPress 3.7.1 ?
    Car dès l’installation de ce wordpress (je n’ai pas connu les anciennes), je n’ai jamais pu transférer un seul média.
    J’ai donc beaucoup cherché et suis tombé très rapidement sur ce tuto, en voulant changer le chemin et ainsi créer un nouveau dossier « médias ». A priori, je suis très bien tombé.
    Or, même en appliquant cette méthode, rien : que ce soit en transfert par l’intermédiaire de wordpess ou par mon client FTP.
    Merci par avance pour la réponse et merci pour tous les recherches et l’aide que vous m’apportez par le biais de ce site.

  11. Bonsoir à tous,

    même question que JulienL, est-ce que ça fonctionne sous WP 3.7.1 ?

    Et n’existe-t-il pas un plugin pour faire la même chose sans risque pour les utilisateurs « moyennement » avertis ?

    Merci de la réponse.

    1. Oui cette méthode est fonctionnelle. Toutefois, si vous ne parvenez pas à envoyer des fichiers il vous faudra vérifier les autorisations de lecture/écriture sur le dossier en question (CHMOD) via un client FTP.

      Contactez votre hébergeur pour en savoir plus sur ces restrictions.

      1. Aurélien, David et à tous,
        Lors de l’ouverture de mon compte 1and1, j’avais opté pour un hebérgement windows. Or, le problème venait de là et il fallait choisir un hébergement Linux, même si je n’utilise rien en Linux, au contraire.
        Je n’ai eu aucun changement pour l’administration via WordPress, mais il m’a permis de transférer mes médias sans aucune contrainte.
        Le basculement de compte s’est fait suite à un appel téléphonique, en patientant 6 heures environ.
        Si cela vous arrive, n’oubliez pas de sauvegarder vos données personnels transférée via le serveur FTP, car vous repartirez de 0.
        Le « problème » paraît connu chez 1&1, car la solution m’a été proposée sans attendre.
        Je peux maintenant modifier les droits d’accès depuis le client FTP, alors qu’avant je ne pouvait pas y accéder.

  12. Bonjour, J’ai la version 3.8.1 de WP, j’aimerais mettre mes images à la racine du site dans un dossier « images », je dois les mettre dans le dossier « www » ou bien plus haut ? Si je les mets dans « www » je dois écrire ça dans wp-config ? : define( ‘UPLOADS’, ‘www/’.'images’ )
    Merci

    1. Le domaine pointe sur le dossier /www donc vous n’avez pas à indiquer cela dans la define. Idem que tout ce qui est visible sur le Web se place dans ce dossier et nulle part ailleurs. Attention aux anciennes images qui pourraient se trouver dans le dossier par défaut.

      1. Merci j’ai donc écris define( ‘UPLOADS’,  ».’medias’ ); et j’ai crée un dossier « medias » dans mon www où j’ai mis des photos pour tester. Mais aucune ne s’affiche ! De plus, WP me décline l’image en 10 formats différents sur le serveur, alors que mes images sont déjà redimenssionées !

        1. WordPress génère 3 tailles par défaut (miniature, moyenne et large) et conserve la taille originale à partir de laquelle sont générées les miniatures. Le thème peut en ajouter d’autres ce qui semble être votre cas.

          Pour la define, il faudrait voir concrètement avec les accès car là je ne peux pas vous aider davantage.

    Laisser un commentaire