Moviendo WordPress a https

Aunque sea un tema menor, voy a dejar unos comentarios breves sobre lo que he tenido que hacer, nada del otro mundo.

1. Obviamente, contratar un certificado SSL. Para un dominio personal pequeño que sólo queremos encriptar sin wildcard ni grandes problemas, un COMODO por 5€ al año es suficiente. En mi caso el hosting compartido y el SSL es el mismo proveedor así que fue sencillo instalarlo. En cada hosting varía pero no es difícil.

2. Una vez hacemos la instalación del plugin a nivel hosting, debemos configurar el blog. Si vamos a Settings>General, podemos y debemos cambiar el WordPress address URL y el Site WordPress URL. (Si están en gris como en mi caso, es porque lo tenemos editado en el wp-config y ese es el archivo que debemos tratar).

3. Hacemos el cambio, borramos caché en el caso de que lo tengamos con caché. Muy raro será si no tenemos problemas con URLS tipo “este origen es https pero la fuente no”. Eso va a ser seguramente un tema de strings en base de datos apuntando al antiguo dominio (no https). Para tratar eso, viene perfecto ese php free. Lo subimos al hosting, configuramos y ponemos los string que queremos cambiar, ej: https://www.midominio.com por https://www.midominio.com

4. CDN: si tenemos CDNS encima de nuestra capa de caché, deberemos informar igualmente de que hemos movido el contenido a https. En mi caso, con CloudFlare viene un plugin que con la API KEY te deja configurar settings sin tener que ir a la propia web. En el caso que nos ocupa es la setting Automatic HTTPS Rewrites.

Por cierto, desde este mismo plugin podemos ver los stats tipo Google Analytics. Muy útil.

Y con esto, muy en líneas generales, ya hemos movido todo a HTTPS. Si tenemos una VPN + SSL en nuestro equipo la conexión y navegación ya tiene unos estándares de seguridad bastante correctos.

WordPress – No tienes autorizacion para acceder a esta pagina

Bonito problema. Actualizas tu blog, tan alegre y campechano, y cuando quieres loguearte para descubrir las maravillas que te depara la 2.7, zasca!, no puedes entrar. Esto le pasó a un colega hace poco, y por lo que se puede leer por Internet, tiene que ver (en algunos casos) con los plugins. Mi colega hizo la actualización con los plugins activados y aparte, no hizo backup (T_T)

Continue reading

WordPress en castellano

Hay un par de webs que se colaboran con la comunidad WordPress para las traducciones al español en las diferentes versiones.

Para la traducción hemos de descargar el fichero que nos ofrecen en estas webs para luego subir el fichero .mo a la carpeta languages, dentro de wp-includes. Sino tenemos la carpeta, la creamos. Luego editamos el wp-config.php en la variable WPLANG de modo que quede así:

define ('WPLANG','es_ES');

WordPress no muestra las categorias de links

Bueno, no es exactamente así el problema. Mejor explicado, WordPress introduce en la misma categoría de links los enlaces que creamos nuevos, auque los añadamos a otra categoría. Eso se debe seguramente a la función que utiliza nuestro tema.

get_links(-1, '<li>', '</li>', '', FALSE, 'name', FALSE, FALSE, -1, FALSE);

Get_links es ya una función vieja (deprecated) por lo que es mejor utilizar

wp_list_bookmarks();

El uso de la función tal y como viene sin valores, será útil en la mayoría de temas, y si no, sólo tenemos que personarlizarla. Para eso, lo mejor es ver la documentación de wordpress.

Actualizar WordPress desde Linux Shell

Cada vez me das pereza tener que utilizar el FTP para esto, así que lo dejo aquí anotado como siempre (one more time)

1. Hacemos backup de bd y directorio web


# mkdir /root/backup/092008
# mysqldump -uuser -ppassword NOMBRE_DE_BD >
/root/backup/092008/blog.sql
# tar -zcvf /root/backup/092008/backupweb.tar.gz /var/www/html/blog

2. Descargamos último wordpress


# cd /root
# wget http://wordpress.org/latest.zip
# unzip latest.zip

3. Sobreescrimos ficheros

# cd /var/www/html/blog
# cp -R -v --reply=yes /root/wordpress/* .
# rm -rf /root/wordpress

Por ahí circulan algunos scripts interesantes, pero de momento paso con esto 😛

Deshabilitar compresion Gzip

Puede que quieras utilizar el plugin WP-Cache, disponible para WordPress. La condición indispensable para poder instalarlo es deshabilitar la compresión gzip. Parece que en las últimas versiones de WP no aparece esa opción, al menos, yo no la encuentro :O

La solución es irnos directamente al MySQL y hacer una query para modificar el valor que tiene por defecto, que es el de activarlo.

Si utilizamos phpmyadmin, simplemente ejecutamos esto y cambiamos el valor con el botón de editar:

select * from wp_options where option_name="gzipcompression";

Para actualizarlo directamente

update wp_options set option_value=0 where option_name="gzipcompression";

Y listo, ya podemos utilizar WP-Cache.

WordPress – mostrar número de post

Pequeño apunte. Quería modificar el template que vengo utilizando en este blog, para que mostrase el número de post por categoría, en la sidebar de la derecha. El template usaba la función (ya en desuso) wp_list_cat, la he actualizado por una más moderna, la wp_list_categories. Entonces, le paso a la función el parámetro showcount=1, para que muestre el número de post totales por categoría.

<\?php wp_list_categories('orderby=name&show_count=1&title_li=');?\>

Pero al activarlo quedaba mal el tamplate, por temas de css. Menos mal que tengo a mi lado al ayatolá del CSS, el conde del código, el rey de los padding: el señor Eloi Poch! Que me echó un cable y ha quedado perfecto. Un crack en su trabajo.

WordPressing one more time…

WordPress XML error

Desde hacía varias semanas tenía un error en mi blog, relativo a la lectura del rss. Al parecer, había algo mal en la creación y lectura de los rss. En concreto, aparecía este error:

La instrucción de proceso XML no se encuentra al comienzo de una entidad externa

Buscando encontré mucha gente con el mismo problema. Todos hablaban o hacían mención al archivo functions.php o a los plugins del wordpress como la causa. En mi caso, el error estaba en el archivo functions.php, pero no el que está en la carpeta wp-includes, me refiero al functions.php que se encuentra dentro del theme del blog, wp-contents/theme/[nombre]/functions.php.

El problema era el espacio en medio de los dos trozos de código. Por una tontería así, fallaba el rss. Vivir para ver.