Convertire sito multilingua in WordPress da qTranslate a WPML

wpml_logoCome molti programmatori che usano spesso WordPress per i propri lavori (personali, come questo blog, o commerciali), ho avuto necessità di creare e gestire più lingue all’interno dei siti. Tra i vari plugin nel web, i più usati sono generalmente QTranslate (gratuito) e WPML (a pagamento). Qtranslate è stata inizialmente la prima scelta, dovuta al fatto che gestisce bene i contenuti multilingua, ed è gratuito. Tuttavia, non si è rivelato affidabile per siti commerciali, in quanto spesso non viene aggiornato tempestivamente ad ogni nuova release di WordPress. Per questo motivo da circa 2 anni mi affido all’ottimo e potente WPML.

Cosa fare però dei siti creati in QTranslate? Ecco una guida veloce per effettuare il trasferimento da un plugin all’altro:

  1. Scaricare WPML dal sito ufficiale
  2. Scaricare il plugin qTranslate Importer: http://wordpress.org/plugins/qtranslate-to-wpml-export/ (al momento il plugin segnala compatibilità fino alla versione 3.6.1 di WordPress, io l’ho testato con la versione 3.8.2 e ha funzionato perfettamente Aggiornamento del 3/9/2014: il plugin è stato aggiornato alla versione 1.3 e ora anche il sito dichiara la compatibilità).
  3. Effettuare un backup completo del Database del vostro sito WordPress.
  4. Disattivare qTranslate
  5. Installare ed attivare WPML, senza configurarlo: il plugin di importazione si occuperà di farlo, con una procedura guidata.
  6. Installare il qTranslate Importer
  7. Avviare il qTranslate Importer e seguire le indicazioni passo-passo.

Al termine, sarà necessario molto probabilmente eseguire alcune modifiche al file .htaccess (vi verranno mostrate a schermo dall’importer)

Inoltre, consiglio di verificare ogni pagina del sito: purtroppo alcune non vengono ripulite completamente, e presentano tutte le lingue in una schermata unica. Un semplice (dipende dal sito) lavoro di copia & incolla sarà sufficiente per ripristinare le pagine mancanti, oppure si può ricorrere al plugin di traduzione delle stringhe di WPML (lo trovate nel vostro account WPML tra i download a disposizione).

La procedura descritta è stata provata e verificata su WordPress 3.8.2, qTranslate 2.5.39qTranslate Importer 1.2 e WPML 3.1.4.

Aggiornamento del 3/9/2014: testato funzionante (e migliorato!) su WordPress 3.9.2, qTranslate 2.5.39qTranslate Importer 1.3 e WPML 3.1.4.

[ITA-ENG] Aggiornare da PHP 5.3 a PHP 5.5 su Ubuntu 12.04 LTS con Plesk 11.5.x (provato su VPS Hosteurope)

php55

Dopo un paio di giornate di lavoro ho scritto questa guida passo-passo per aggiornare la versione di PHP 5.3 presente su server con distribuzione Ubuntu.
Lo dico sempre nei miei articoli: ci sono già numerose guide in rete, quando scrivo qualcosa è perché non sono state sufficienti a risolvere il mio problema, all cui soluzione sono arrivato provando e “mixando” molte di esse.

Nel mio caso ci occupiamo dei server VPS forniti da Hosteurope (uno dei più grandi provider europei), in particolare di quelli che montano Plesk e Ubuntu 12.04 LTS (che viene fornita con PHP 5.3). L’obbiettivo è installare PHP 5.5 mantenendo insieme anche PHP 5.3 (vedi KB di Parallels).

Passo 1) Aggiornate Plesk all’ultima versione (è richiesta almeno una 11.5.x). Potete farlo direttamente dal pannello di Plesk.

Passo 2) Collegatevi in SSH da terminale al vostro server. Utilizzate una cartella temporanea e scaricate la versione di PHP 5.5.11  dal sito ufficiale. Estraete in una cartella il contenuto di PHP.

Passo 3) Da riga di comando installate i seguenti pacchetti:

apt-get install libxml2-dev libssl-dev libbz2-dev libcurl3-dev libdb5.1-dev libjpeg-dev libpng-dev libXpm-dev libfreetype6-dev libt1-dev libgmp3-dev libc-client-dev libldap2-dev libmcrypt-dev libmhash-dev freetds-dev libz-dev libmysqlclient15-dev ncurses-dev libpcre3-dev unixODBC-dev postgresql-server-dev-9.1 libsqlite-dev libaspell-dev libreadline6-dev librecode-dev libsnmp-dev libtidy-dev libxslt-dev libt1-dev openssl-devel libicu-dev libpspell-dev

Passo 4) Dentro alla cartella di PHP lanciate la configurazione:

./configure --with-libdir=lib --cache-file=./config.cache --prefix=/usr/local/php-5.5.11 --with-config-file-path=/usr/local/php-5.5.11/etc --disable-debug --with-pic --disable-rpath --with-bz2 --with-curl --with-freetype-dir=/usr/local/php-5.5.11 --with-png-dir=/usr/local/php-5.5.11 --enable-gd-native-ttf --without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr/local/php-5.5.11 --with-openssl --with-pspell --with-pcre-regex --with-zlib --enable-exif --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --with-unixODBC=/usr --enable-shmop --enable-calendar --with-libxml-dir=/usr/local/php-5.5.11 --enable-pcntl --with-imap --with-imap-ssl --enable-mbstring --enable-mbregex --with-gd --enable-bcmath --with-xmlrpc --with-ldap --with-ldap-sasl --with-mysql=/usr --with-mysqli --with-snmp --enable-soap --with-xsl --enable-xmlreader --enable-xmlwriter --enable-pdo --with-pdo-mysql --with-pear=/usr/local/php-5.5.11/pear --with-mcrypt --without-pdo-sqlite --with-config-file-scan-dir=/usr/local/php-5.5.11/php.d --without-sqlite3 --enable-intl --with-xpm-dir=/usr --with-ldap=/usr

Passo 5) Lanciate i comandi:

make
make install

Passo 6) Terminata l’installazione, eseguite ancora i seguenti comandi:

cp -a /etc/php5/apache2/php.ini /usr/local/php-5.5.11/etc/php.ini
/usr/local/psa/bin/php_handler --add -displayname "5.5.11" -path /usr/local/php-5.5.11/bin/php-cgi -phpini /usr/local/php-5.5.11/etc/php.ini -type fastcgi -id "fastcgi-5.5.11"

Ora, entrando in Plesk all’interno dei Service Plans (piani di servizio) troverete nella scheda Hosting Parameters una linguetta con cui potete scegliere la versione di PHP da assegnare alle sottoscrizioni che utilizzano quel piano:

upgrade php 5.3 to 5.5 ubuntu plesk

English Version: upgrade from PHP 5.3 to PHP 5.5 on Ubuntu 12.04 LTS with Plesk 11.5.x (tested on Hosteurope VPS)

This is a quick guide to upgrade PHP from 5.3 to 5.5 on Ubuntu 12.04 LTS, based on experience done on a VPS server provided by Hosteurope with Plesk (see KB di Parallels).

Step 1) Upgrade Plesk to version 11.5.x (at least).

Step 2) Via terminal SSH get PHP 5.5.11  from the official site. Uncompress it.

Step 3) From shell install these packs:

apt-get install libxml2-dev libssl-dev libbz2-dev libcurl3-dev libdb5.1-dev libjpeg-dev libpng-dev libXpm-dev libfreetype6-dev libt1-dev libgmp3-dev libc-client-dev libldap2-dev libmcrypt-dev libmhash-dev freetds-dev libz-dev libmysqlclient15-dev ncurses-dev libpcre3-dev unixODBC-dev postgresql-server-dev-9.1 libsqlite-dev libaspell-dev libreadline6-dev librecode-dev libsnmp-dev libtidy-dev libxslt-dev libt1-dev openssl-devel libicu-dev libpspell-dev

Step 4) Inside PHP directory launch the command:

./configure --with-libdir=lib --cache-file=./config.cache --prefix=/usr/local/php-5.5.11 --with-config-file-path=/usr/local/php-5.5.11/etc --disable-debug --with-pic --disable-rpath --with-bz2 --with-curl --with-freetype-dir=/usr/local/php-5.5.11 --with-png-dir=/usr/local/php-5.5.11 --enable-gd-native-ttf --without-gdbm --with-gettext --with-gmp --with-iconv --with-jpeg-dir=/usr/local/php-5.5.11 --with-openssl --with-pspell --with-pcre-regex --with-zlib --enable-exif --enable-ftp --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-kerberos --with-unixODBC=/usr --enable-shmop --enable-calendar --with-libxml-dir=/usr/local/php-5.5.11 --enable-pcntl --with-imap --with-imap-ssl --enable-mbstring --enable-mbregex --with-gd --enable-bcmath --with-xmlrpc --with-ldap --with-ldap-sasl --with-mysql=/usr --with-mysqli --with-snmp --enable-soap --with-xsl --enable-xmlreader --enable-xmlwriter --enable-pdo --with-pdo-mysql --with-pear=/usr/local/php-5.5.11/pear --with-mcrypt --without-pdo-sqlite --with-config-file-scan-dir=/usr/local/php-5.5.11/php.d --without-sqlite3 --enable-intl --with-xpm-dir=/usr --with-ldap=/usr

Step 5) Now compile:

make
make install

Step 6) At the end (may took a long time) launch the commands:

cp -a /etc/php5/apache2/php.ini /usr/local/php-5.5.11/etc/php.ini
/usr/local/psa/bin/php_handler --add -displayname "5.5.11" -path /usr/local/php-5.5.11/bin/php-cgi -phpini /usr/local/php-5.5.11/etc/php.ini -type fastcgi -id "fastcgi-5.5.11"

And now, in Plesk, under Service Plans in the panel Hosting Parameters you can see a switch that allow you to choose the PHP version in use by subscriptions:

upgrade php 5.3 to 5.5 ubuntu plesk

 

Realizzare un banner di sfondo cliccabile

Si stanno diffondendo molto i banner di sfondo cliccabili. L’idea di base è avere un’immagine di sfondo che venga visualizzata all’esterno dei “contorni” del nostro sito, e che sia cliccabile.

Dopo aver consultato diverse guide, come sempre sono arrivato a una soluzione che è un mix di varie tecniche e tentativi. L’ho applicata a WordPress ma è valida su qualsiasi sito.

Supponiamo di avere 1000 pixel come larghezza del nostro sito, dovremo preparare un’immagine di sfondo più larga di quei 1000px, ad esempio 2000px, l’altezza è a piacere, ad esempio 1500px.
Lasciamo uno spazio di 100px (sempre modificabile a piacere) in alto, in modo che il banner sia visibile anche sui tablet (dove quasi sicuramente le bande laterali del banner verranno “tagliate” via).

Ecco un esempio di immagine “a ferro di cavallo”:

Banner di sfondo

vedete che viene lasciato vuoto lo spazio che verrà occupato dal sito.

Aggiungiamo nel body del codice html le seguenti righe:

<body>
<a id="skinlink" href="http://www.simonezanella.it" target="_blank"><span>&nbsp;</span></a>

e aggiungiamo al foglio di stile i seguenti parametri:

body {
margin:100px auto;
background:url('bannersfondo.jpg');
background-repeat: no-repeat;
background-position: center top;
background-attachment: scroll;
}
a#skinlink {
 position: absolute;
 top: 0;
 bottom: 0;
 left: 0;
 right: 0;
 display: block;
 z-index: 1;
}
#skinlink span {
 display: none;
}

dove al posto di bannersfondo.jpg dovete mettere il percorso alla vostra immagine di sfondo.

Ulteriore personalizzazione: se volete, potete rendere visibile lo sfondo solo in determinati giorni della settimana, basta racchiudere il codice in questo blocco condizionale:

<?
if ((date('w') == 0) OR (date('w') == 6))
{
?>
<a id="skinlink" href="http://www.simonezanella.it" target="_blank">
<span>&nbsp;</span></a>
<?
}
?>

dove date(‘w’) restituisce il numero di giorno della settimana corrente, ponendo 0 = Domenica e 6 = Sabato. Nell’esempio, il banner viene mostrato solo il sabato e la domenica.
Per evitare che il sito venga spostato di 100px di margine dall’alto negli altri giorni, si può lasciare nel foglio di stile generale le impostazioni “standard” per il body vostro sito, e aggiungere nell’header, dopo aver richiamato tutti i fogli di stile, il seguente codice:

<head>
...
<?
if ((date('w') == 0) OR (date('w') == 6))
{
?>
<style>
body {
margin:100px auto;
background:url('bannersfondo.jpg');
background-repeat: no-repeat;
background-position: center top;
background-attachment: scroll;
}
</style>
<?
}
?>
</head>

Questo sito utilizza cookie tecnici per il suo funzionamento. Cliccando su Accetta, scorrendo la pagina, navigando questo sito ne acconsenti l'uso e la tua scelta sarà memorizzata per 12 mesi. I contenuti presenti rappresentano l'opinione personale dell'autore, le guide e gli appunti sono da considerarsi indicativi e si declina ogni responsabilità derivante dall'applicazione delle indicazioni contenuti in essi. Maggiori informazioni sulla privacy e sui cookie (informativa estesa)

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi