Justo ahora estoy metido en un follón dónde por no pensar bien la arquitectura de URL‘s de mis páginas web, ahora me toca hacer el cambio para tanto posts, como categorias y tags, y claro, con sus consecuentes redirecciones 301 para que los enlaces antiguos sigan funcionando y no se disparen los errores 404.
Migrando la versión de WP de la 2.4 a la 4.4
Por fin me he decidido a actualizar la versión de WordPress de este blog de la versión 2.4 a la 4.4.
La verdad es que tenía bastante miedo a hacerlo porque pensaba que iba a ser un follón, pero la verdad es que al final ha sido todo más fácil de lo que me pensaba, y eso que el hosting es un 1&1!! xD
Básicamente lo que he hecho ha sido:
- Descargar la versión nueva directamente desde el admin de WP.
- Hacer un zip de los ficheros en el servidor y un backup de la BD por si acaso.
- Restaurar la versión nueva de WP sobre mi carpeta del site de local que mantengo actualizada sobreescribiendo las 3 carpetas principales y los ficheros del raíz.
- Hacer un zip del nuevo contenido del site y subirlo por FTP y descomprimirlo en el servidor desde el gestor de archivos que me ofrece el hosting. (también se puede hacer directamente machacándolo todo por FTP pero si tienes la posibilidad esto es más rápido)
- Eliminar el directorio raíz del site entero y descomprimir el nuevo ZIP.
- Ir a la url “/wp-admin/upgrade.php”, y tal y como sugiere, actualizar la base de datos.
- Fin
Para mi sorpresa, todo está en su sitio, y aparentemente funcionando correctamente y estoy escribiendo esta entrada en el nuevo interfaz.
Menos mal! Una cosa menos!
A ver si ahora la actualización de la plantilla también es tan rápida…
Saludos!
Jerarquía de la ejecución de archivos en WordPress
Os dejamos un muy buen enlace de un post que habla sobre la jerarquía de la ejecución de archivos en WordPress:
http://wp.tutsplus.com/tutorials/the-wordpress-theme-files-execution-hierarchy/
Seguro que a todos los que metemos mano en el código de WP nos va a venir muy bien tenerla a mano.
Migración de wordpress a nuevo dominio y hosting
En esta ocasión vamos a explicar brevemente como se cambia de hosting y de dominio una web que tenemos en marcha con WordPress.
1. Compramos el hosting y el dominio.
Evidentemente lo primero es comprar el dominio y el hosting que deseemos. Una vez hecho esto con el proveedor que queramos, nos llegaran todos los datos que necesitamos por correo.
2. Base de datos
Desde el panel de control de nuestro hosting, creamos una base de datos que se llame igual que la anterior y ponemos el mismo usuario y password.
Hecho esto, exportamos la base de datos del hosting viejo mediante phpMyAdmin o cualquier otro gestor de base de datos a un fichero sql. (Con la opción de ‘completar los inserts’)
Abrimos el fichero con un editor (p.e. Notepad++) y hacemos el reemplazo de la cadena del dominio antiguo por el dominio nuevo. Por ejemplo: “subdominio.dominioviejo.com” o “www.dominioviejo.com” por “www.dominionuevo.com”.
Entonces, abrimos el gestor de base de datos del hosting nuevo e importamos el fichero en la base de datos que habíamos creado.
3. Archivos
Pasamos todos los archivos y carpetas del servidor antiguo al nuevo. Es interesante ver si podemos comprimir en zip antes de descargar y descomprimir después de subir al nuevo para ahorrar tiempo, o si el hosting viejo tiene algún tipo de ‘file manager’ que te permita ‘copiar’ archivos y carpetas en otro servidor por ftp directamente y te ahorras el bajar y subir por ftp.
4. Configuración
Por último, solo nos queda hacer los cambios que corresponda en el fichero “wp-config.php” del servidor nuevo.
En caso de haber hecho el paso 2 tal cual lo hemos dicho, solo tenemos que cambiar la línea “define(‘DB_HOST’, ‘#new.sql.server#’);” y poner la dirección del nuevo servidor de base de datos. En algunos casos es posible que no haya que modificarlo si pone ‘localhost’.
Si el nombre de la base de datos, o el usuario, o el password no es el mismo que el anterior, también tendremos que cambiar las líneas que indican su configuración.
Con esto ya debemos tener el wordpress funcionando en el nuevo dominio.
Ahora solo faltaría redirigir todo el tráfico del dominio antiguo al nuevo.
5. Redirección 301
Para hacerlo, la mejor formar es modificar el .htacces del dominio antiguo (vale la pena que guardéis una copia del de ese momento por si acaso) para que quede con el siguiente código:
# Redireccion 301 al nuevo dominio
<IfModule mod_rewrite.c>
RewriteEngine On
redirectMatch 301 ^(.*)$ http://www.nuevodominio.com$1
</IfModule>
Y ya está todo.
Podemos hacer la prueba de entrar en el dominio viejo, y ver cómo nos redirige al nuevo dominio, he incluso si vamos a una url concreta del dominio viejo, iremos a la url equivalente del dominio nuevo.
De esta forma, San Google nos debería respetar todo nuestro posicionamiento y no perderemos ni una sola visita. xD
Error plugin Contact Form 7 wordpress
Hasta ahora siempre había utilizado para hacer formularios en wordpress el plugin Contact Form 7. Es sencillo, útil y fácil de utilizar. Además, cuando empecé con wordpress tampoco había mucha cosa, no como ahora. Me imagino que habrán mejores soluciones, aunque la valoración que tiene es buena.
Pues bien, lo instalo, creo el formulario de contacto para este portal (me pide que instale el plugin Really Simple CAPTCHA para el captcha) y lo pongo en una página llamada Contacto (más arriba).
Hasta ahí todo bien. Pero al probarlo, se me queda la imagen de loading fija y no me muestra ningún tipo de aviso ni de error, ni de notice ni de message ok. Pero eso sí, el email lo recibo correctamente.
La solución a este bug es la siguiente:
– Entramos en la carpeta /wp-content/plugins/contact-form-7 y abrimos el fichero scripts.js
– Buscamos la línea
$('div.wpcf7 > form').ajaxForm({
Y la cambiamos por (añadimos el -form a la clase wpcf7)
$('div.wpcf7-form > form').ajaxForm({
– Hacemos lo mismo pero con
$('div.wpcf7 > form').each(function(i, n) {
Y la cambiamos por (añadimos el -form a la clase wpcf7)
$('div.wpcf7-form > form').each(function(i, n) {
Con esto ira la validación, el envió y la confirmación. Un error tonto que me hizo pensar que este plugin había dejado de ser tan sencillo, pero si solo es eso, no problem.
10 cosas sobre el desarrollo de plugins en wordpress
Todo aquel que quiera empezar a desarrollar un plugin para wordpress, debería leer este artículo de ‘smashing magazine’: Ten Things Every WordPress Plugin Developer Should Know.
A grandes rasgos, las 10 cosas que nos enseña son:
- Habilitar la depuración.
- Prefijar nuestras funciones.
- Crear tus propios ‘paths’ globales.
- Guardar la versión del plugin para futuras actualizaciones.
- Usar “dbDelta()” para crear o actualizar tablas.
- Conocer la diferencia entre include, include_once, require, y require_once.
- Usar bloginfo(‘wpurl’) envés de bloginfo(‘url’).
- Saber cómo y cuándo usar acciones y filtros.
- Añadir tu propia página de configuración o menú de administración.
- Crear un acceso directo a la página de configuración mediante ‘plugin_action_links’.
Teniendo en cuenta estos 10 mandamientos de la creación de plugins para wordpress, nos quedara un plugin impecable.