Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
-
Upload
laura-melo -
Category
Software
-
view
199 -
download
4
description
Transcript of Practicas Recomendadas - WordPress Argentina Meetup Octubre 2014
Laura Melo, Freelance WordPress Developer
WordPress
Prácticas Recomendadas
¿Qué es
“Prácticas Recomendadas”?
Técnicas o métodos recomendado que
nos permiten llegar a mejores
resultados o replicar casos de éxito.
Se obtiene de la experiencia y
estandarización de los procesos.
Aprender - Consultar - Compartir
● Leer el Código
● Codex, Code Reference
● Handbook: WordPress Coding Standards
● Mantenerse actualizado de las novedades (ie: Blog)
● Participar en los foros de soporte de WP y Plugins
como:
http://es.forums.wordpress.org/ o http://wordpress.stackexchange.com/
Aprender - Consultar - Compartir
● Participar en la Comunidad Local (como @wpargentina)
● Compartir el Código
● Reportar bugs
● Traducir
Recomendaciones Generales
● Elegir cuidadosamente Plugins y Themes a utilizar
● Mantener WordPress y Plugins Actualizados. No dejar
instalaciones viejas que no uses, si no lo usas eliminalo
y si lo usas actualizalo.
● Hacer Backups regulares y antes de alguna tarea crítica.
Recomendaciones Generales
● Usar Controlador de Versiones (GIT / SVN)
● No modificar los archivos del core de WordPress y de
los Plugins (usar hooks y reportar bugs)
● Usar Child-Theme para modificar themes de terceros.
Recomendaciones para el Código
Usar las funciones y librerías que ofrece WordPress, por
ejemplo:
● current_time(), no date_default_timezone_set()
● Usar el objeto $wpdb y sus métodos para interactuar con la base de
datos.
● Usar hooks (ganchos): Acciones y Filtros
Actions (Codex Action Reference)
Filters (Codex Filter Reference)
Recomendaciones para el Código
Usar las funciones y librerías que ofrece WordPress, por
ejemplo:
● wp_remote_get / wp_remote_post en vez de curl
● get_template_part() en vez require() o include()
● media_handle_upload() para subir archivos
● Cargar scripts y hojas de estilos con “Enqueue Functions / Enqueue
Actions”
http://codex.wordpress.org/Function_Reference/wp_enqueue_script
Recomendaciones para el Código
Evitar conflictos de nombres de función: prefijo de
funciones, o encapsular las funciones dentro de clases.
Fatal error: Cannot redeclare get_the_post_terms() (previously declared in....
Si el plugin se llama “Wordpress Manda Mail” podés usar “wmm_” como prefijo
de todas tus funciones (y clases de css), por ejemplo wmm_manda_mail()
class Wmm_Mailer {
static function send( $post_ID ) {
$friends = '[email protected]';
mail($friends,"New post!", 'Check my new post in '.get_permalink($post_ID ));
return $post_ID;
}
}
add_action( 'publish_post', array( 'Wcc_Mailer', 'send' ));
Recomendaciones de Seguridad
● Limitar el Acceso:
No todos necesitan ser administradores, ni tener acceso ftp o ssh.
Elegí los perfiles adecuados para la tarea que tenga que hacer el usuario,
y eliminarlos cuando ya no los necesiten.
● Contraseñas seguras:
Usar admin o 123456 no es una buena idea.
Contraseñas largas, con numeros, simbolos, mayusculas, etc.
● No usar el nombre “admin” para el usuario
administrador.
Recomendaciones de Seguridad
Vulnerabilidades XSS: sanear y validar entradas y
escapar salidas.
● Nunca confiar en el usuario.
● Escapar todo lo que provenga de fuentes externas
(bases de datos, usuarios, twitter, etc) y cuanto más
tarde mejor (convención).
● Sanear está bien, pero validar/rechazar es mejor.
Recomendaciones de Seguridad
● Prevenir el acceso directo a los archivos:
if ( ! defined( 'ABSPATH' ) ) exit;
● Eliminar todos los “warnings” y “notices”:
define( WP_DEBUG, true );
o Plugin Debug Bar
Recomendaciones de Seguridad
Nonce (número que se usa una sola vez)● Si utiliza para fines de verificación, es una clave única o
token, que solo puede ser utilizado para la acción
definida, y solo en esa instalación.
● Crear: wp_create_nonce($action)
● Verificar: wp_verify_nonce( $nonce, $action );
Recomendaciones de Performance
● Usar plugin de cache
WP Super Cache, W3 Total Cache
● Gzip Compression
(testear http://www.gidnetwork.com/tools/gzip-test.php)
Editar el archivo .htaccess:
# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css
application/x-javascript application/javascript
</ifmodule>
# END GZIP
Recomendaciones de Performance
● Vaciar papelera:
define ('EMPTY_TRASH_DAYS', 7);
● Limitar la cantidad de Revisiones a guardar:
define( 'WP_POST_REVISIONS', 3 );
● Optimizar Imágenes antes de subirlas.
GRACIAS!