Redirection url

Hello, monsieur l’admin …

Une petite récriture d’url serait certainement une bonne chose :

En effet, depuis le changement du forum, une url telle que ‘https://www.debian-fr.org/support-debian.html’ n’aboutit plus …
Il suffirait de la rediriger vers la nouvelle ‘https://www.debian-fr.org/c/support’ …

Merci d’avance.

1 J'aime

C’est mon boulot ce genre de conseils !

Effectivement, une redirection (301) des anciennes urls de catégories vers les nouvelles leur permettraient de retrouver la visibilité google qu’avaient ces catégories avec l’ancienne structure, en plus d’améliorer l’UX pour les gens qui avaient des raccourcis.
Un bon truc à faire, ça serait aussi de repérer dans les logs les erreurs 404, et de rediriger toutes les urls qui apparaissent vers des urls de la nouvelle structure (vers la nouvelle url du même fil de discussion, un fil de discussion similaire, ou une catégorie pertinente). Avec ça, le site récupèrerait tout le “jus” de référencement (la poussée vers les top positions de google apportée par les liens entrants) qu’il a perdu lors de la refonte.

Enfin je dis ça…

1 J'aime

Tu veux dire quoi par là ? qu’il n’y a que toi qui a le droit d’en discuter, ou d’aborder le sujet ?!
J’espère me tromper … :wink:

Après ce n 'est pas compliqué en effet … cela peut être long.

Étant donné que le serveur est nginx, ce qui est le plus difficile est que les redirections 301 soient le plus propre possible … en évitant un maximum les if …

mattotop nous dit juste que c’est son métier de donner des conseils pour améliorer le référencement de sites Web :wink:
N’y vois sûrement pas une intention de te reprocher d’avoir ouvert ce fil !

Dans le fond, il n’y a pas de soucis.
Mes questions ont justement pour propos de m’en assurer, c’est tout … parce que cela me parait un peu abrupt, ni plus ni moins.

Et, comme l’art de la discussion est justement tout un art, déjà “IRL”, alors là, c’est encore plus compliqué.

Comme j’ai écrit : "j’espère me tromper " :wink:
Et, je serais étonné que mattotop me “sarcle” juste pour le plaisir … d’être méchant, alors que le but, là, est d’améliorer - si je puis dire - les choses. :smiley:


[dans_la_cour_des_petits]
PS : @mattotop, et, rien que pour t’embêter … t’avais qu’à en parler … nanananèreeeee … hihihihihi
Je l’ai fait avant toi …
[/dans_la_cour_des_petits]

Ah non non, comme le supposait vv222, je me réjouissais de ce fil parlant d’un sujet pile poil dans mon domaine de compétences ! :wink:

Au passage, je viens de regarder un peu les basiques pour apparaitre dans google, et je m’aperçois qu’il n’y a un soucis important de redirection vers une forme canonique: le protocole http est bien redirigé vers https, on a déjà un doublon d’accés aux urls présentant le même contenu classique qui est traité, mais par contre, chaque page du forum est accessible sous au moins 3 formes: https://debian-fr.org/ (…), https://www.debian-fr.org/ (…), et https://forum.debian-fr.org/ (…).
En gros, chaque lien entrant est attribué distinctement à une seule des 3 formes d’url, ce qui met les 3 urls en concurrence avec leur part de lien, au lieu que la forme canonique choisie bénéficie de l’ensemble des liens existants pour se positionner.
Et c’est sans compter le fait que le crawler voit le même contenu en 3 exemplaires sur 3 urls différentes, et doit se demander si le forum n’essaye pas de le spammer.

Alors qu’en fait, c’est super simple à corriger dans le htaccess, mettons en choisissant la forme la plus courte comme canonique, ça donnerait:

RewriteEngine on # si ça n’a pas ete fait avant
RewriteCond %{HTTP_HOST} !^debian-fr.org$
RewriteRule ^(.*)$ http://debian-fr.org/$1 [QSA,L,R=301]

Et là, déjà, ça serait un gros changement en mieux.

Ahhh, enfin, il cause le @mattotop. :smiley:

Sauf que comme je le disais, apparemment le serveur est sous nginx … donc, oublie les redirections .htaccess :wink:
En plus, dans ta règle - à moins que je ne me trompe, tu rediriges tout sur le flux http, et non https.
Or, de ce que je comprend - vu de l’extérieur - il redirige “correctement” justement tout flux http vers https.

Mais je suis d’accord avec toi … le site ne devrait pas pointer sur les trois adresses …
il est IMPÉRATIF que deux des trois redirigent vers une et une seule même url !

server {
    server_name www.$domain;
    return 301 $scheme://$domain$request_uri;
}
server {
    server_name forum.$domain;
    return 301 $scheme://$domain$request_uri;
}

Et, je me demande s’il ne serait même pas possible de faire ca :

server {
    server_name (forum|www).$domain;
    return 301 $scheme://$domain$request_uri;
}

Puis la déclaration server concernant le site lui-même, dans laquelle il faut rediriger une à plusieurs redirections de type ‘location’ pour résoudre une ancienne url telle que décrite dans mon premier post …

Tes propositions ne traitent que le cas “forum” ou “www”. Si on veut un catchall, il faut un ! (NOT).
Mon traducteur htaccess -> nginx (http://winginx.com/en/htaccess) m’indique que ça s’écrit alors:

nginx configuration

location / {
if ($http_host !~ "^debian-fr\.org$"){
rewrite ^(.*)$ http://debian-fr.org/$1 redirect;
}
}

Mais je n’y connais rien à nginx, je dois dire, donc ça se teste.

C’est tout le problème des traducteurs …

Si ce n’est que cela, il suffit de, avant la declaration ‘server’ qui gère le site :

server {
    server_name *.$domain;
    return 301 $scheme://$domain$request_uri;
}

Sans parler que justement ta construction if, tu tombes pile-poil, dans les déclarations if == evil :wink:


Ce n’est pas pour rien que je préfère nginx à apache !
Beaucoup de traitement sont plus simples, voire plus propres.

Nginx, c’est comme l’ipv6, j’ai arrèté de mettre mes mains dans le cambouis avant que ça ne soit ne serais ce qu’une alternative viable à ce qui existait… :smile:

Bon, tu as fait une remarque à propos du couplage redir de sous domaine et redir de protocole, plus haut. De fait, tu perd environ 15% de poussée à chaque “hop” de redirection, donc il faut s’assurer que la redirection, par exemple, de http://forum.debian-fr.org/ se fasse en un seul hop vers https://debian-fr.org/ et pas en passant d’abord par http://debian-fr.org/ ni https://forum.debian-fr.org/ comme intermédiaire.

@mattotop

server {
    server_name *.$domain;
    return 301 https://$domain$request_uri;
}

:wink: