due chiacchiere

Una pagina d’errore perfetta

Nel gergo informatico, l’errore 404 è quello che un sito restituisce all’utente quando la pagina a cui si sta tentando di accedere non esiste più. La tradizione suggerisce, in questo contesto, di informare semplicemente l’utente dell’errore, e nulla più. Ma il poveretto che si trova davanti questo laconico messaggio, in genere ha seguito un collegamento da un altro sito oppure è arrivato tramite un motore di ricerca. E magari vorrebbe essere aiutato ad orientarti, e non essere “mollato” nel bel mezzo del nulla. Prendendo spunto da un articolo apparso tempo fa su A List Apart, La pagina d’errore perfetta, ecco come puoi fare la tua con WordPress.

Si può dare di più…

Non tutti sanno che quando si sviluppa un nuovo tema per WordPress, è possibile prevedere una pagina apposita, chiamata proprio 404.php, che verrà visualizzata nel caso in cui la pagina richiesta non esiste: né come articolo, né come pagina statica. Se il tema è modulare, ovvero prevede un tassello per il menu laterale, uno per i contenuti, uno per l’intestazione e così via, è possibile richiamarli tutti ponendo al posto della chiamata di funzione che visualizza il corpo dell’articolo, un testo esplicativo che dice cosa è successo.

Tentar non nuoce

Se provi ad esempio a digitare un percorso inesistente all’interno di questo sito (ad esempio l’articolo numero 5000), vedrai apparire non il solito laconico errore, ma qualcosa di più utile: alcune indicazioni che ti mettono a disposizione i collegamenti alle aree più importanti (il modulo di contatto, la pagina principale, la barra laterale) e ti spiegano come orientarti tra i contenuti. Come suggerisce l’articolo originale “non puntare il dito contro l’utente”, in fondo non è mica colpa sua (in genere). Invece è bene spiegargli cos’è andato storto, usando verbi condizionali come “potrebbe essere” oppure “possibilmente”: se è la sua prima visita sul blog, ne rimarrà positivamente colpito. D’altro canto non faresti lo stesso con il tuo amico che non trova il tuo campanello nella “citofoniera” (così si chiama?) del palazzo?

Commenti

  1. FN ha detto:

    Camu,
    Oltre ai validi suggerimenti io inserirei anche alcuni riferimenti a post che potrebbero essere validi ed interessanti:

    Se si arriva da un motore di ricerca, potrebbe essere nota la parola chiave cercata e quindi fornire dei post che la includono.
    Verificare che non sia stato aggiunto semplicemente un carattere di troppo nell’URL (una ù accentata, per esempio)

    Sarebbe possibile su WordPress?

  2. Piero_TM_R ha detto:

    Domanda da un milione di dollari, come attivo la pagina 404.php?
    Mi spiego, ho la pagina nel template, la modifico e tutto resta ok, ora vengono i dolori, cosa devo aggiungere al file .httaccess??? Non ho capito che sintassi usare. Se metto 404.php non capita nulla, se metto il percorso completo della pagina contenuta dentro la cartella del template non fa nulla lo stesso… Cosa sbaglio? :s

  3. camu ha detto:

    @Federico, grazie per i suggerimenti, credo esistano dei plugin che fanno quello che dici (in particolare per chi arriva da google) appena ho un attimo di tempo vedo di approfondire l’argomento. Riguardo alla URL, non è così facile 🙂 Ma vedrò di documentarmi anche su quello…
    @Piero, non mi è perfettamente chiara la domanda (e poi non ho il milione di dollari eh eh). Mi spiego meglio: il 404.php non va “attivato” ma è riconosciuto automaticamente, e richiamato da WordPress non appena si cerca di accedere una pagina che non esiste. Se a sua volta il 404.php non esiste, allora verrà mostrata la pagina d’errore classica. Cosa intendi per “se metto 404.php non capita nulla” o meglio: che pagina ti mostra WordPress se cerchi di accedere una URL che sai non esistere sul tuo sito? Sicuro che il template che usi non metta in campo altre strategie per “intercettare” il 404? 🙂

  4. Piero_TM_R ha detto:

    Allora, se immetto nella barra del browser una pagina che non esiste esce fuori:
    “Not Found

    The requested URL /fsfdasaer was not found on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
    Apache/2.2.10 (Unix) mod_ssl/2.2.10 OpenSSL/0.9.8b mod_bwlimited/1.4 Server at losfogo.netsons.org Port 80”

    Quindi non funziona il 404.php, nella cartella del template è presente la pagina 404.php, come faccio a verificare che WordPress la utilizzi in maniera corretta?

  5. Piero_TM_R ha detto:

    In parte ho capito, che devo scrivere nel mio .httaccess?
    Seconda domanda, perchè il testo che ho inserito io non viene fuori???? Mah!
    Grazie per la disponibilità! 🙂

  6. Piero_TM_R ha detto:

    Fatto, ho aggiunto al file httaccess il link alla pagina che mi hai segnalato e funziona! 🙂 Grazie mille, sempre un maestro! 😉

  7. camu ha detto:

    @Piero: prego 🙂 Sono contento che il trucchetto abbia funzionato…

Lascia un commento