Qué carpetas comprometer al usar Github con sistemas CMS

Probablemente sea una pregunta tonta, pero hasta ahora no puedo encontrar ningún buen consejo en Internet, así que espero que tengan buenos consejos. Me gustaría usar GIT para el control de versiones y usarlo para implementar cambios en mis sitios web a los serveres. Es fácil cuando uso NodeJS, pero un poco más complicado cuando uso un sistema CMS, en mi opinión.

Cuando uso NodeJS

Cuando uso NodeJS es bastante fácil tener una carpeta node_modules que contiene todas las bibliotecas externas que instalaré en la implementación. El rest (mis propios files) se saveán en Github y se implementarán en mi server si se modifican. Obviamente, no almacenaré la carpeta node_modules en mi count de Github ni la enviaré a mi server (los modules de nodo se instalarán en el server, en la implementación). Por lo tanto, es bastante fácil mantener separados a esos dos (terceros y mis propios files).

Cuando uso WordPress, Magento o algo similar

Ahora se complica. Sobre todo porque los sistemas CMS como WordPress tienen una estructura de carpetas como wp_content/themes/theme_name/ , por lo que sus propios files de temas están más o less ennetworkingados con la estructura principal, en lugar de separados como NodeJS. Y no parece correcto enviar todos mis files centrales a mi count de Github o enviar todos esos files centrales a mi server en cada implementación (preferiría instalarlos usando el compositor o algo similar, en el server), porque lo haré nunca toques los files centrales, obviamente.

Entonces, ¿hay algún consejo? ¿Hay un suero mejor para manejar esto? Tal vez cambiar un file de configuration con la ruta a la carpeta de mi tema o algo así?

La mejor manera de hacerlo es mover su carpeta de contenido wp fuera de su installation estándar. Tiendo a tener una carpeta llamada "wp" con la installation básica de WordPress y una carpeta llamada "wp-content" en el mismo nivel para mis files de contenido. A continuación, puede decirle a WordPress que su carpeta de contenido está en otro lugar con lo siguiente:

 define('WP_CONTENT_DIR', dirname(__FILE__) . '/content'); 

Eso va dentro de wp-content.php que también puedes sacar de la installation principal de WordPress (y así agregar a git) y ubicarlo en el mismo nivel que tus carpetas.

Para hacer las cosas aún mejor, considere search en el compositor https://getcomposer.org/ y usarlo para incorporar el núcleo y los complementos de WordPress. https://wpackagist.org/ es su amigo aquí. Esta guía me ayudó a empezar a utilizar el compositor con WordPress y es un buen comienzo https://roots.io/using-composer-with-wordpress/. También puedes incorporar tu tema desde git a través de compositor, lo que es genial para cuando implementas etc … Capistrano, por ejemplo, puede ejecutar compositor en un server 🙂