Liens internes en relatif ou en absolu ?

WRInaute accro
Je poste ici alors que ça ne concerne pas google, qui se débrouille très bien, mais tous les autres moteurs.

C'était bien connu que bing allait parfois explorer des url qu'il inventait quand on utilise des liens internes en relatif ( sans préciser à chaque fois http://www.example.com/nomdepage.html mais juste nomdepage.html ou ../nomdepage.html)

Maintenant je me rend compte que orangebot fait pareil et vient m'ajouter des choses entre www.example.com et nomdepage.html
Voici un exemple : http://www.example.com/OYPaZ/OMXRZ/SEO/balise-H1.html
La vraie url est la suivante : http://www.example.com/SEO/balise-H1.html

Faut-il donc toujours coder ses liens en absolu pour plaire à tous les bots ? Ou est-ce anecdotique et on peut toujours continuer à faire plus consis ?
 
WRInaute passionné
Si ça pose des problèmes à certains bots, tu as la réponse d'une certaine façon, non? ;-)

Que représentent quelques caractères de liens absolus par rapport au poids d'une image (non-optimisée de surcroît) dans une page? En revanche, tu peux utiliser la notation "//" plutôt que "http://" si tu penses changer de protocole un jour : ça évitera des changements ultérieurs au cas où.
 
Olivier Duffez (admin)
Membre du personnel
as-tu testé avec un outil qui crawle ton site, pour être certain que le pb ne vient pas du site ?
 
WRInaute accro
Sinon il y a la solution de combiner des url en relatif avec un base href, de manière à être sûr que le bot sache où se situe l'url à crawler vis à vis de la racine.
 
WRInaute accro
Après tout ce n'est pas mon problème. Le site est bien codé. C'est juste que bing et orange ce sont des crawlers de merde.

Le gogole bot ça lui arrive aussi d'inventer des urls quand elles se terminent par /
Il va par exemple chercher http://www.example.com/ma-page-wordpress-sans-extension/
et il cherche aussi à accéder à http://www.example.com/ma-page-wordpress-sans-extension

Mais si on met toujours l'extension qui va bien il n'y a pas de problème

Je milite en faveur de l'extension depuis toujours.
 
WRInaute discret
Pas mal cet argument en faveur de l’extension. Je n’y avais jamais songé et pensait que ça ne servait à rien d’ajouter un .html (par exemple) avec de l’URL rewriting.
 
WRInaute accro
Pour ceux qui utilisent <base href> je me suis tjs dit que c'était de la paresse :mrgreen:

Je préfère des URLs avec un trailing slash, ça me semble bien plus "future proof" que .php/.html
Attention au duplicate avec et sans trailing slash, c'est bien 2 URLs différentes.

Pour générer des URLs absolues sans hardcoder:
PHP:
<span class="syntaxdefault"></span><span class="syntaxkeyword"><?</span><span class="syntaxdefault">php<br />define</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'BASE_URL'</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxstring">'http://'&nbsp;</span><span class="syntaxkeyword">.&nbsp;</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'HTTP_HOST'</span><span class="syntaxkeyword">]&nbsp;.&nbsp;</span><span class="syntaxdefault">dirname</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'SCRIPT_NAME'</span><span class="syntaxkeyword">]));<br />&nbsp;</span><span class="syntaxdefault"></span>
 
WRInaute accro
oula... je suis perdu avec vos termes.

J'utilise le relatif quand je fais du html comme cela ça fonctionne aussi bien depuis mon disque dur, depuis ma clé usb ou depuis le serveur.

Pour le php c'est différent. Je travaille directement sur un serveur. Le / pour commencer une url je l'utilise beaucoup, ça évite de faire des liens directement vers le serveur de prod. Sinon j'utilise une variable $wwwroot où j'ai stocké l'url de la racine du site (donc le nom de domaine) et je fais donc des urls en absolu.

Base href je ne connais pas
 
Discussions similaires
Haut