miércoles, 24 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Grave amenaza de seguridad en los principales plugins de cache en WordPress

Posted: 24 Apr 2013 12:04 PM PDT

inyeccion de codigo wordpress

Ayer ha avisado Sucuri, web especializada en seguridad informática de una grave amenaza de seguridad que afecta a los dos plugins de cache más populares en WordPress: W3 Total Cache y WP Super Cache.

En el informe publicado en el blog de Sucuri, se da detalle del aviso que se hizo en los foros de WordPress.org al respecto de una vulnerabilidad que afectaría a estos plugins.

El problema es gordo, pues permitiría la ejecución de código remoto incluso de manera arbitraria.

La manera de comprobar si te has visto afectado es publicar en un comentario el siguiente código:

<!–mfunc echo PHP_VERSION; –><!–/mfunc–>

Y si tras publicarlo ves la versión de PHP de tu servidor mala noticia, podrías estar afectado. Porque lo que significa es que cualquiera puede ejecutar comandos de código en tu WordPress y se ejecutan gracias a que está habilitado mfunc por obra y gracia de estos plugins, en este caso una nadería pues solo muestras la versión de PHP mediante un echo, ya que es solo una comprobación.

Por cierto, si usas servicios externos cómo Disqus o similares no funcionará.

El problema viene porque los códigos insertados no solo pueden ser mediante mclude sino también mediante código PHP (mfunc), y siempre que abrimos la posibilidad de incluir código PHP directamente se abre la posibilidad de meter código ejecutable, y supone un riesgo.

Los plugins de cache, y en concreto WP Super Cache y W3 Total Cache, guardan las páginas completas en cache, comentarios incluídos, y si contienen trozos de código podrían ejecutarse desde esas versiones cacheadas por parte de alguien con malas intenciones, y cómo WordPress permite usar etiquetas HTML pues está casi todo preparado para que alguien aproveche esa puerta abierta.

Resumiendo … 

Si usas una versión de WP Super Cache anterior a la 1.3 o de W3 Total Cache anterior a la 0.9.2.9 corres el riesgo de una inyección de código PHP. Los comentarios de tu WordPress podrían incluir códigos dinámicos, mediante HTML, y el núcleo de WordPress no los filtraría para controlarlos.

Los plugins de cache, al guardar una versión de esas páginas, incluirían también el código PHP inyectado, y hasta que no se volviera a cachear la página o páginas afectadas, alguien podría ejecutar ese código, o se ejecutaría solo, depende de lo que te hayan metido.

La solución pasa por actualizar los plugins a las últimas versiones que los desarrolladores de ambos han lanzado ya ante la vulnerabilidad, y en las que desactivan mfunc por defecto, que es donde radicaba el problema.

martes, 23 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

All in one SEO pack llega a la versión 2.0, y se nota

Posted: 23 Apr 2013 12:13 PM PDT

all in one seo pack

Hace tiempo tuve el corazón partío con el plugin All in one SEO pack, pues hubo unas versiones que hacían cosas raras, pero la verdad es que he vuelto a el y estoy la mar de contento, tras un paso por su clon llamado Platinum SEO pack, también muy majete.

Pero ayer llegó a la versión 2.0 y, vaya, que estoy bastante mosca, aunque todavía no del todo, te explico …

A pesar del enamoramiento de mucha gente con el plugin WordPress SEO de Yoast, personalmente no lo suelo recomendar salvo para aprender, pues la verdad es que para novatos ayuda esa pastillita que añade en el editor de WordPress donde te muestra el snippet de Google, consejos SEO y esas cosas, pero para un uso habitual no lo recomiendo, y siempre animo a utilizar All in one SEO pack o Platinum SEO.

¿Por qué no recomiendo WordPress SEO de Yoast?, pues por dos motivos fundamentales?:

  1. He visto cosas que tu no creerías, oops, perdón, he visto como destrozaba el SEO de varios sitios por una mala integración con el tema WordPress utilizado. El plugin quiere hacer tantas cosas, y mete tanto en el código de la página que a veces estropea más que arregla.
  2. Es un megaplugin, que hace muchas cosas pero ninguna a la perfección, y muchas en “automático”. Vale que es muy cómodo el “jetpack style” de instalar un plugin y tener casi de todo, pero conlleva ciertas flaquezas, además de servidumbres. Por ejemplo, incluye un módulo para crear un sitemap, pero es realmente un truño, mucho peor que Google XML Sitemaps, todo un estándar; no digamos esa utilidad para modificar los archivos de sistema, que debería estar prohibida hasta cumplir los 50 años o haber pasado por 2 divorcios. De los automatismos, opciones activas por defecto, hablamos otro día en serio.

En definitiva, que es un plugin “apañao” para tener eso del “todo en uno“, pero si quieres controlar lo que hace un plugin, especialmente en el SEO de tu web, más vale dejarte de automatismos, y más con lo especialito que se ha puesto Google últimamente con los automatismos en el SEO.

Por eso no comparto el enamoramiento adolescente con el plugin de Yoast, y siempre recomiendo esta belleza que es All in one SEO pack, bello en su simplicidad, potencia y transparencia de lo que hace.

Ahora bien, y volvemos al principio de lo que toca hoy: ha salido a la luz la versión 2.0 de All in one SEO pack, y algo tenían que hacer para que se notara, y ahí empecé a temblar, antes de aceptar actualizarlo en algún sitio.

¿Qué novedades tiene?, pues algunas, e importantes:

  • Nueva interfaz (miedito, con lo bonita que es la sencillez unida a la potencia)
    Captura de ajustes all in one seo pack 2.0
  • Nuevo sistema de módulos (lo que te decía del “jetpack system”, más miedo aún)
    captura de modulos en aiosp 2
  • Nuevo módulo de rendimiento (aún sin mucha chicha, y la poca que tiene OJO)
    Captura de ajustes de rendimiento de aiosp 2
  • Nuevas opciones para controlar el “rewrite” de  títulos en los tipos de entrada personalizadas (una obligación, especialmente de cara a WordPress 3.6)
    ajustes posts personalizados aiosp 2
  • Ajustes avanzados para controlar los títulos en los tipos de entrada personalizadas
  • Posibilidad de mostrar campos meta personalizados normalmente ocultos
  • Visualizar estado de SEO en entradas, páginas, etc (sin colorines, menos mal).
    indicador seo en entradas aiosp 2
  • El apuntador para mostrarte las novedades (y la manía que le estoy cogiendo).
  • Se ha añadido la previsualización del snippet de Google en la caja del plugin en el editor de entradas y páginas (vamos, como el de Yoast)
    visualizar snippet aiosp
  • Añadidas opciones de marcar para noindex, nofollow en todas las cajas
  • En los ajustes se ha añadido campo para la verificación de webmasters de Google, Bing y Pinterest (esto si mola)
    verificacion webmasters aiosp 2
  • Campo para añadir el ID de Analytics
    google analytics aiosp 2
  • Enlaces a los ajustes del plugin (opcional) en la barra de admin de WordPress (no vale para nada, en serio, no lo actives)
    enlaces seo en menu admin aiosp 2
  • … y las típicas soluciones a errores y tal, lo normal en cada actualización.
  • ¡Ah, que se me olvidaba!, ahora las opciones ya no están cómo submenú de Ajustes sino con su propio icono debajo de la “casita” (mal, muy mal)

Te he puesto capturas de todas las novedades, pero a lo importante …

¿Se ha convertido en una cagada el All in one SEO pack?, ¿es una cosa molona pero petarda como el de Yoast?

Pues afortunadamente parece que no, por lo menos de momento, pues mantiene sus principales virtudes, a saber:

  • Rewrite de titulos PERFECTA, lo más importante
  • Código insertado en el tema muy limpio, sin metas que sobren ni redundantes, todo bien recogidito y haciendo su trabajo.

Lo demás son fruslerías o juguetitos para enredar, salvo la inclusión de la verificación de Webmasters en Google, Bing y Pinterest, realmente útil, que sumado a la verificación de Google+ hace que tu sitio esté conectado con lo fundamental.

La pantalla de rendimiento, por si te lo preguntas, no sirve – al menos de momento – prácticamente para nada, pues te informa de lo que cualquier PHPinfo te diría y te hace una lista de plugins, vamos, una subnormalidad, en la que espero que no se animen y empiecen a meter analizadores y demás gilipolleces que terminen volviéndonos locos con el “estado SEO” de nuestras publicaciones, cuando Google no hace más que recordarnos lo que siempre ha sido ley y axioma: el contenido es el rey, y de lo que te tienes que preocupar es de crear buenos artículos y luego, eso si, moverlos por ahí para que los conozca la gente, pero olvidándote de hacer exceso de posicionamiento contable (cómo lo llamo yo), de andar pensando si has metido suficientes keywords o si tu título es más SEO que la madre que lo parió y esas cosas ¿está claro?, pues eso, a dejarse de chorradas.

Y de lo que si sirve en la pantalla de “Performance” casi mejor que no lo toques o seguro que jodes algo ¡se admiten apuestas!

Puedes modificar los parámetros de memoria y tiempo de ejecución de PHP, algo que luego modifican algunos plugins, o que dará igual lo que pongas si tu hosting lo tiene capado, algo bastante habitual.

Ahora bien, me preocupa un poco que se despiste la cosa, quizás llevados por la reciente popularidad del de Yoast, a meterle mierda inútil para parecer “guay, como el “otro”, error en el que espero no incurran, pues en la versión 2.0, All in one SEO pack sigue siendo el plugin perfecto para SEO.

Y sino, pues nada, a hacer un fork limpito de guarrerías, pero de momento sigue cumpliendo su función, y muy bien, de hecho mejor que antes.

Que “Subir archivos” sea la opción por defecto en el cargador de WordPress

Posted: 22 Apr 2013 11:10 AM PDT

wordpress uploader default

Hay un comportamiento del cargador de WordPress que me molesta especialmente, y es que al abrir el cargador de medios mediante el botón de “Añadir objeto“, la opción por defecto sea mostrar la Librería multimedia, y no la opción de subir archivos, que es lo habitual, al menos para mi.

Creo que nadie sube las imágenes y escribe los artículos como acciones separadas así que creo que tiene más sentido que la opción por defecto sea la de subir archivos ¿no te parece?.

Afortunadamente es fácil de conseguir, pues solo tienes que crear un sencillo plugin, o añadirlo a tu plugin de utilidad, para conseguirlo, donde tendrías que insertar el siguiente código:

<?php } ?>  // Subir archivos como opción por defecto    add_action( 'admin_footer-post-new.php', 'media_manager_default' );      add_action( 'admin_footer-post.php', 'media_manager_default' );        function media_manager_default() {          ?>          <script type="text/javascript">              jQuery(document).ready(function($){                  wp.media.controller.Library.prototype.defaults.contentUserSetting=false;              });          </script>  <?php } ?>

Estupendo truco publicado en los foros de soporte oficiales.

sábado, 20 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Cambios en la interfaz de formatos de entrada de WordPress 3.6

Posted: 19 Apr 2013 05:30 PM PDT

wordpress 3.6Estos últimos días se hacía patente, a través de los que estamos ya probando la primera beta de WordPress 3.6, que la interfaz de formatos de entrada incorporada en esta versión que pronto disfrutaremos, tenía más detractores que defensores.

Y no es por su mera incorporación sino por los iconos con los que se identifica cada formato de entrada, que eran realmente confusos.

Afortunadamente se está probando una nueva interfaz, ya disponible en WordPress 3.6 beta 1 – 24041, que además de mostrar unos iconos mayores, tienen texto descriptivo de cada formato justo debajo de los mismos.

También, para evitar confusiones acerca del formato utilizado en cada momento, en el momento que eliges un formato se ocultan los iconos automáticamente, y mediante un enlace puedes volver a mostrarlos para cambiar de formato de entrada.

Me parece un avance interesante, que clarifica la interfaz. No se si será la definitiva pero al menos esta es más fácil de usar. Te dejo las capturas del cambio.

Antes del cambio:
Iconos sin elegir formato Iconos con formato elegido

Después del cambio:
Iconos sin elegir formato Iconos con formato elegido

viernes, 19 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Añadir más servicios oEmbed a WordPress

Posted: 18 Apr 2013 04:27 PM PDT

wordpress peliculaWordPress incorpora la capacidad de mostrar contenido multimedia mediante el soporte oEmbed, por el cual puedes mostrar vídeos, imágenes y todo tipo de medios solo con pegar la URL del contenido en el editor, y que se muestre el reproductor del mismo.

Pero WordPress solo trae activos algunos servicios por defecto, que podemos ampliar.

La lista de los proveedores de medios con soporte oEmbed soportados por WordPress es la siguiente:

Pero se puede ampliar la lista, y tenemos varias posibilidades, a saber:

  1. Añadir proveedores oEmbed con una función usando wp_oembed_add_provider, cómo ya vimos para añadir soporte de Slideshare o Twitter, sería así:
      function oembed_sitiomolondevideos(){  wp_oembed_add_provider( "#http://(.+)?sitiomolondevideos\.com/.*#i", "http://api.sitiomolondevideos.com/oembed", true);  }  add_action('init','oembed_sitiomolondevideos');

    Por supuesto, debes informarte en el servicio a añadir de la URL que usa para la API de soporte con oEmbed, en el ejemplo es solo de muestra.

  2. Añadir proveedores oEmbed usando plugins cómo Embedly, oembed provider, etc, que permiten añadir soporte de oEmbed para prácticamente todo servicio disponible.

Y ya, por mi parte nada más, si se te ocurre algo lo comentas.

miércoles, 17 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Detectar visitantes de Google y Twitter y saludarles de manera personalizada

Posted: 17 Apr 2013 03:28 PM PDT

encuentro

Ya hemos visto otras veces cómo saludar a los usuarios registrados o nuevos de tu WordPress, incluso a los suscriptores de tu feed, pero hay muchos otros usuarios, y cada vez más, que vienen de otras fuentes, y las principales son Google y Twitter, así que ¿por qué no saludarles como merecen?

Es sencillo, solo tienes que añadir un par de funciones más a tu tema activo, allí donde quieres que se muestre el mensaje de saludo personalizado, normalmente en single.php e índex.php pero también dependerá de las vías de entrada a tu sitio desde estas referencias, algo que te “soplarán” las estadísticas.

Para saludar a los usuarios que vienen desde las búsquedas de Google, en blogs populares la mayoría, añades algo así:

<?php  if (strpos($_SERVER[HTTP_REFERER], "google") == true) {      echo "¡Hola, ya que nos has encontrado en las búsquedas igual quieres <a href="http://feeds.feedburner.com/ayudawordpress">suscribirte</a> para no perderte nada!";  }  ?>

Y para los de Twitter podría ser algo de este estilo:

<?php  if (strpos($_SERVER[HTTP_REFERER], "twitter.com") == true) {      echo "¡Hola tuitero! ¿sabías que también estamos <a href="http://twitter.com/ayudawp">en Twitter</a>?";  }  ?>

Guardas y ya está.

martes, 16 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

Permalinks por defecto sin intervención del usuario

Posted: 16 Apr 2013 03:09 PM PDT

permalinks wordpress rotos

Si haces instalaciones para otros seguro que sabes que no deberías dar privilegios de administrador a nadie, porque luego rompen las cosas. Puedes estar a favor o en contra de hacerlo pero es la realidad.

Y hay cambios de ajustes que no pasa nada si los hacen, pero otros pueden destrozar todo el trabajo realizado, o el posicionamiento, como por ejemplo, cambiar los enlaces permanentes, los permalinks.

Pero ¿a que no sabías que se pueden establecer los enlaces permanentes por defecto?, pues se puede, y además es SUPER SENCILLO. Solo tienes que decidir si los forzarás desde un plugin de funciones o desde el archivo functions.php del tema, pues para conseguirlo hay que añadir este código en uno de ellos:

// Permalinks por defecto  function set_permalink(){      global $wp_rewrite;      $wp_rewrite->set_permalink_structure('/%year%/%monthnum%/%day%/%postname%/');  }  add_action('init', 'set_permalink');

Guardas los cambios y ya está, si tu permiso .htaccess tiene permisos de escritura serán los permalinks activos siempre que esté activo el tema con el fichero functions.php o el plugin que contenga esta función.

Puedes, por supuesto, cambiar la estructura a la que tu decidas, cómo solo /%postname%/ o la que tu decidas de los disponibles en la estructura de enlaces de WordPress.

Si tu opción es la última ya sabes que puedes evitar que toquen los plugins también configurando los permisos del usuario o que los actualicen, o que lo desactiven y rompan todo, y si optas por el tema también puedes inhabilitar que modifique el tema o que cambien de tema o una combinación de ambos trucos.

Puedes usar esta función para evitar modificaciones no deseadas de permalinks tras la instalación de WordPress, o incluso para forzar unos permalinks por defecto nada más crear instalaciones nuevas, evitándote tareas repetitivas, tu decides.

Bonito truco de be-studios

Añadir código de Google Analytics sin modificar el tema WordPress

Posted: 15 Apr 2013 04:40 PM PDT

google analytics wordpressEsta cuestión, aunque es de las más demandada, la verdad es que nunca la había abordado, pues es tan fácil que se me olvidaba, o quizás no le daba la importancia que merece.

Por supuesto, me refiero a ese hecho tan simple pero útil de añadir el código de Google Analytics a WordPress, a ser posible sin tener que modificar el tema.

Y es importante que sea sin modificar el tema porque si cambias de tema es de lo más común olvidar volver a añadir el código de Analytics, y perderías las estadísticas de ese/os día/s.

¿Soluciones?

Pues hay muchas, la mayoría usando la enorme cantidad de plugins existentes para esta cuestión, pues no tiene sentido estos días modificar el código del tema activo para añadir, cómo sugiere Google, el script de Analytics en la cabecera de la web, lo que para WordPress se traduce en añadirlo antes del cierre de la tag head, que encontraremos en el fichero header.php del tema.

Es más, hoy en día muchos temas ofrecen en su página de ajustes alguna configuración para insertar este código, también sin tocar el tema, pero el problema es el mismo, pues lo añaden a su propio fichero functions.php, y de nuevo, al cambiar de tema, se perdería, así que siguen ganando los plugins, que son independientes del cambio de tema.

Y, claro, la otra solución, es añadir el código a tu propio plugin de funciones, opción que te recomiendo, porque supongo que a estas alturas ya lo tienes hace tiempo en marcha, y sería tan sencillo cómo añadirle algo así:

//Añadir código de Google Analytics  <?php  add_action('wp_head', 'google_analytics');    function google_analytics() { ?>      // Sustituye esta línea por el código de Google Analytics  <?php } ?>

Pones tu código en la línea a sustituir y ya está.

lunes, 15 de abril de 2013

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

bbPress 2.3

Posted: 14 Apr 2013 11:58 PM PDT

bbpress confeti

El plugin para crear foros en WordPress, bbPress, acaba de actualizarse a la versión 2.3, con cientos de soluciones a fallos y un importante número de mejoras, suficientes para contemplar el cambio de versión, especialmente si usas BuddyPress.

Las novedades más relevantes de bbPress 2.3 son:

  • Compatible con WordPress 3.6
  • Por fin búsquedas que abarcan todos los foros,  respuestas, etc.
  • Mejoras de rendimiento y compatibilidad con cache
  • Añadidos importadores de Vanilla, Mingle y SimplePress
  • Mejoras en el importador de bbcode
  • Mejoras en la compatibilidad con temas gracias a la nueva API de plantillas
  • Mejorada la integración con foros de grupo, actividad y perfiles de BuddyPress
  • Mejoras en los perfiles y capacidades
  • Se ha mejorado la documentación del código
  • Arreglados errores de traducción
  • Mejoras de RTL
  • Nuevo shortcode de estadísticas

No es una mayoría de edad completa, al menos cómo a mi me gustaría, pero son importantes novedades y mejoras

Borrar código que sobra de los textarea en WordPress

Posted: 14 Apr 2013 03:45 PM PDT

aprende html

La tag HTML textarea es un modo estupendo de mostrar una lista larga de contenido sin que tu entrada se alargue hasta el infinito, pues restringe el contenido del texto contenido en la misma a una caja en la que tu defines el ancho y el largo de la misma. El problema es que añade códigos de sobra que seguro que no querrás mostrar.

O sea, que si introduces un textarea, digamos, así:

<textarea rows="10" cols="40">Aquí el texto larguísimo</textarea>

WordPress te muestra un truño de este estilo, con un montón de tags de párrafo (p), saltos de línea (br) y otros códigos HTML que no están en el texto original y que, por supuesto, no quieres que se vean

textarea sucio

textarea sucio

Si quieres solucionarlo es sencillo, solo tienes que añadir esto a tu plugin de funciones o archivo functions.php de tu tema activo, guardas los cambios y ya no tendrás más códigos sobrantes en tus textarea:

//Limpiar los textarea de br,p, y demás basura  function clean_textarea2($matches) {  	if ( is_array($matches) )  		$text = $matches[1] . $matches[2] . "</textarea>";  	else  		$text = $matches;    	$text = str_replace('<br />', '', $text);  	$text = str_replace('<p>', "\n", $text);  	$text = str_replace('</p>', '', $text);  	$text = str_replace('&#8220;', '"', $text);  	$text = str_replace('&#8221;', '"', $text);  	$text = str_replace('&#8216;', "'", $text);  	$text = str_replace('&#8217;', "'", $text);  	$text = str_replace('&#8242;', "'", $text);    	return $text;  }  function clean_textarea($pee, $br = 1) {  	if (strpos($pee, '<textarea') !== false)  		$pee = preg_replace_callback('!(<textarea.*?>)(.*?)</textarea>!is', 'clean_textarea2', $pee );  	return $pee;  }    add_filter('the_content', 'clean_textarea');

Obtienes un textarea limpito de porquería …

textarea limpio

textarea limpio

Si sigues Ayuda WordPress y te has fijado bien en el código en realidad lo que estamos haciendo es una sustitución de texto mediante str_replace, de manera que cuando encuentra un elemento indeseado lo sustituye por un espacio en blanco, algo similar a lo que ya hemos hecho para, por ejemplo, cambiar el saludo de WordPress sin modificar la traducción, quitar HTML de los comentarios, sustituir unas palabras por otras (precioso y útil para muchas cosas) y otros muchos trucos que ya hemos visto.

Otra posibilidad es desactivar el wpautop a voluntad, o probar con el plugin PS disable auto formatting, pero personalmente me parece mejor el método anterior, y funciona siempre.

Seguidores

Archivo del blog