Tarea: Tienda de afiliados con WordPress

Ámbito de aplicación

Se trata de una situación de aprendizaje diseñada para guiar y evaluar el aprendizaje del RA1 del módulo Aplicaciones Web de segundo del ciclo de grado medio SMR que versa sobre los sistemas gestores de contenido (CMS).

Propósito

Aprender a implementar y administrar un sitio web completo con WordPress que tenga funcionalidades de e-commerce. Esto conlleva el análisis del público al que va dirigida, la elección de un tema efectivo para que cumpla su objetivo sobre dicha audiencia, la configuración del sitio, la creación de contenidos, la segurización, la gestión de backups, etc.

Este proyecto nos permitirá evaluar el RA1 del módulo.

Descripción de la tarea

Los nichos de afiliados se refieren a áreas específicas de mercado en las que los afiliados promocionan productos o servicios de terceros a cambio de una comisión por cada venta o acción realizada a través de su enlace de afiliado. Estos nichos pueden ser temáticos y estar relacionados con un área específica de interés o industria.

Por ejemplo, en el caso de Amazon Afiliados, los nichos de afiliados se refieren a las categorías de productos que los afiliados eligen promocionar en su sitio web o plataforma. Al elegir un nicho específico, los afiliados pueden enfocar sus esfuerzos de marketing en un público objetivo más definido y aumentar sus posibilidades de generar ventas y comisiones.

La elección del nicho de afiliados es importante, ya que determinará el tipo de productos o servicios que se promocionarán y el público al que se dirigirán. Algunos factores a considerar al elegir un nicho de afiliados incluyen la demanda del mercado, la competencia, el potencial de ganancias y el interés personal del afiliado en el tema.

Este será el hilo conductor de esta situación de aprendizaje, pues el objetivo será construir un sitio web de afiliados que incluya un catálogo de productos, carrito y demás opciones de una tienda online, una landing page y una sección blog.

Fruto del este análisis que realizarás en las tareas que componen esta situación de aprendizaje debes ir volcando toda la información en el que será el documento proyecto.

Para cumplir con el propósito de la tarea debes ir desarrollando las siguientes tareas que iremos explicando en clase. Pulsa en cada una de las tareas para desplegarla.

Plan

Definir los objetivos de tu proyecto web, las características y las funcionalidades que debe ofrecer.

En todo proyecto debe haber una fase previa de análisis que guiará todo el proceso posterior de desarrollo.

Aquí tienes un ejemplo de la información sobre la que debes reflexionar.

Configuración

Instalar WordPress y realiza las configuraciones básicas.

Título del sitio, formato de entradas, disuadir motores de búsqueda de indexar el sitio, etc.

Usuarios

Crear los usuarios necesarios.

Es interesante disponer de diferentes tipos de usuarios según la tarea que se vaya a desarrollar sobre el sitio en ese momento. Así se acotan los privilegios que se tienen sobre la aplicación y desde el punto de vista de la seguridad siempre hay que aplicar una política de mínimos privilegios necesarios.

Al menos debes crear un editor y un autor y demostrarlo mediante captura de pantalla en tu presentación.

Contesta a la pregunta: ¿Cuáles son los permisos que tiene cada rol de los usuarios creados? 

Tema

Elige un tema que cumpla con los requisitos de tu guía de estilos.

Este es uno de las tareas más relevantes y posiblemente la más difícil. Aquí tienes una guía que te ayudará a elegir uno con mejor criterio.

Debes dedicar tiempo a buscar haciendo uso de los filtros de búsqueda para acotar resultados ya que la cantidad de temas disponibles es abrumadora. Aunque existen muchos sitios donde poder encontrar temas de WordPress, para esta tarea será suficiente con buscar en el market oficial de WordPress.org desde la misma aplicación.

Para este proyecto será necesario que el tema tenga buena integración con WooCommerce, el plugin que usaremos para montar nuestra tienda online.

Y recuerda que no tiene por que gustarte a ti, si no a tus buyer personas.

No olvides que por cuestiones de seguridad deberías eliminar los temas que no vayas a usar. No dejan de piezas de software susceptibles de ser atacadas o de contener errores.

Justifica la elección del tema en relación al análisis previo que has realizado sobre objetivos del proyecto, buyer persona, audiencia, funcionalidades, guía de estilos, etc.

Demuestra que has sabes usar filtros de búsquedas y que has analizado lasque las características del tema son apropiadas (valoraciones, la fecha última actualización, los componentes del tema, otras características)

Estructura

Diseña los menús, la sección blog y contenidos de la página principal.

En esta fase vamos a comenzar a diseñar tu sitio. Deberás aprender a usar el tema que has elegido. Cada uno tiene sus particularidades y debes familiarizarte con ellas.

Dedica tiempo a explorar y probar todas las características para aprender todo lo que te ofrece y qué puedes llegar a hacer ese tema.

Contenidos

Crea los contenidos necesarios

Ya dispones del esqueleto de tu sitio web. Ahora debes comenzar a crear contenidos (entradas y páginas).

Para esta tarea serán requeridos al menos los siguientes contenidos:

  • La landing page: Echa un vistazo a esta web para conocer las características deseables de una landing page. Debería contener diferentes secciones y elementos variados.
  • Al menos una página (de contacto, por ejemplo) en la que demuestres el uso de diferentes bloques (cabeceras, párrafos, formatos de texto, imágenes, enlaces, etc.)
  • 2 entradas del blog con dos categorías distintas en la que demuestres el uso de diferentes bloques (cabeceras, párrafos, formatos de texto, imágenes, enlaces, etc.).
  • 2 productos de la tienda con información completa (imagen, descripción, precio, talla, etc.)

Cada contenido debe contener diferentes tipos de bloques (imágenes, columnas, enlaces, encabezados, etc.) para demostrar tus habilidades de uso del editor de bloques.

Backups

Diseña e implementa tu estrategia de backup.

Llegado este momento sería conveniente comenzar a realizar backups periódicas de tu sitio web.

Aunque los hostings suelen incluir un servicio de backups, es conveniente tener bajo control este asunto. Por lo que es recomendable disponer de al menos otro medio de realización de copias periódicas. Como ya sabrás dichas copias debería ubicarse en algún otro lugar remoto por motivos de seguridad.

Échale un vistazo a esta presentación para conocer las diferentes opciones de que dispones para realizar backups de WordPress.

Aunque podemos crear un script sencillo para hacer la backup remota de la base de datos y de la carpeta de wordpress wp-content, en este caso usaremos el plugin UpDraftPlus que nos ayudará a simplificar la ejecución de esta tarea.

Debes demostrar que se ha realizado backups, se han planificado y se ha realizado pruebas de restauración para verificar el correcto funcionamiento.

plugins

Instala y configura los plugins necesarios para ofrecer las funcionalidades necesarias.

Ya deberías tener un esqueleto básico y sin contenido de tu sitio web. Ahora te toca indagar entre los plugins disponibles para poder completar las funcionalidades de las que deseas disponer, optimizar su rendimiento, facilitarte su gestión, etc.

Ten en cuenta que un plugin es una pieza de software susceptible de contener fallos o incluso malware. Debes elegirlos con precaución, siempre de sitios verificados, con actualizaciones frecuentes, un buen número de descargas y buena valoración.

Justifica la elección de los plugins que instales en base a los criterios descritos anteriormente.

No olvides que sobrecargar tu wordpress de plugins incrementa el consumo de recursos y aumenta las probabilidades de fallos o ataques. No corras riesgos innecesarios y elimina definitivamente los plugins que no necesites. No es suficiente con desactivarlos ya que así permanecerán en el disco.

Actualizaciones

Mantén actualizado tu sistema.

A estas alturas ya sabrás lo importante que es mantener tu WordPress actualizado por cuestiones de seguridad. No olvides también actualizar los plugins y tu tema. Como regla general debes realizar una backup previamente para poder restaurar en caso de que la actualización genere algún problema. Pero no olvides sopesar la idea de realizar pruebas de la actualización en un laboratorio para verificar que tu WordPress, tema y plugins, son compatibles y funcionan perfectamente sobre la versión de los servicios de la máquina donde corre WordPress.

¿Qué piezas de WordPress debes mantener actualizadas?

Responde a la pregunta

Seguridad

Sigue las siguientes instrucciones y realiza capturas de pantalla que demuestren que has realizado todas las acciones que se comentan en dicho recurso para segurizar tu WordPress. 

Resumen de algunas de las técnicas más efectivas

  • Cambia la URL de acceso wp-admin.
  • Instala algún plugin de seguridad como Wordfence
  • Revisa la salud del sitio en Herramientas -> Salud del sitio.
  • Habilita la conexión segura HTTPS en tu servidor y en WordPress.
  • Elige un hosting seguro.
  • Define política de contraseñas.
  • Realiza una gestión de usuario y roles con el mínimo privilegio requerido.

Aquí tienes un curso de OpenWebinar donde aprenderás a segurizar WordPress paso a paso y en detalle.

Aquí tienes otra fuente en el enlace https://kinsta.com/es/blog/seguridad-wordpress/

Entrega

Escribe un enlace público a la presentación.

Instrumentos de evaluación y calificación

Dibujo relacionado con la instalación de wordpress

Tutorial de instalación de WordPress en Ubuntu 22.04

Partimos de una máquina (en nuestro caso un contenedor de Docker) con los paquete necesarios instalados y los servicios Apache2 y MariaDB correctamente configurados y levantados.

Este proceso de instalación de WordPress consta de las siguientes fases:

  • Descargar y descomprimir la aplicación WordPress en la carpeta del servidor web. Todos los contenidos deben tener como propietario y grupo el del servidor web además de unos permisos específicos.
  • Crear una base de datos donde WP creará todas las tablas y albergará muchos datos.
  • Crear un usuario y concederle los privilegios necesarios para que WP pueda acceder a la BD creada anteriormente.
  • Acceder al menú de instalación de WP desde el navegador.

Vamos paso a paso:

Descargamos la última versión de WordPress

apt install wget
wget https://es.wordpress.org/latest-es_ES.tar.gz

Lo descomprimimos en el directorio del servidor web

tar xf latest-es_ES.tar.gz -C /var/www/html/

Cambiamos el usuario y el grupo de la carpeta wordpress y todo su contenido para que el servidor web tenga privilegios suficientes sobre dicha carpeta.

chown -R www-data:www-data /var/www/html/wordpress/

Daremos permisos de escritura al grupo del directorio de WordPress. Esto es porque WordPress (a través del servidor web) necesita escribir archivos de configuración, instalar plugins, subir contenidos, actualizarse a sí mismo, etc.

sudo chmod -R g+w /var/www/html/wordpress/

Configurando la base de datos

Para ello usaremos el cliente de consola de MySQL accediendo con un usuario con permisos para crear bases de datos y otros usuarios (o el mismo root):

mysql -u root -p

Creamos la base de datos para WordPress:

CREATE DATABASE wordpress CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;

Creamos un usuario para wordpress. Aunque no es lo recomendable en un caso real, omo estamos haciendo una práctica lo llamaremos wordpress con contraseña wordpress para mayor comodidad.

CREATE USER 'wordpress'@'localhost' identified by 'wordpress';

Y concedemos permisos del usuario sobre la base de datos:

GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';

Ya podemos cerrar la conexión al servicio de bases de datos, no sin antes refrescar la tabla de permisos

FLUSH PRIVILEGES;
EXIT

Reiniciamos los servicios antes de continuar con el proceso de instalación de WordPress:

service apache2 restart
service mariadb restart

Accedemos a wordpress desde nuestro navegador web: http://ip-del-server/worpdress

Para conocer la IP del server podemos usar el comando:

ip a

Introducimos los datos de acceso que configuramos en la base de datos wordpress y voila!

ventana de añadir entrada de Wordpress

Tarea: Tu web con WordPress

Propósito

En el trascursos de esta unidad el profesor ha ido explicando muchos conceptos y ha realizado demostraciones sobre el uso del CMS WordPress. El objetivo de esta tarea es desarrollar unos contenidos y configuraciones en tu proyecto web con WordPress para poder practicar y demostrar tus conocimientos y habilidades adquiridos en dicha materia.

Con del desarrollo de esta tarea se pretende que adquieras destreza en el diseño de proyectos web con WordPress a través de la práctica.

Descripción de la tarea

Se trata de desarrollar los principales contenidos en tu proyecto web con WordPress sobre el tema elegido. Estos contenidos serán:

  • Una página principal que integre diversos tipos de contenidos (servicios, team, portfolio, contact, testimonial, etc.). Aquí tienes un ejemplo, otro, y otro.
  • Una sección blog con varias publicaciones que contengan sus correspondienets metadatos (imagen destacada, categorías, etiquetas, etc.).
  • Menús de navegación (principal, social media)
  • Una apariencia que siga los principios básicos del diseño web

Una implementados dichos contenidos se ha de elaborar una presentación con capturas de pantalla en la que demuestres todos los criterios evaluados en la rúbrica de esta tarea. Usa este modelo de presentación

Entrega

Debes escribir el enlace a tu presentación en el editor de la Moodle.

Criterios de evaluación implicados

RA1.d) Se ha personalizado la interfaz del gestor de contenidos.

RA1.e) Se han realizado pruebas de funcionamiento.

RA1.g) Se han instalado y configurado los módulos y menús necesarios.

Instrumentos de evaluación

Rúbrica de evaluación

 

 

Captura de pantalla de la web de soporte de Wordpress.org sobre Roles

Tarea: Analizando empíricamente los roles de WordPress

Propósito

Analizar de manera empírica los diferentes permisos de cada rol en Worpress para comprender cuales son las funciones generales de cada uno de ellos y saber asignarlos según diferentes escenarios.

Descripción de la tarea
  1. Crear un usuario para cada uno de los roles disponibles en WordPress. Ten en cuenta que el rol Super Admin no puede ser asignado a nuevos usuarios.
  2. Haz login con cada uno de los usuarios creados anteriormente y comprueba cómo cambia la interfaz y las funciones o permisos de que dispone cada uno de ellos.
  3. Rellena con X la siguiente tabla para cada uno de los roles según si pueden o no realizar dichas acciones:
CapabilitySuper AdminAdministratorEditorAuthorContributorSubscriber
upload_plugins
upload_themes
activate_plugins
create_users
delete_plugins
delete_themes
delete_users
edit_files
edit_plugins
edit_theme_options
edit_themes
edit_users
export
import
install_plugins
install_themes
list_users
remove_users
switch_themes
update_core
update_plugins
update_themes
customize
moderate_comments
manage_categories
edit_others_posts
edit_pages
edit_others_pages
edit_published_pages
publish_pages
delete_pages
delete_others_pages
delete_published_pages
delete_others_posts
delete_private_posts
edit_private_posts
read_private_posts
delete_private_pages
edit_private_pages
read_private_pages
edit_published_posts
upload_files
publish_posts
delete_published_posts
edit_posts
delete_posts
read
Entrega

Escribe en el editor de la Moodle un enlace a la tabla con tu propuesta de solución en el formato que creas más apropiado.

Criterios evaluación implicados

RA1c .Se han gestionado usuarios con roles diferentes.

Instrumentos de calificación

Esta tarea no será calificada. Te preparará para superar el cuestionario de Moodle sobre Roles en WordPress. Una vez terminada la tarea la comentaremos en clase para obtener las correspondientes conclusiones antes de realizar el cuestionario.

Captura del resultado de la apariencia deseada de la web

Tarea: Primeros pasos CSS

Propósito
  • Conocer la sintaxis del lenguaje CSS
  • Aprender a enlazar una hoja de estilos desde un fichero HTML
  • Conocer algunos selectores y propiedades CSS
Descripción de la tarea

Tu objetivo es reproducir lo más fielmente posible la web de la imagen de la cabecera de este post aplicando estilos CSS a tu fichero ikigai.html elaborado en la tarea primeros pasos HTML.

Ten en cuenta también el estilo necesario para conseguir que los enlaces del menú cambien de apariencia cuando coloquemos el puntero encima.

Recuerda que una vez escrito tu código es recomendable repasar para simplificarlo, corregir pequeños errores y en definitiva mejorar su lectura para futuros mantenimientos.

Sube tu fichero al repositorio de GitHub del proyecto ikigai.

Entrega

Enlace al repositorio de Github que contenga los ficheros .css y .html

Criterios de evaluación
  • Se ha enlazado el fichero .css correctamente.
  • Conoce la sintaxis CSS.
  • Se ha usado el selector universal.
  • Se ha usado algún selector de etiqueta.
  • Se ha usado alguna unidad relativa como px o rem adecuadamente.
  • Se han usado otros selectores.
  • Se ha configurado la imagen flotante mediante CSS.
  • Se han usado propiedades CSS para establecer el estilo de fuente (tipo, color, tamaño, grosor,etc.)
  • Se han definido un margen entre los elementos con la propiedad CSS margin.

Tarea: Primeros pasos HTML

Propósitos
  • Conocer la sintaxis y estructura básica de un documento HTML5
  • Conocer algunas etiquetas básicas de HTML5
  • Crear una cuenta en GitHub y aprender a subir un fichero en un repositorio
Descripción de la tarea

Escribe un documento HTML5 correcto para reproducir la información de la imagen de cabecera de este post.

Entrega

Enlace al fichero .html

Criterios de evaluación y calificación
  • Es sintácticamente correcta
  • Contiene los elementos e información requerida según la imagen de referencia
  • Se ha realizado un uso correcto de las etiquetas necesarias

Vista de la pantalla de Vista general de Nextcloud

Tarea: Segurización de NextCloud


Propósito

Conocer las pautas generales para configurar una aplicación web y algunas técnicas concretas para NextCloud

Descripción de la tarea

Segurizar una aplicación web, desde el punto de vista del administrador de sistemas, debe comenzar por segurizar la red y máquina donde esté instalada:

  • Cortafuegos, DMZ, etc.
  • Sistema operativo (actualizaciones, cuentas de usuarios, permisos, etc.).
  • Los servicios sobre los que corre nuestra aplicación (sistema gestor de base de datos, servidor de aplicaciones, servidor web, etc.).

Una vez segurizada nuestra red y nuestra máquina comenzaríamos con la segurización de nuestra aplicación:

  • Actualización de la aplicación y de los plugins.
  • Políticas de contraseñas.
  • Autenticación en dos pasos.
  • Estrategia de Backup.
  • Habilitar HTTPS.

Para NextCloud concretamente, disponemos de una herramienta nativa que nos hace una serie de recomendaciones en Ajustes >> Administración >> Vista general, por lo que puede ser un buen comienzo.

En esta tarea se pide que elabores una presentación con una lista de acciones para segurizar NextCloud adjuntando algunas capturas de pantalla de las que hayas implementado en tu servidor.

Entrega

Enlace a la presentación

Recursos
Criterios de evaluación implicados
  • RA3.h Se ha comprobado la seguridad del gestor de archivos.
Criterios de calificación

Los conocimientos adquiridos mediante la resolución de esta tarea serán evaluados y calificados mediante cuestionario de Moodle

Vista de la interfaz de fichero de NextCloud

Tarea: Gestión de archivos con NextCloud

Propósito

Aprender a gestionar archivos y carpetas en el sistema de gestión de archivos web NextCloud

Descripción de la tarea
  1. Realiza una captura que demuestre cómo se sube un archivo a tu NextCloud.
  2. Realiza una captura del menú de operaciones disponibles sobre archivos (renombrar, eliminar, mover, compartir, etc.).
  3. Realiza una captura de pantalla que demuestre cómo ordenar la visualización de archivos.
  4. Realiza una captura de pantalla que demuestre cómo buscar archivos.
Criterios de evaluación implicados
  • RA3.e Se han gestionado archivos y directorios.
  • RA3.f Se han utilizado archivos de información adicional.
  • RA3.g Se han aplicado criterios de indexación sobre los archivos y directorios.
Entrega

Incluye todas las capturas requeridas en una presentación de Google Drive y pega el enlace a dicha presentación en el editor de la Moodle.

Requisitos
  • La captura de pantalla permite visualizar con claridad el texto y verificar que se ha completado la tarea con éxito.
  • El enlace ha de ser accesible.
  • Las capturas han de incluir información que permita identificar al autor/a.
Criterios de calificación

Las capturas de pantalla, efectivamente, demuestran que sabes gestionar archivos y carpetas en Nextcloud

Captura de pantalla de la gestión de usuarios en nextcloud

Tarea: Añadiendo usuarios a Nextcloud

Propósito

Aprender a gestionar usuarios en el sistema de gestión de archivos web NextCloud

Descripción de la tarea
  1. Crea un grupo en NextCloud.
  2. Crea un usuario nuevo (no administrador) y asígnalo al grupo previamente creado.
Criterios de evaluación implicados

RA3.d Se han creado y clasificado cuentas de usuario en función de sus permisos.

Entrega

Inserta en editor de la Moodle una captura de pantalla que demuestre que se ha completado la tarea.

Requisitos

La captura de pantalla permite visualizar con claridad el texto y verificar que se ha completado la tarea con éxito

Criterios de calificación

La captura de pantalla, efectivamente, demuestra que se ha creado un grupo y asignado a un usuario nuevo