¿Quieres ayudar al desarrollo de WordPress?

Viernes, 10 de octubre de 2014 |

Comentarios desactivados

wordpress-logo

WordPress es un CMS hecho por la comunidad y para la comunidad y sin el apoyo de ellos mismo en estos momentos no seria el mejor CMS que habría en la actualidad, todos podemos ser parte de esta comunidad que le aporte al desarrollo de este CMS que nos ha ayudado muchas veces en el diario vivir.

Hay muchas formas de colaborar con el proyecto WordPress, el código fuente, haciendo prueba de errores en diferentes ambientes, creando parches, funciones, probar nuevas versiones, etc.

En este articulo te recomendaremos algunas formas con las cuales puedes colaborar para que WordPress siga siendo una de las mejores herramientas a nivel web.

Trac – core.trac.wordpress.org

Trac es un software de código abierto el cual utiliza WordPress para la gestión de todo tipo de errores, mediante la generación de tickets puedes informar acerca de cualquier error que hallas encontrado, problemas de seguridad, una mala actualización, también puedes gestionar sugerencias para las próximas versiones del CMS. De esta manera la comunidad que esta detrás de todo WordPress podrá analizar cada una de nuestras opiniones y darles solución lo antes posible.

Trabajar con el núcleo de WordPress

Ya que WordPress esta creado por la comunidad cualquiera puede colaborar con la base del código, con esto no quiero decir que cualquiera puede modificar directamente la base de todo el código fuente, para poder hacer estos cambios es necesario crear un archivo de parche con los respectivos cambios y enviarlo a su revisión. Si estos cambios son aceptados seguramente estará en la próxima versión de WordPress.

Para colaborar con cambios de código y demás es necesario utilizar Subversion.

Publicación de Plugins y Temas

Para hacer la publicación de algunos de estos dos lo mas indicado es enviarlos al directorio de plugins y temas que incorpora WordPress en su página, a continuación están los link donde se pueden remitir, en ellos mismos están las indicaciones de cómo poder hacerlo, solo basta con tener una cuenta creada en wordpress.org.

Plugins: wordpress.org/plugins/add/

Temas: wordpress.org/themes/upload/

Crear la próxima documentación

codex.wordpress.org/Mailing_Lists#Documentation

Crear documentación es un poco tedioso y hasta aburrido pero es algo que todos necesitamos en algún momento con el fin de solucionar problemas, una buena forma de colaborar con la comunidad es actualizando y creando la documentación para las próximas versión de WordPress, si bien es cierto que en nuestro Codex todavía encontramos documentación desactualizada de versiones muy anteriores a la real y se hace necesario que alguien haga esta tarea sobre todo para los nuevos usuarios que van hacer parte de WordPress.

Foro de asistencia - es.forums.wordpress.org

Otra forma de ayudar y no solo a la comunidad que desarrolla WordPress si no también a las personas que comienzan en este mundo es colaborando y dando repuestas a los diferentes temas que se crean diariamente en el foro de asistencia, acá les comparto el foro de español pero en cada idioma hay uno diferente.

Chat para WordPress – webchat.freenode.net

Si lo que deseas es un poco mas de agilidad al momento de buscar soluciones, WordPress también cuenta con salas de chat muy activas, para participar solo es necesario que tengas en tu PC un cliente IRC.

La sala principal de WordPress es #wordpress, también esta la sala dedicada al desarrollo #wordpress-dev y así como estas puedes consultar las demás.

WordPress ideas - wordpress.org/ideas

En las sección de ideas de WordPress, se recopilan propuestas para las próximas versiones, aquí puede votar por las que mas llamen su atención y crea convenientes para una próxima versión, todas estas ideas se revisan antes de comenzar con el desarrollo de una nueva versión para evaluar su implementación en WordPress.

Estas son las principales formas de ayudar a la evolución de WordPress, si conoces otras que también ayuden, puedes comentarlas en nuestra sección de comentarios.

Ver artículo completo...

Participa en el 1er Estudio de uso de WordPress en España

Viernes, 10 de octubre de 2014 |

Comentarios desactivados

uso-de-wordpress-en-la-web

La otra noche estaba sin sueño y se me ocurrió que hay muchos estudios sobre uso de redes sociales y demás pero nada ni medianamente serio sobre uso de WordPress así que me puse manos a la obra.

La idea es un estudio lo más exhaustivo posible, con un amplio muestreo, para analizar la difusión y uso de WordPress en España, con el objetivo de analizar los resultados y que los mismos sirvan de información de reflexión tanto para profesionales como empresas, y de paso difundir al máximo el uso de WordPress en medios tradicionales, a los que suelen gustar este tipo de estudios estadísticos.

Para ello he elaborado una encuesta anónima en la que se hacen, además de preguntas muy concretas sobre uso de WordPress, otras de control y algunas de espectro estadístico. En cualquier caso no lleva ni 5 minutos completarla, así que te animo a participar.

Si lo deseas, al final del formulario hay una casilla por si quieres recibir el informe cuando esté realizado. Por supuesto, publicaré aquí los resultados y el informe completo cuando esté completado.

Espero que te guste la idea, y sino pues también me alegro. Eso sí, si te gusta la idea difúndela lo máximo posible entre tus contactos ¡gracias!

Aquí te dejo el formulario para que no tengas ni que salir del blog para empezar a completarlo … o si lo prefieres este es en enlace oficial: Estudio de uso de WordPress en España 2014

Artículo escrito por Fernando Tellado

Enredado en UPyD, creador de Semanticae y culpable de Ayuda WordPress, político, docente y bloguero, entre otras cosas.

Ver artículo completo...

Estudio de uso de WordPress en España 2014

Jueves, 9 de octubre de 2014 |

Comentarios desactivados

estudio uso wordpress españa 2014

La otra noche estaba sin sueño y se me ocurrió que hay muchos estudios sobre uso de redes sociales y demás pero nada ni medianamente serio sobre uso de WordPress así que me puse manos a la obra.

La idea es un estudio lo más exhaustivo posible, con un amplio muestreo, para analizar la difusión y uso de WordPress en España, con el objetivo de analizar los resultados y que los mismos sirvan de información de reflexión tanto para profesionales como empresas, y de paso difundir al máximo el uso de WordPress en medios tradicionales, a los que suelen gustar este tipo de estudios estadísticos.

Para ello he elaborado una encuesta anónima en la que se hacen, además de preguntas muy concretas sobre uso de WordPress, otras de control y algunas de espectro estadístico. En cualquier caso no lleva ni 5 minutos completarla, así que te animo a participar.

Si lo deseas, al final del formulario hay una casilla por si quieres recibir el informe cuando esté realizado. Por supuesto, publicaré aquí los resultados y el informe completo cuando esté completado.

Espero que te guste la idea, y sino pues también me alegro. Eso sí, si te gusta la idea difúndela lo máximo posible entre tus contactos ¡gracias!

Aquí te dejo el formulario para que no tengas ni que salir del blog para empezar a completarlo … o si lo prefieres este es en enlace oficial: Estudio de uso de WordPress en España 2014

Ver artículo completo...

WordPress 4.1 en marcha

Miércoles, 8 de octubre de 2014 |

Comentarios desactivados

desarrollo wordpress

No ha pasado casi ni un mes del lanzamiento de WordPress 4.0 y ya está en marcha el desarrollo de la próxima versión: WordPress 4.1 que previsiblemente verá la luz el 10 de diciembre de 2014. ¡Sí, este mismo año!

En las primeras reuniones de desarrollo de la que será la nueva versión mayor de WordPress ya se han empezado a apuntar los cambios más importantes que veremos en WordPress 4.1 así que apunta:

  • Mejoras en el editor de entradas para que, por ejemplo, en el modo pantalla completa se pueda acceder a alguna caja meta, además de cambios de distribución de botones y estéticos.
  • Mejoras en los menús desplegables de usuario y entradas, posiblemente mediante el uso de Select2, un script jQuery totalmente compatible con todos los navegadores y muy solvente.
  • Permitir la desconexión en las sesiones existentes desde la pantalla de perfil de usuario, para lo que ya está en  marcha un plugin.
  • Nueva interfaz para la instalación de temas y plugins, aún muy verde pero del que también hay ya una versión inicial de plugin.
  • Mejoras en la gestión de archivos multimedia desde dispositivos móviles, sobre todo solucionar problemas actuales con el scroll en la pantalla de la Librería multimedia.
  • Mejoras en las queries WP_Meta_QueryWP_Tax_Query, and WP_Date_Query.
  • Por supuesto, el nuevo tema Twenty Fifteen.
  • Y, lo mejor de todo, y de lo que ya hemos hablado hace poco, poder instalar nuevos idiomas después de la instalación.

Para mi, solo con la última mejora ya es más que suficiente, pero todo lo nuevo será bienvenido.

¿Que propondrías tu para WordPress 4.1?

Ver artículo completo...

Quitar el editor ampliado de WordPress 4.0

Martes, 7 de octubre de 2014 |

Comentarios desactivados

Una de las novedades de WordPress 4.0 que más controversia ha provocado ha sido el editor ampliado, muy interesante y práctico para unos, simplemente incómodo e inútil para otros.

La verdad es que la idea, a simple vista, es buena: que se unifiquen el scroll de pantalla y el de la caja de edición, para que no pierdas nunca el foco de lo que estás escribiendo.

Pero hay gente a la que no le ha gustado ni un pelo esta novedad, pues les ha parecido incómodo y poco práctico, pues hay gente que prefiere redimensionarlo a su gusto, acceder a las cajas meta del editor sin tener que ir hasta el final del artículo y cosas así.

Afortunadamente cambiar de un modo a otro es más que sencillo, no tienes que modificar ningún código ni instalar plugin alguno, solo tienes que ir a las injustamente olvidadas “Opciones de pantalla” que tienes en la parte superior derecha del editor (sí, al lado del desplegable de Ayuda).

Una vez desplegadas las opciones verás que hay una nueva que no estaba antes de WordPress 4.0, denominada “Amplía el editor hasta la altura de la ventana“, marcada por defecto.

¿Qué no te gusta esta nueva funcionalidad del editor ampliado? pues la desactivas y ya está. Fácil ¿eh?

Editor ampliado WordPress 4.0 Sin editor ampliado
Ver artículo completo...

Ocultar que tu sitio está creado con WordPress

Lunes, 6 de octubre de 2014 |

Comentarios desactivados

ocultar wordpress

Hay múltiples razones por las que alguien quiera ocultar el hecho de que un sitio esté creado con WordPress, pero para mi la única es la seguridad, pues es tan popular que suele ser objetivo de los hackers, y nunca está de más ponérselo complicado.

Afortunadamente es relativamente sencillo ocultar el hecho de que un sitio está hecho con WordPress, así que vamos a ver algunos modos de conseguirlo, luego tú aplicas los que más te gusten o sirvan.

Eliminar la categoría de la URL

Una de las evidencias de que un sitio está hecho con WordPress es el /category/ en las URLs así que un paso para conseguir esa ocultación deseada sería eliminar la categoría de las URLs. Conseguirlo es tan sencillo como añadir la siguiente regla a tu fichero .htaccess:

RewriteRule ^category/(.+)$ http://tudominio.com/$1 [R=301,L]

Elimina cualquier referencia en el tema

Parece obvio, pero he visto más de un sitio en el que habían ocultado las carpetas o incluso la pantalla de acceso y luego en el tema se leía eso de “Powered by WordPress“, así que aunque parezca una tontería repasa sobre todo el pié de página (footer.php) de tu tema activo para eliminar cualquier referencia en este sentido.

Cambia la ubicación de la carpeta de subida de archivos

Otro elemento diferenciados de WordPress es que, por defecto, toda instalación subirá los archivos multimedia a la carpeta /uploads/ así que es un elemento a ocultar. Para cambiar la ubicación de la carpeta donde se suben los archivos en WordPress nada más fácil que añadas, antes de la línea require_once(ABSPATH.’wp-settings.php’); el siguiente código al fichero de configuración de WordPress (wp-config.php):

define('UPLOADS', 'wp-content/archivos');

Lo ideal es hacerlo en una instalación nueva, para que no haya nada en la carpeta por defecto, en caso contrario te tocará mover todo lo que haya en /uploads/ a /archivos/

Cambiar la ubicación de wp-content

Lo anterior, no obstante, es un apaño, pues lo ideal es cambiar completamente la ubicación de la carpeta /wp-content/. Con el siguiente código, añadido al archivo wp-config.php lo consigues en un instante:

define( 'WP_CONTENT_DIR', 'NUEVA RUTA A WP-CONTENT' );

Solo ten en cuenta el importante detalle de que la nueva ruta sea accesible vía web, así que lo mejor es crear una carpeta nueva, por ejemplo /files/ y la definas así.

También es importante, por supuesto, hacer esta modificación en una instalación nueva y comprobar que tus plugins son compatibles con esta posibilidad, que hay algunos que no funcionan en una ubicación distinta a la por defecto.

Cambiar la escritura de URLs

Una versión refinada de lo anterior sería, sin cambiar nada de su sitio, cambiar totalmente el rewrite de las URLs para que no haya ninguna referencia a /wp-content/ a /themes/ o a /plugins/.

Podemos crear una función como la siguiente:

/**
 * Reescritura de URLs
 *
 * Modifica el rewrite de:
 *  /wp-content/themes/nombredeltema/include/css/ a /include/css/
 *  /wp-content/themes/nombredeltema/include/js/ a /include/js/
 *  /wp-content/themes/nombredeltema/include/img/ a /include/img/
 *  /wp-content/plugins/ a /plugins/
 */
function nowp_add_rewrites($content) {
    global $wp_rewrite;
    $nowp_new_non_wp_rules = array(
        'assets/(.*)' => THEME_PATH . '/include/$1',
        'plugins/(.*)'   => RELATIVE_PLUGIN_PATH . '/$1'
    );
    $wp_rewrite->non_wp_rules = array_merge($wp_rewrite->non_wp_rules, $nowp_new_non_wp_rules);
    return $content;
}

function nowp_clean_urls($content) {
    if (strpos($content, RELATIVE_PLUGIN_PATH) > 0) {
        return str_replace('/' . RELATIVE_PLUGIN_PATH,  '/plugins', $content);
    } else {
        return str_replace('/' . THEME_PATH, '', $content);
    }
}

// No se hace rewrite en multisitio o temas hijo para no joderlo todo
if ( !is_multisite() && !is_child_theme() ) {
    add_action('generate_rewrite_rules', 'nowp_add_rewrites');
    if ( !is_admin() ) {
        $tags = array(
            'plugins_url',
            'bloginfo',
            'stylesheet_directory_uri',
            'template_directory_uri',
            'script_loader_src',
            'style_loader_src'
        );
        add_filters($tags, 'nowp_clean_urls');
    }
}

Fíjate que en este ejemplo se da por hecho que existe una carpeta /include/ en el tema, que debes cambiar a la adecuada de tu tema activo.

Cambiar la ubicación de wp-config.php

Además, también es buena idea cambiar la ubicación del mismo fichero de configuración, sobre todo por cuestiones de seguridad. En esta ocasión lo único que tienes que hacer es moverlo a la carpeta superior a la de la instalación de WordPress, por ejemplo, de /public_html/web/ a /public_html/.

Oculta las referencias a WordPress en la cabecera del tema

Todos los temas WordPress contienen una serie de referencias en su cabecera que fácilmente identificarán tu sitio como un WordPress. Conviene, por diversos motivos, eliminarlas, sobre todo ocultar la que muestra la versión de WordPress. Para ello podemos crear una función o plugin que elimine toda referencia a la hoja de estilos, versión de WordPress y demás elementos que lo “delatan”:

/**
 * Limpieza de wp_head()
 *
 * Elimina enlaces innecesarios
 * Elimina el CSS utilizado por el widget de comentarios recientes
 * Elimina el  CSS utilizado en las galerías
 * Elimina el cierre automático de etiquetas y cambia de ''s a "'s en rel_canonical()
 */
function nowp_head_cleanup() {
    // Eliminamos lo que sobra de la cabecera
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wp_generator');
    remove_action('wp_head', 'feed_links', 2);
    remove_action('wp_head', 'index_rel_link');
    remove_action('wp_head', 'wlwmanifest_link');
    remove_action('wp_head', 'feed_links_extra', 3);
    remove_action('wp_head', 'start_post_rel_link', 10, 0);
    remove_action('wp_head', 'parent_post_rel_link', 10, 0);
    remove_action('wp_head', 'adjacent_posts_rel_link', 10, 0);
    remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
    remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
    remove_action('wp_head', 'feed_links', 2);
    remove_action('wp_head', 'feed_links_extra', 3);

    global $wp_widget_factory;
    remove_action('wp_head', array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'], 'recent_comments_style'));

    if (!class_exists('WPSEO_Frontend')) {
        remove_action('wp_head', 'rel_canonical');
        add_action('wp_head', 'nowp_rel_canonical');
    }
}
function nowp_rel_canonical() {
    global $wp_the_query;

    if (!is_singular()) {
        return;
    }

    if (!$id = $wp_the_query->get_queried_object_id()) {
        return;
    }

    $link = get_permalink($id);
    echo "t<link rel="canonical" href="$link">n";
}
add_action('init', 'nowp_head_cleanup');


/**
 * Eliminamos la versión de WordPress
 */
add_filter('the_generator', '__return_false');


/**
 * Limpieza de los language_attributes() usados en la etiqueta <html>
 *
 * Cambia lang="es-ES" a lang="es"
 * Elimina dir="ltr"
 */
function nowp_language_attributes() {
    $attributes = array();
    $output = '';

    if (function_exists('is_rtl')) {
        if (is_rtl() == 'rtl') {
            $attributes[] = 'dir="rtl"';
        }
    }

    $lang = get_bloginfo('language');

    if ($lang && $lang !== 'es-ES') {
        $attributes[] = "lang="$lang"";
    } else {
        $attributes[] = 'lang="es"';
    }

    $output = implode(' ', $attributes);
    $output = apply_filters('nowp_language_attributes', $output);

    return $output;
}
add_filter('language_attributes', 'nowp_language_attributes');

Cambia las rutas de acceso y administración

De nada serviría todo lo anterior si cualquiera puede ver la ruta de acceso a la administración de tu WordPress ¿no?

Hay muchas maneras de limitar el acceso a la pantalla de registro/acceso y la administración, pero quizás el más cómodo es usar un plugin como HC Custom admin. Puedes personaliza fácilmente las nuevas URLs a tu gusto.

Impedir acceder a la administración de WordPress

Ahora bien, si lo prefieres, igual es mejor no complicarte la vida y, directamente, impedir que nadie acceda a la administración de WordPress, ofreciendo una página de error 404, mucho más convincente.

Si esta es tu elección simplemente añade el siguiente código a tu plugin de utilidades o al archivo functions.php:

//Redirigir de wp-admin a 404
add_action('login_form','redirect_wp_admin');

function redirect_wp_admin(){
$redirect_to = $_SERVER['REQUEST_URI'];

if(count($_REQUEST)> 0 && array_key_exists('redirect_to', $_REQUEST)){
$redirect_to = $_REQUEST['redirect_to'];
$check_wp_admin = stristr($redirect_to, 'wp-admin');
if($check_wp_admin){
wp_safe_redirect( '404.php' );
}
}
}

amar wordpress

Personalmente creo que es mejor no ocultar que tu sitio está creado con WordPress, sino mostrarlo con orgullo, pero teniendo en cuenta medidas básicas de seguridad para mantener seguro WordPress, pero tu mismo.

Si sabes algún truquito más nos lo cuentas en los comentarios.

Ver artículo completo...

Cómo WordPress utiliza MySQL

Viernes, 3 de octubre de 2014 |

Comentarios desactivados

base de datos wordpress

La base de datos de WordPress, y en definitiva MySQL, suele ser la última frontera para todo usuario avanzado, ese último recurso al que acudir cuando todo lo demás falla. Parece intimidante así que es mejor conocer bien la relación entre WordPress y MySQL.

Resumiendo, se puede decir que una instalación de WordPress se puede dividir en dos partes fundamentales:

  • Los plugins, funciones y el tema, que son lo que definen el aspecto y funcionamiento de la web creada con WordPress
  • La base de datos MySQL que almacena todo el contenido y hace que todo funcione

Pero comencemos por el principio …

¿Qué es MySQL?

mysql

MySQL es  un sistema de bases de datos realmente potente, pero este sistema de almacenamiento y funcionamiento de WordPress aúna robustez y ligereza. Una de las mejores cosas de WordPress es que es un CMS que utiliza todo el poder de la gestión de la base de datos pero oculta al usuario final. En realidad los usuarios, ni siquiera los diseñadores de WordPress, necesitan saber cómo funciona la base de datos. Sin embargo, si quieres comprender cómo funciona WordPress sigue leyendo.

Para empezar hay que explicar un poco qué es MySQL, y se puede describir fácilmente como un sistema de gestión de bases de datos relacionales, para que lo entiendas, como una especie de Microsoft Access o Filemaker para gestión de datos en aplicaciones web.

Otro modo simple de describirlo sería que es un contenedor diseñado para gestionar y ejecutar un Idioma de Peticiones Estructuradas, o Structured Query Language (SQL). SQL es, en definitiva, lo que crea la base de datos, controla la estructura y forma de la base de datos, además de grabar cualquier añadido, borrado o modificación del contenido de cada uno de los elementos de la base de datos.

¿Cómo funciona MySQL?

relaciones mysql wordpress

SQL se organiza en tablas de información. Algo parecido a una hoja de cálculo de Excel para que lo entiendas, con filas y columnas donde almacenar información con una estructura concreta. Sin embargo, al contrario que en Excel, las columnas (llamadas claves o campos) de una base de datos SQL están predefinidas y categorizadas con anterioridad.

La estructura concreta, las columnas de las tablas de WordPress se definen previamente, y no cambian aunque el sitio crezca a menos que un plugin o una actualización del núcleo la cambie. No solo se definen previamente las columnas sino también el tipo de columna, antes de almacenar nada en ellas. Elementos como los números (INT o integradores), cajas de texto (TEXT o VARCHAR) y otros (DATETIME para  almacenar fechas y horas) están predefinidos en la base de datos. Si WordPress, o un hacker, trata de añadir información a la base de datos en un patrón no preestablecido la base de datos no aceptará la inclusión de esas información o datos.

Otra importante característica de las bases de datos SQL es que sean relacionales.

Tanto las tablas SQL como las claves concretas de una tabla pueden relacionar otras claves y tablas. Esto permite a los usuarios crear bases de datos íntimamente relacionadas con otras, lo que implica una mejor organización y una mayor eficacia.

Pongamos, por ejemplo, que quieres crear una base de datos de tuits para revisarlos en un futuro. Podrías crear una tabla que contenga información sobre tuits concretos que hayas guardado, como el contenido de los tuits, cuántos favoritos hay o lo que quieras. Puede que también quisieras guardar información acerca de quien publicó el tuit, cuántos seguidores tiene o lo que sea.

Pues bien, usando bases de datos relacionales puedes crear una tabla para cada tuit que contenga toda la información sobre tuits concretos, y luego crear una tabla para el usuario que contenga toda la información sobre la persona que envió ese tuit en cuestión. Luego puedes relacionar las claves de las dos tablas para que la base de datos, y en consecuencia tú mismo, pueda saber qué usuario está asociado a qué tuit.

Del mismo modo, WordPress utiliza tablas para relacionar montones de datos. Por ejemplo, la tabla wp_posts contiene toda la información relevante relativa a cada entrada creada en WordPress, y la tabla wp_comments contiene cada comentario que alguien haya dejado en alguna entrada de WordPress, pero wp_posts y wp_comments son dos tablas diferentes de la misma base de datos. Lo que hace WordPress es crear una relación entre determinadas claves de las tablas wp_posts y wp_comments para saber qué comentarios pertenecen a qué entradas.

Esta estructura de base de datos y de tablas se crea dentro de una base de datos MySQL desde el primer momento en que instalas WordPress. A partir de ese momento WordPress simplemente manipula los valores y filas de cada tabla para hacer que el sitio web sea operativo.

Por ejemplo, cuando creas un nuevo usuario, se añade una fila que contiene toda la información sobre el usuario (nombre de usuario, contraseña, permisos, etc) a la tabla wp_users. Cuando un usuario intenta acceder, WordPress accede a la base de datos y revisa que coincidan la información facilitada en la pantalla de acceso con la contenida en la base de datos. Si no concuerdan no se acepta el acceso.

Cómo utiliza MySQL la cache

cache mysql wordpress

El mismo concepto anterior se aplica a las entradas: cuando escribes y guardas una entrada nueva WordPress lo almacena en una fila de la tabla wp_posts de la base de datos. Es importante saber que también ocurre en sentido inverso: cuando una persona que visita una web accede a una página que tiene contenido WordPress tiene que acceder a la base de datos, obtener la información de las tablas y mostrarla en pantalla. Si son pocos visitantes un servidor del montón será suficiente, pero si hay mucha gente queriendo ver el contenido al mismo tiempo WordPress y la base de datos puede que no sean capaces de gestionar todas las peticiones requeridas y que el sitio se ralentice o atasque. De ahí la importancia de utilizar algún sistema o plugin de cache.

Hay que comprender el concepto de coste computacional. En este caso no implica gastar más dinero o alquilar más servidores, sino que hay que evaluar los distintos factores que afectan a la velocidad de computación, como el tiempo, la memoria disponible y el número de operaciones de disco que se deben realizar.

MySQL almacena toda esta información en una base de datos que está en un disco duro del ordenador donde está instalada. Y no es un sistema pequeño o frágil, pues tiene una gran resistencia a los fallos, gran capacidad de almacenamiento y no acapara la memoria del ordenador donde esté instalada como harían otros sistemas de gestión de base de datos. MySQL es un sistema realmente eficiente, estable y seguro.

Sin embargo, la estabilidad de MySQL tiene un coste: la velocidad. El hecho de que WordPress acceda continuamente a las mismas claves de la base de datos una y otra vez debe verse como un coste “caro“. Conlleva un alto coste de computación acceder a la bases de datos, realizar una operación de disco, recuperar los datos y mostrarlos.

Los sistemas de cache son una gran solución a este problema. Lo que hacen es tomar la muestra final en HTML de cada tipo de petición y lo almacena durante un breve espacio de tiempo, de 30 segundos o así. Si alguien quiere ver la misma página el motor de cache servirá la página ya almacenada en HTML, evitando todo el proceso de interactuar con la base de datos.

Es por esto que es tan importante instalar plugins de cache en WordPress o utilizar algún servicio de alojamiento que gestione la cache por ti. Si alguna entrada llega a portada de grandes portales como menéame o Reddit tu sitio se resentirá gravemente si no usas algún sistema de cache, ya que tendrás muchos usuarios, en un corto espacio de tiempo, queriendo ver  un mismo contenido, y cada visita requerirá un “costoso” proceso de peticiones de información a la base de datos.

Las 11 tablas MySQL de WordPress

tablas mysql wordpress

Aunque ya vimos hace tiempo en detalle las tablas de la base de datos de WordPress, no está de más hacer un repaso de estas 11 tablas básicas para comprender, finalmente, cómo funcionan y su importancia:

  • wp_commentmeta – Cualquier metadato asociado a los comentarios, como claves y valores, se almacenan en esta tabla. No contiene metadatos de autores o fechas, pero sí otros datos que WordPress utiliza ocasionalmente. Está íntimamente relacionada con la tabla wp_comments.
  • wp_comments – Esta tabla contiene todos los comentarios que se hacen en entradas o páginas de WordPress, así como información relacionada como el autor, su dirección de correo electrónico y la entrada en la que se dejó el comentario.
  • wp_links – Esta tabla se utiliza para almacenar la información de los enlaces del blogroll de WordPress. Aunque a partir de la versión 3.5 de WordPress desapareció el blogroll la tabla aún sigue ahí por si lo quieres activar.
  • wp_options – Cualquier opción que hayas modificado en el panel de ajustes se almacena en esta tabla..
  • wp_postmeta – Al igual que wp_commentmeta, wp_postmeta incluye información adicional y opcional, en este caso de las entradas. Salvo en temas que requieren almacenar shortcodes propios y cosas así es una tabla que no se usa mucho.
  • wp_posts – wp_posts contiene toda la información de las entradas y sus datos asociados. Esta tabla es quizás la más  utilizada pues contiene todo el contenido del sitio.
  • wp_terms – Esta tabla almacena las etiquetas y categorías con las que se organizan las entradas.
  • wp_term_relationships – Esta tabla es la responsable de mantener las relaciones entre las entradas y las etiquetas y categorías que tengan asociadas. También está relacionada con la tabla wp_term_taxonomy.
  • wp_term_taxonomy – Esta tabla relaciona qué tipo de taxonomías se asocian a las entradas. Está relacionada con wp_terms y wp_term_relationships, registrando asociaciones entre categorías, etiquetas, etc.
  • wp_usermeta – Otra tabla meta, wp_usermeta almacena cualquier metadato adicional y opcional asociado a la tabla wp_users.
  • wp_users – wp_users contiene todos los datos de los usuarios registrados en WordPress, incluyendo información como los nombres de usuario, permisos y contraseñas.

 

MySQL puede parecer intimidante en un primer acercamiento pero está tan bien adaptada en WordPress que funciona de un modo rápido y eficaz. Sobre todo es importante conocer su funcionamiento, coste y relaciones para que sepas qué hay detrás de cualquier instalación de WordPress, y es absolutamente imprescindible para desarrolladores de plugins y funciones.

Si la próxima vez que estés trabajando con WordPress piensas en ello como una fuerte estructura de base de datos MySQL que hace que funcione, estarás más cerca de comprender el funcionamiento de tu web, hacer que sea más rápido y más seguro.

Fuente: FlyWheel

Ver artículo completo...

WPScan, base de datos de vulnerabilidades WordPress

Jueves, 2 de octubre de 2014 |

Comentarios desactivados

wpscan

Acaba de salir a la luz un proyecto desde el que avisar y en el que revisar vulnerabilidades de WordPress, sus temas y plugins.

A través de la web WPScan puedes avisar de cualquier vulnerabilidad que encuentres en temas, plugins o el mismo WordPress, o revisar las ya existentes y comprobar de qué se tratan para tener información de gran valor para tu web.

WPScan Vulnerability Database

El proyecto, desarrollado en Ruby, ha partido de una serie de desarrolladores, pero puedes participar en el escaner de vulnerabilidades en su página de github.

El sistema, aunque no sustituye – ni debe hacerlo – al habitual para informar de fallos en WordPress, si es una estupenda herramienta a tener en cuenta y revisar a diario para estar informado, de un modo más sencillo que en el trac y más completo e inmediato que revisar todo Internet buscando vulnerabilidades, una obligación de todo webmaster.

Ver artículo completo...
Artículos Anteriores Artículos Siguientes