Un miglioramento a permalink_fu: permettere la modifica dei permalink e inviare redirect HTTP al volo
Un altro spin-off dal sito www.visitacsa.it: un miglioramento a permalink_fu che permette permalink dinamici. Lo so che è un ossimoro, perché i permalink dovrebbero essere… beh… permanenti! E siccome i motori di ricerca li indicizzano, non dovrebbero mai cambiare. Ma cosa succede quando pubblichi qualcosa, il tuo permalink viene generato con permalink_fu usando il titolo del tuo post, e dopo un paio di giorni vuoi cambiare il titolo, e anche il permalink sotto il quale il post è accessibile?
Seguendo la specifica, la tua applicazione dovrebbe inviare uno status HTTP 301 moved permanently quando si accede al vecchio permalink e fare redirect del client verso il nuovo Uniform Resource Locator. Questo è più o meno quello che fa la mia modifica a permalink_fu: ogni volta che gli attributi del tuo post vengono modificati, il permalink precedente e quello nuovo vengono salvati nel database, e puoi abilitare il tuo controller a generare redirect 302 moved temporarily quando necessario. In altre parole, controlla se l’URL richiesto è un vecchio permalink e reindirizza automagicamente il client verso quello nuovo.
Tutto avviene dietro le quinte, e il plugin ha anche dei comodi task rake per impostare il model Redirect e le migration associate. E puoi anche cambiarne il nome, ovviamente! :)
Il codice 302 è stato scelto perché lo status code 301 permanent ha effetti piuttosto dirompenti sui motori di ricerca, ma ulteriori discussioni sono benvenute.
Dai un’occhiata al mio repository su GitHub, leggi il README che contiene la documentazione delle funzionalità aggiunte, e guarda il codice!