Domanda

Quale pensi sia il modo migliore per creare URL SEO friendly (dinamicamente) in Rails?

È stato utile?

Soluzione

Sostituisci il to_param metodo nelle classi del modello in modo che l'ID numerico predefinito venga sostituito con una stringa significativa.Ad esempio, questa stessa domanda utilizza best-permalinking-for-rails nell'URL.

Ryan Bates ha una Railscast su questo argomento.

Altri suggerimenti

ActiveSupport ha un nuovo metodo in Rails per aiutare questo: String#parameterize.Il commit rilevante è Qui;l'esempio fornito nel messaggio di commit è "Donald E.Knuth".parameterize => "donald-e-knuth"

In combinazione con l'override to_param menzionato da John Topley, questo rende gli URL più amichevoli molto più semplici.

stringex di RSL è davvero fantastico, consideralo come se fosse fatto bene.

Utilizzo ampiamente to_param come suggerito da John Topley.

Ricordati di inserire indici in modo tale che qualunque cosa tu stia utilizzando in to_param sia rapidamente ricercabile, altrimenti ti ritroverai con una scansione completa della tabella ad ogni accesso.(Non un potenziatore delle prestazioni!)

Una soluzione rapida è inserire l'ID da qualche parte lì dentro, nel qual caso ActiveRecord ignorerà il resto come cruft e cercherà semplicemente l'ID.Questo è il motivo per cui vedi molti siti Rails con URL simili http://example.com/someController/123-a-half-readable-title .

Per maggiori dettagli su questa e altre osservazioni SEO dalla mia esperienza con Rails, potresti trovare questa pagina sul mio sito utile.

Per me friendly_id funziona bene, può anche generare slug, quindi non è necessario preoccuparsi degli URL duplicati, sono supportati anche gli ambiti.

Dai un'occhiata al plugin permalink_fu (estratto da Mephisto)...il repository Git lo è situato qui.

Ho creato un piccolo e semplice gioiello che semplifica l'override del metodo to_param.Può essere trovato Qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top