Wordpress : dissimuler les chemins typés WP dans la source

milkiway

WRInaute accro
Bonjour,

J'utilise Wordpress sur quelques sites et je voudrais pouvoir "masquer" ce qui fait qu'on voit que c'est un Wordpress. J'ai bien sur prévu de placer un / des bons backlinks vers les sites officiels.

En fait, c'est surtout au niveau de la source que je voudrais le faire : je voudrais me passer de toutes les URL du type -http://www.monwp.com/wp-content/theme/simplex/images/ etc. pour avoir des chemins du type -http://www.monwp.com/images/

Existe t il un module ou des tutos pour ça ?

Merci
 

Alaindeloin

WRInaute passionné
Bcp de module permettent de réécrire automatiquement les url, All in One SEO Pack le permet et à d'autres atouts ;)
 

SpeedAirMan

WRInaute passionné
Alaindeloin a dit:
Bcp de module permettent de réécrire automatiquement les url, All in One SEO Pack le permet et à d'autres atouts ;)
ça répond pas du tout à la question je crois :p



@milkiway : tu peux faire ça "à la mano" (à la main pour ceux qui auraient pas compris..).
Faut bien comprendre comment WordPress fonctionne : il se base sur des templates / themes qui se trouvent dans un dossier /wp-content/theme/nom-du-theme/
La plupart du temps les images et les styles CSS s'y trouvent aussi.
Concernant les fichiers de theme en PHP, ce n'est pas nécessaire de les déplacer (personne ne saura qu'ils existent), mais les images et le fichier CSS tu peux les déplacer. Il faut ensuite que tu change les chemins d'accès (que ce soit dans les fichiers de theme en .php ou dans le CSS).

Autre chose : WordPress inclus des liens et des infos dans le header des pages qu'il génère. Tu peux retirer toutes ces infos assez facilement en ajoutant qq lignes dans ton fichier functions.php (fais une recherche sur le web : "remove_action wordpress", et tu trouveras).


Si tu n'as pas tout pigé, dis moi.
 

milkiway

WRInaute accro
Merci beaucoup pour ta réponse. Tu as bien compris ce que je voulais dire. Ma question n'était claire que pour quelqu'un qui connait le fonctionnement interne de WP, désolé.

J'ai bien sur pensé à faire tout ça à la main mais c'est comme qui dirait un peu long et pas super portable. Si un module permettait de faire ça, ce serait vachement plus simple :p
 

SpeedAirMan

WRInaute passionné
1. Tu écris ta procédure en faisant la manipulation, et une fois que tout est fait tu re-vérifie ta procédure et l'améliore si besoin (20 min max).
2. Tu reproduis cette procédure pas à pas sur chacun de tes sites (10 min par site).

C'est pas si long :-D


... et non, je ne connais pas de tels plugins. Je sais pas si ça serait faisable d'en écrire un (... faut voir), mais perso je ne laisserai pas ce genre de tâches à un script, sauf si c'est moi qui l'avait écrit.
 

milkiway

WRInaute accro
En fait, c'est surtout la partie mise à jour qui me pose problème car si ça saute à chaque fois.............
 

SpeedAirMan

WRInaute passionné
Tu parles de la mise à jour automatique de WordPress ?
Si tu procèdes comme j'ai indiqué, elle n'aura aucun impact sur tout ça. La solution que j'ai proposé intervient sur les thèmes, et les thèmes ne sont jamais touchés par les mises à jour (enfin, ça se discute ça, mais dans ton cas ça ne posera pas de problème si c'est un thème personnalisé).
 

Marie-Aude

WRInaute accro
Il est possible de définir un chemin d'accès différent pour les themes et les plugins dans le config.php
 

Lenacus

Nouveau WRInaute
Bonjour,

je me permet de vous rejoindre. J'ai trouvé une solution rapide et efficace pour cacher le répertoire du thème que vous utilisez. Cela demande 20 secondes (aller 30 si vous ne comprenez pas).

1er : Ouvrez le fichier header.php de votre thème
2ème : localisez la ligne
Code:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
3ème : Remplacez la part
Code:
<link rel="stylesheet" href="media/css/style.css" type="text/css" media="screen" />
4ème : Ouvrez le fichier .htaccess à la racine de votre site
5ème : Ajoutez la ligne
Code:
RewriteRule ^media/(.*)$  /votre-site/wp-content/themes/votre-thème/$1 [L]
(de préférence au dessus de la ligne
Code:
RewriteRule ^index\.php$ - [L]

Voilà c'est tout ce qu'il m'a fallu pour cacher mes thèmes. :wink:

Explication : Plutôt que le thème demande l'adresse complète du fichier (dans ce cas un fichier CSS), j'ai indiqué un répertoire non-existant du non de <media>. Évidemment, il existe réellement un sous-dossier <CSS> dans mon dossier du thème que je souhaite caché. Ensuite, et grâce aux règles de redirection, j'indique au serveur avec mon .htaccess que si un fichier demandé commençant du nom de <media>, alors il doit rediriger vers le répertoire réel; c.à.d </votre-site/wp-content/themes/votre-thème/>.

Il est important de signaler que cette manipulation est à modifier en fonction de vos besoins ! :lol: J'essayerais de trouver une manip' pour cacher le reste, mais ça ne parait pas aussi évident !
 

Marie-Aude

WRInaute accro
La solution qui a été donnée précédemment (modifier le fichier wp-config.php) est beaucoup plus simple, puisqu'elle tient en une seule ligne de code

define( 'WP_CONTENT_URL', 'http://example/monwpcontent');

"cacher" le répertoire du thème ne sert à rien, puisque les fichiers du type css, ou images, ou même javas peuvent toujours être accédés (sinon ils ne sont pas téléchargeables), et les fichiers php, par définition, ne peuvent pas être téléchargés. Alors ?

Non ? :D
(des fois il faut faire simple)
http://www.lumieredelune.com/encrelune/wp-config-php,2010,06

Maintenant, la signature est présente dans de nombreux fichiers, et pour être honnête, je n'ai pas besoin de savoir dans quels répertoires se trouvent les thèmes pour savoir que c'est un site wordpress.
Pensez un peu à des choses comme :
- la gestion automatique des noms des images à l'upload si vous utilisez les fonctions thumbnails
- les types de classes et d'id apparaissant dans la sidebar, et générées par les plugins eux mêmes
- la mention obligatoire sur la feuille de style, pour que WP reconnaisse un thème
... entre autres

Il faut passer énormément de temps à la fois sur le thème et sur les plugins pour faire disparaitre la "signature" wordpress.
Et même si vous la faites disparaitre, un simple test d'url non réécrites permettra de voir ce que c'est, car chaque CMS a son schéma d'urls "pas propres".
 

Lenacus

Nouveau WRInaute
Effectivement Marie-Aude, c'est une solution tout aussi efficace. Mais je pense qu'il est aussi sympa d'explorer d'autres pistes et comme je dev mes propres template, il n'y a pas de signature sauf... dans la feuille de style du thème ;-)
 

Marie-Aude

WRInaute accro
Lenacus a dit:
Effectivement Marie-Aude, c'est une solution tout aussi efficace. Mais je pense qu'il est aussi sympa d'explorer d'autres pistes et comme je dev mes propres template, il n'y a pas de signature sauf... dans la feuille de style du thème ;-)

Je suis d'accord pour "explorer les autres pistes", pour l'absence de signature autre je dirais "chiche" (tu peux me passer une url par mp ^^)
 

Lenacus

Nouveau WRInaute
ça marche ;-) Pour le moment, le projet est dev en local, mais je ne manquerais pas de te mp d'ici peu !
 

vincentime

Nouveau WRInaute
Bonjour,

J'ai tenté de changer le répertoire wp content en le renommant "contenu"

puis modifier wp-config en ajoutant à la fin ce code

define('WP_CONTENT_FOLDERNAME', 'contenu');
define('WP_CONTENT_DIR', ABSPATH . WP_CONTENT_FOLDERNAME );
define('WP_CONTENT_URL', 'http://exemple.com/'.WP_CONTENT_FOLDERNAME);
define('WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
define('WP_PLUGIN_URL', WP_CONTENT_URL.'/plugins');

Résultat, page blanche sur le site !!??
Merci pour votre aide
 

vincentime

Nouveau WRInaute
C'est plus simple effectivement, mais j'obtiens toujours une page blanche. ???
Est-ce compatible avec la derniére version de wordpress ? J'avoue que je suis un peu dans le brouillard

Si j'ajoute aprés avoir renommé le dossier wp content via FTP , la modification suivante du wp-config en derniere ligne?
: define ('WP_CONTENT_URL', 'http://example.com/contenu');
J'obtiens une page planche...

Si je renomme le dossier "contenu" en wp-content en laissant la modification dans le wp config, je retrouve mon site...
 

spout

WRInaute accro
Page blanche avec du PHP, c'est une erreur de code, et c'est les erreurs PHP qui ne sont pas affichées.
Essaie en mettant WP_DEBUG à true (ou ini_set('display_errors', 1);)

NB: concernant la dissimulation de WP, ne pas oublier les headers HTTP (X-Pingback:)
 

vincentime

Nouveau WRInaute
J'ai essayé WP_DEBUG à true (ou ini_set('display_errors', 1);)...toujours une page blanche. Merci pour ton aide en tout cas.
J'ai éssayé à nouveau la méthode de Marie Aude, repris le codex... Pas l'ombre d'une explication, malgré une procédure claire et détaillée, une install à neuf de wordpress 3.3.2. Faut-il chercher coté serveur ?

Je cherche encore une solution pour les appels à jquery via wp-includes et le méta generator (ca ne marche pas sur tous mes thémes°
 

Discussions similaires

Haut