Forum: Rails France plugin pour SEO friendly URLs

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Alexis Perrier (Guest)
on 2010-01-16 17:38
(Received via mailing list)
Bonjour
Je cherche un plugin pour que les urls soient SEO compatible
exemple pour un article intitulé "bonjour paris"
/post/5
devient
/post/bonjour-paris

Il y a bien les plugins suivantque j'ai utilisé il y a longtemps
acts_as_friendly_param
permalink_fu

 je me demandai s'il existait quelque chose de plus récent.

Je pourrais développer le truc moi meme mais j'ai ... la flemme
merci de vos reponses
Alexis
Sébastien Gruhier (Guest)
on 2010-01-16 17:44
(Received via mailing list)
http://github.com/tkadom/friendly_id est parfait
En plus il est très configurable

Seb


Sébastien Gruhier

-----------------------------------------------------------------------
http://xilinus.com       Web Application Development, Consulting,
Training
http://maptimize.com     Markers fusion service for your online maps
http://mocksmtpapp.com   Smart and simple e-mail testing for new apps
                         and websites on Mac OS X
Bruno Michel (Guest)
on 2010-01-16 18:07
(Received via mailing list)
Sébastien Gruhier wrote:
> http://github.com/tkadom/friendly_id est parfait
> En plus il est très configurable
>
> Seb

Pour ma part, je recommande http://github.com/norman/friendly_id. Chose
marrante, ce plugin porte le même nom que celui proposé par Sébastien,
et j'aurais utilisé les mêmes termes pour décrire celui que je propose
(parfait et très configurable). Pourtant, il semblerait que ce soit deux
plugins différents.

Histoire de faire pencher la balance, je dirais juste que
http://github.com/norman/friendly_id a l'air mieux maintenu que
http://github.com/tkadom/friendly_id.

++
Bruno
Sébastien Gruhier (Guest)
on 2010-01-16 18:09
(Received via mailing list)
oui autant pour moi :)
Alexis Bernard (Guest)
on 2010-01-17 09:35
(Received via mailing list)
Je n'utilise pas de plugin pour une fonctionnalité qui tient en 3
lignes.

class Post < AR::Base
  def to_param
    "#{id}-#{title.parameterize}"
  end
end

Et c'est tout aucune autre modification de code à faire.

Le 16 janvier 2010 18:08, Sébastien Gruhier <sgruhier@gmail.com> a écrit
:
Alexis Perrier (Guest)
on 2010-01-17 11:49
(Received via mailing list)
Super, merci pour les friendly_id, je vais regarder
suis d'accord avec Alexis, ça tient en quelques lignes et un plugin
est un peu overkill

En fait il faut simplement
- une regex qui transforme le titre en permalink
- le permalink dans la base
- l'unicité du permalink
- et le to_param pour (suis pas familier avec to_param, je vais
regarder)

Merci en tout cas
Alexis
Emilien Taque (Guest)
on 2010-01-17 11:56
(Received via mailing list)
Avec la solution d'Alexis, l'unicité du permalink n'est pas
indispensable, vu que l'identifiant est toujours présent :
/posts/12-my-post-title

Ceci fonctionne car "12-my-post-title".to_i == 12

Ce qui semble important niveau SEO, c'est de rediriger si le permalink
n'est pas le bon (par exemple si le titre du post a été modifié). Il
faut alors faire :

redirect_to @post, :status => 301 if @post.to_param != params[:id]

--
Emilien
http://emilientaque.fr

2010/1/17 Alexis Perrier <alexis.perrier@gmail.com>:
Fabien Jakimowicz (Guest)
on 2010-01-17 22:01
(Received via mailing list)
2010/1/17 Emilien Taque <etaque@gmail.com>:
> redirect_to @post, :status => 301 if @post.to_param != params[:id]
>

Cela dépend : si le titre contient une toute nouvelle chose blindée
d'insultes en tout genre et que ce lien est posté un peu partout sur
des forums, cela crée une très mauvaise image. Je préfère afficher un
404 dans ce cas là et rediriger vers la page avec le title dans l'url
si il à été omis.
Emilien Taque (Guest)
on 2010-01-17 22:12
(Received via mailing list)
Si on veut avoir plus de contrôle sur le permalink, on peut avoir un
champ dédié dans le modèle, initialisé à la création et utilisé dans
le to_param :

before_create do |post|
  post.permalink = post.title.parameterize
end

def to_param
  "#{id}-#{permalink}"
end

--
Emilien
http://emilientaque.fr

2010/1/17 Fabien Jakimowicz <fabien@jakimowicz.com>:
Fabien Jakimowicz (Guest)
on 2010-01-17 22:16
(Received via mailing list)
2010/1/17 Emilien Taque <etaque@gmail.com>:
> end
>

Je parlais surtout au moment de récupérer la resource associée à l'id
/ title. Ne pas tester ou toujours rediriger sur la 'bonne' page en
cas d'erreur peut amener à des surprises ;)
Emilien Taque (Guest)
on 2010-01-17 22:45
(Received via mailing list)
D'où le contrôle sur la "bonne" page via le champ permalink, tu ferais
comment sinon ?

2010/1/17 Fabien Jakimowicz <fabien@jakimowicz.com>:
Alexis Perrier (Guest)
on 2010-01-18 09:46
(Received via mailing list)
Est ce que simplement catcher l'exception si le post n'a pas a été
trouvé
et rediriger vers l'index ne suffit pas ?
d'un point de vue SEO ?
Alexip
ook? ook! (Guest)
on 2010-01-18 15:35
(Received via mailing list)
Tu casses le workflow http en empêchant de remonter une 404. Ca peut se
discuter, mais de mon point de vue, ce n'est pas souhaitable.
Ensuite, on peut en effet imaginer un simple avertissement
(flash[:warning])
avec redirection sur la catégorie parente la plus proche sémantiquement
parlant.

2010/1/18 Alexis Perrier <alexis.perrier@gmail.com>
de Villamil Frédéric (Guest)
on 2010-01-18 16:39
(Received via mailing list)
Bonjour,

Puisqu'il s'agit de SEO... J'avais discuté du problème avec un
référenceur lors d'un projet précédent. Sa préconisation était de
rediriger systématiquement les 404 sur la home, avec un code de retour
301, afin de passer le jus des pages disparues (quand anciennes pages) à
la home.

Bonne soirée
Fred

Le 18 janv. 2010 à 15:34, ook? ook! a écrit :
This topic is locked and can not be replied to.