Próximo meetup:

Taller de personalización WP en CW15

El pasado sábado 6 de junio, estuve impartiendo un taller de 4 horas en la quinta edición de Congreso Web. Y en este post, os vengo a contar, resumidamente, esas 4 horas… para los que no pudisteis estar.

Cuando hablamos de WordPress, estamos hablando de uno de los CMS más utilizados en la actualidad, un 61% de páginas web que usan cualquier plataforma CMS están confeccionadas con este “programita”, el cual fue creado en 2003 por un señor llamado estadounidense llamado Matt Mullenweg.

Pero… ¿por qué es el más usado?

En primer lugar creo que comparar un CMS con otro, es una equivocación que estamos escuchando día tras día o simplemente leyendo en miles de artículos por internet. Cada CMS es para lo que es y cada uno de ellos tienen las funcionalidades destinadas, las cuales deben cumplir los objetivos por los que un día fueron creados, no podemos comparar un e-commerce como Magento o Prestashop con WordPress, son totalmente distintos y tampoco podemos comparar datos entre ambos, primero porque el número de tiendas online es menor al número de páginas corporativas. Ahora bien…

¿Qué puntos fuertes puede tener WordPress que hace que el usuario final se decante por él?

A nivel de usuario uno de los puntos fuertes es la sencillez en el backend, si algo bueno tiene este CMS es que no hace falta ser un ingeniero técnico informático para comprender el funcionamiento del mismo, además podemos personalizar nuestro backend como a nosotros se nos antoje mediante algunos plugins que más abajo pasaremos a nombrar.

¿Cuál es mi profile?

En mi caso para agilizar el proceso de instalación de un nuevo site tengo un profile ya creado, dicho de otro modo, tengo un paquete de plugins ya descargados, todos ellos compatibles para la versión 4.X de WordPress.

Los plugins que yo uso a la hora de crear un website son los siguientes:

  1. Visual Composer. Para mi este plugin es la joya de la corona, nos permite crear una página web desde cero sin necesidad de usar templates, tiene tal potencial que se integra perfectamente con otros módulos como son Contact form 7 o Woocommerce, además nos da el responsive de nuestra página web ya confeccionado. Resumiendo es el plugin perfecto para hacer una web corporativa sin necesidad de tocar CSS. El punto negativo es que es un plugin que no vamos a encontrar en el repositorio de WordPress ya que no es de libre descarga, lo podremos encontrar en Condencayon por un precio de $33.Dispone de dos versiones, una para WP 3.x y otra para 4.x.
  2. Contact form 7. Para mí un gestor de formularios muy sencillo de usar, se integra con Visual Composer ya que funciona mediante shortcodes, además permite alguna funcionalidad extra como por ejemplo redirigir a una página de gracias en la cual podríamos trackear toda la analítica correspondiente.
  3. Contact Form DB. Extensión para Contact form 7, este plugin guarda en BD todos los envíos realizados mediante Contact form 7, además tiene una funcionalidad que permite generar consultas sql y convertirlas a shortcodes para nosotros poder ver nuestros envíos en cualquier post página o widget.
  4. Cookie law info. Si quieres cumplir con la ley de cookies y no quieres llevarte una multa…, no te queda otra que instalar este módulo o bien programar algo mano. Es un plugin además bastante estético y configurable.
  5. Disable comments. Una de las pegas que tiene WordPress y que se hace raro que no tenga integrado ya en el core, es poder gestionar los comentarios a nivel de categorías, paginas, entradas o simplemente del website a nivel general. Este plugin permite habilitar o deshabilitar los comentarios de forma global en vez de ir página por página haciendo clic en la opción de deshabilitar comentarios.
  6. Easy WP SMTP. Más de una vez vamos a encontrarnos con proyectos que tengamos un formulario de contacto y que al hacer clic en “Enviar”, veamos que el formulario no nos llega, es muy posible que si no os llega el envío de correo, sea por vuestra configuración SMTP en el servidor. Este plugin permite gestionar nuestras salidas de email añadiendo un usuario, contraseña y un tipo de cifrado. Para saber si hemos configurado correctamente nuestro SMTP el propio plugin tiene un formulario de prueba de envíos.
  7. Frontend admin menu. Estupendo plugin de gestión. A pesar de que WordPress es muy sencillo de usar, tenemos que intentar dar a nuestros clientes un panel de administración lo más intuitivo posible. Frontend admin menu nos permite crear menús desde Apariencia > Menús y asignar un menú de administración por rol, además tiene opciones interesantes como habilitar/deshabiltar el menu nativo de WordPress dejando solo visible el que nosotros hemos creado o habilitar/deshabilitar el adminbar que tenemos visible en la parte superior para cada uno de los roles que previamente hemos creado.
  8. Google XML Sitemaps. A pesar de que WordPress SEO by Yoast tiene una opción de sitemap, creo que este plugin es mucho más completo y personalizable, ya que podemos gestionar los rangos de prioridad por cada sección de nuestro website.
  9. LayerSlider WP. Plugin para sliders, es muy flexible, es responsive y se integra también perfectamente con visual composer ya que trabaja con shortcodes. Este módulo no está disponible en el repositorio de plugins de WordPress, es de pago, $17 en Codecanyon, la verdad que por el precio merece la pena ya que no vamos a encontrar mejores plugins de sliders como este en el “mercado libre de WordPress”.
  10. Meta Box. Módulo para desarrolladores. Permite añadir al formulario de creación o edición de post, páginas…nuevos campos personalizables que el cliente rellenará y nosotros pintaremos en nuestro template posteriormente.
  11. Post Duplicator. Sencilla herramienta que permite duplicar post, páginas de forma rápida.
  12. Really Simple CAPTCHA. Extensión para Contact Form 7, como su nombre dice, permite añadir un CAPTCHA a nuestros formularios. Creo que es fundamental si no usamos algún módulo de spam para frenar a los “robots publicitarios”. También existen módulos para frenar el spam en comentarios como Akismet, en definitiva instalarlo no cuesta nada y os evitareis 100 correos al día hablando de la dichosa viagra J
  13. Redirection. Añade listados de redirecciones 301. Gracias Redirection no tenemos la típica necesidad de añadir las 301 en el archivo .htaccess o en el mismo apache.
  14. TinyMCE Advanced. Este plugin más bien…es de libre elección, no lo considero imprescindible pero sí que tengo la costumbre de dejar al usuario un editor mucho más personalizable del que WordPress nos ofrece, lo bueno de este plugins a diferencia del que usa WordPress, es que podemos personalizar los botones que debe visualizar el usuario, por lo tanto podemos dejar solo lo imprescindible, tal y como os comentaba antes…tenemos que hacer las cosas lo más fáciles posibles a nuestros clientes.
  15. User role editor. Muy recomendable y más si usáis el plugin ya mencionado Frontend admin menu, gracias a User role editor, podemos crear tantos roles como queramos y añadir los permisos o mejor dicho las capacidades que queramos a ese rol. Quizás esta funcionalidad penséis que debería estar ya integrada en el core de WordPress…yo opino lo mismo.
  16. WordPress SEO. WordPress SEO by Yoast, es un plugin de configuración SEO de nuestro website. Mucha gente conoce este plugin pero pocos son realmente los que saben sacar partido al mismo ya que lo más usado o conocido de este plugin sean los metas title, meta description, robots y poco más…WordPress SEO tiene muchas más ventajas, por ejemplo la posibilidad de generar un sitemap.xml como ya comentábamos antes, configuraciones de rutas amigables, integración con webmaster tools… Es uno de los plugins con más descargas de WordPress.
  17. WP Migrate DB. Fundamental para realizar migraciones de BD para distintos entornos. Una de las cosas que yo considero que son negativas de WordPress es que mete en algunas de las tablas de la base de datos, rutas absolutas y algunas incluso serializadas. Este plugins nos permitirá exportar una sql habiendo configurado previamente un replace de rutas y directorios de destino a origen. Esta sql nos servirá posteriormente para volcarla en el nuevo entorno.
  18. WPML Multilingual CMS. Indispensable para sitios multilenguaje. Lo bueno de este plugin es que se integra perfectamente con visual composer porque a diferencia de otros módulos de multilenguaje como qtranslate este crea un nodo por idioma, mientras que qtranslate es un único nodo. Tiene multitud de idiomas y es muy completo. La parte negativa es que es un plugin privado de pago, su precio es desde $29.

Para mi estos plugins son fundamentales, lógicamente habrá gente que tenga otros dependiendo de las necesidades que esta tenga. De momento no he hablado de Woocommerce ni de W3 total caché ya que como bien digo la instalación de los mismos depende de las características del proyecto que tengamos en nuestras manos, no obstante a continuación vamos a detallar un poco que es lo que hablamos sobre ambos módulos en nuestro taller de WP.

¿Qué es Woocommerce?

Woocommerce es un plugin desarrollado por Woothemes con el fin de ofrecer al cliente una pequeña tienda online fácil de gestionar. Como bien comentaba al principio del post cada CMS es para lo que es, si tenemos que montar una tienda online desde los pies a la cabeza, me decantaría por un Magento o un Prestashop, siempre dependiendo del volumen de ventas que vaya a tener mi página web. Ahora bien, si lo que queremos es una web comercial con una pequeña sección de venta, entonces sin duda pondría un Woocommerce. Mucha gente tiene en la cabeza la idea de que WordPress es para blogs, y están muy equivocados, quizás en 2003 cuando se fundó en un principio esa era la idea, pero poco a poco se ha ido convierto en un CMS para webs corporativas y ahora Automatic, empresa de WordPress está mirando más allá… ¿Por qué?, Automatic ha comprado Woocommerce a Woothemes, con esto Automatic nos da un toque de atención y nos da a entender de que algo gordo se prepará.

Lo bueno que tiene Woocommerce es que es fácil de configurar para el desarrollador ya que puedes hacer integraciones mediante hooks y muy fácil de usar para el usuario final.

Woocommerce cuenta con muchas extensiones adicionales, algunas de ellas son de pago y otras libres.

¿Qué es W3 Total Cache?

W3 Total Cache es el más conocido entre los plugins de WPO, sirve para agilizar nuestro site mediante técnicas de cacheos y compresiones de archivos. Con este plugin podemos cachear nuestro site desde un fichero hasta la BD. En el tiempo que llevo desarrollando con WordPress he instalado en muchos sites este plugin y en otros casos no lo he instalado, NO siempre tenemos que instalar plugins de WPO, todo depende por ejemplo de las características de nuestro servidor, debemos saber por una parte que la instalación masiva de plugins es negativa y puede afectar al rendimiento de nuestra página web, por lo tanto NO instalar plugins que son innecesarios.

En mi caso únicamente uso W3 Total Cache cuando lo veo conveniente y siempre lo dejo activo cuando he realizado las pruebas pertinentes de WPO en Pagespeed u otras herramientas como GTMetrix.

Alguna otra vez en vez de usar W3 Total Caché he usado otros plugins que también funcionan de maravilla para WPO como por ejemplo WP Super Cache que pertenece además pertenece Automatic.

Metiéndonos en las entrañas de WordPress… ¡NUESTRO PRIMER PLUGIN!

No nos podemos quedar estancados en instalar, activar y desinstalar plugins. Si trabajáis en una empresa estoy seguro que os vais a encontrar con peticiones de vuestros clientes las cuales no vais a encontrar solución en la red y por lo tanto no podréis tirar de plugins ya existentes, en este caso no nos quedará otra que sentarse, remangarse y empezar a teclear.

Como ejemplo en nuestro taller de WP, estuvimos viendo a nivel básico como empezar a programar un plugin desde cero.

Sobre todo en nuestro taller hicimos hincapié en la forma de programar que tenemos que adoptar. Muchas personas cuando tienen que hacer una modificación en un plugin o template, entran al archivo en cuestión y modifican a capón, esto es un GRAVE ERROR, primero porque no es la forma de desarrollar, WordPress usa hooks que permiten “sobrescribir” y segundo porque como actualicemos WordPress perderemos todo, por cierto…comentamos que mucho cuidado a las actualizaciones automáticas, WordPress en la versión 3.7 implementó las actualizaciones automáticas lo que para mí creo que es un grave error por su parte, si queremos desactivar esta opción, deberemos en cada instalación poner un DEFINE (WP_AUTO_UPDATE_CORE); en nuestro wp-config.php. Volviendo al tema de cómo desarrollar, lo mismo pasaría con el template, mucha gente realiza modificaciones en el template directamente y algunos en el functions.php del tema, yo personalmente crearía un plugin personalizado con todos los hooks necesarios, digamos que de alguna manera featurizaría mi desarrollo en un “paquete” para luego pasarlo a otro entorno sin problemas.

La verdad es que me encantaría poder ayudar a esa gente valiente que intenta aprender y comprender como funciona WordPress pero no os puedo enseñar mucho código por un post porque no entenderíais nada, como ya sabéis, todo es horas y horas frente a un monitor sudando la gota fría, por eso recomiendo ir por a poco empezando a desarrollar un módulo con un simple “Hola mundo”, os podréis en todo momento ayudar con la Codex de WordPress y de miles de guías de cómo hacerlo en Internet.
gustaría dar las gracias a todas aquellas personas que acudieron a mi taller de WordPress y darles ánimos en este nuevo camino.

A continuación os dejo la presentación del taller:

Publicado por

Alberto Pérez Dosaula

Web developer - #WordPress developer - Autor de algunos plugins para WordPress - PHP developer