Il testo di default “Disponibile su ordinazione” di WooCommerce confonde un po’ i clienti, non è immediatamente chiaro che l’articolo non è disponibile a magazzino e che deve quindi essere ordinato dal produttore.

Anche se nelle impostazioni non c’è nessuna opzione per cambiarlo, Woosnip ci offre una soluzione facile.

Basta aggiungere nel file functions.php del proprio tema:

function change_backorder_message( $text, $product ){
    if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
        $text = __( 'Disponibilità incerta - Questa frase la puoi cambiare come ti pare', 'your-textdomain' );
    }
    return $text;                                                                                                                                                                                                                                                              }                                                                                                                                                                                                                                                                              
add_filter( 'woocommerce_get_availability_text', 'change_backorder_message', 10, 2 );

Anni fa, avevo scritto una guida su dove trovare il dominio .it più economico. Adesso però è diventata obsoleta: Euweb pare che non accetti nuovi clienti, OVH ha aumentato senza motivo il costo dei domini .it (ma non degli altri, quindi non si spiega). Scrivo qui la nuova classifica.

Il dominio più economico di tutti in assoluto è sempre Tophost, a € 5,99, ma rimane la solita grossa limitazione di non poter cambiare i name server. Non è quindi compatibile con Cloudflare. Un gran peccato, non è nemmeno possibile impostare SSL. Quindi, come prima, rimangono perfetti solo per pagine “under construction” o “redirect”. In compenso, però, viene fornita una casella email.

Una new entry è GiDiNet, con i domini .it a € 6,70. La cosa bella è che all’aumentare del numero di domini registrati, diminuisce il costo di rinnovo.

Si parte da € 6,70 l’anno, se si fanno acquisti da 100 a 500 euro, il rinnovo viene scontato a € 6,35, se si spende più di 500 si scende a € 6,00, se si spende di più si scende fino a € 5,35.

GiDiNet offre però esclusivamente il servizio DNS, niente pagina di cortesia, niente redirect, niente casella email. Tutti i servizi devono essere forniti da voi. Volendo però è possibile anche aggiungere hosting, database e email. In particolare, anche se lo spazio a disposizione è poco la loro offerta hosting Windows Server 2016 ha prezzi molto aggressivi.

Infine, MisterDomain.eu non ha aumentato i prezzi, e il rinnovo rimane a € 6,99. Qui viene inclusa la pagina di cortesia e eventuale redirect.

Anni o mesi dopo la prima configurazione di un server è facile dimenticare per quali siti è stato richiesto un certificato SSL con Letsencrypt e quali no. Quando chiamiamo certbot alla fine ci fa l’elenco di tutti i siti configurati su Apache o Nginx, quindi a un colpo d’occhio non si vede subito quali sono.

Per avere quindi una lista dettagliata basta scrivere:

sudo certbot certificates

Tra pochi giorni c’è il “grande giorno”, migro la URL di un sito. Quindi è necessario creare tutte le regole di redirect, in modo che un visitatore vada sul nuovo indirizzo invece che il vecchio. Come fare però in modo veloce? Su Bloggersignal ho trovato uno snippet di codice php utilissimo.

Basta creare un file php nella directory del nostro sito Wordpress, dargli un nome a noi comodo (il classico pippo.php?) e inserire:

<?php

include "wp-load.php";

$posts = new WP_Query('post_type=any&posts_per_page=-1&post_status=publish');
$posts = $posts->posts;

header('Content-type:text/plain');
foreach($posts as $post) {
    switch ($post->post_type) {
        case 'revision':
        case 'nav_menu_item':
            break;
        case 'page':
            $permalink = get_page_link($post->ID);
            break;
        case 'post':
            $permalink = get_permalink($post->ID);
            break;
        case 'attachment':
            $permalink = get_attachment_link($post->ID);
            break;
        default:
            $permalink = get_post_permalink($post->ID);
            break;
    }
    echo "\n{$permalink}";
  //echo "\n{$post->post_type}\t{$permalink}\t{$post->post_title}";
}
?>

A questo punto andando su tuosito.it/pippo.php viene una lista completa di tutte le pagine dell’installazione di Wordpress!

Per esempio:

http://esempio.it/pagina1
http://esempio.it/pagina2
http://esempio.it/pagina3
http://esempio.it/pagina4

Poi dopo ho fatto una semplice sostituzione di testo, sostituire “http://esempio.it” con “Redirect 301 “ e quindi ho il file .htaccess quasi pronto per il trasferimento!

Ieri, dopo l’aumento dei prezzi che Mailgun effettuerà a fine maggio, ho migrato la gestione email del sito più grosso su Sendgrid. Dopo poche ore averlo configurato, torno sulla dashboard si sendgrid e vedo:

Reputazione: 75%

Huh? Ancora ho mandato pochissime email, com’è possibile? Vado a vedere i log e noto che ci sono spambot che abusano la funzionalità “condividi articolo via email” di Jetpack, su Wordpress!

In pratica, il plugin permette la condivisione dell’articolo via email, con un form fatto così:

Promozione San Valentino

ci sono tre caselle di testo, “tuo nome”, “email” e “email di amico”. Le email vengono inviate con il modello:

TUONOME (EMAIL) ti ha inviato questo articolo

il problema è che la casella di testo “tuo nome” accetta QUALSIASI CARATTERE!!! Quindi, gli spammer che fanno, inseriscono il loro messaggio, ci mettono un centinaio di “a capo”, e così inviano spam utilizzando i vostri server!

Per esempio lo spambot ha inserito come “suo nome”:

restrained dating.=0D=0ADating for vip persons. Webcam chat.=0D=0Ahttps:=
//phishing.link=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=0D=0A=
=0D=0A=0D=0A=0D=0A=0D=0A

0x0D 0x0A sarebbe un carattere di messa a capo.

È già stato aperto un bug report, ma non mi sembra che sia stato preso sul serio…