Usar Akismet en formularios de contacto

Akismet se creó originalmente para filtrar spam en los comentarios de blogs, pero también puede hacer lo mismo con los formularios de contacto. Si estás desarrollando un formulario de contacto y quieres integrarlo con Akismet, sigue las instrucciones a continuación.

Primero, lee la documentación del endpoint de la API comment-check y luego aplica las siguientes modificaciones de parámetros en tu implementación:

permalink: Usa la URL del formulario de contacto.

comment_type: Usa contact_form

comment_author: Si tu formulario de contacto tiene un campo con el nombre completo de la persona que lo rellena, úsalo aquí.

comment_author_email: Si tu formulario de contacto tiene un único campo para la dirección de correo electrónico del usuario, úsalo aquí.

comment_author_url: Si tu formulario tiene un único campo para que el usuario introduzca su URL, úsalo aquí.

Para cada uno de los demás campos de texto libre que el usuario escribe en tu formulario, envía cada uno como un parámetro independiente con el formato contact_form_field_fieldname, donde fieldname es una versión normalizada de la etiqueta del campo. Por ejemplo, si tienes un campo llamado «Número de teléfono» en el que el usuario introduce 1234567, envía contact_form_field_phone_number=1234567. Un campo llamado «¿Dónde supiste de nosotros?» se nombraría contact_form_field_where_did_you_hear_about_us.

Si alguno de los parámetros no se aplica a tu formulario, omítelo por completo en lugar de enviar un valor vacío. Por ejemplo, si no hay un campo de correo electrónico, no envíes el parámetro comment_author_email en absoluto.

Importante: No incluyas en tu solicitud ningún contenido que el usuario no haya escrito libremente. Por ejemplo, las selecciones de menús desplegables y las etiquetas de casillas de verificación marcadas deben omitirse de la solicitud a Akismet.

Spam no detectado y falsos positivos

Es importante que tu formulario de contacto permita enviar informes a Akismet sobre spam no detectado y falsos positivos. Tu implementación debe guardar la solicitud que se envió originalmente al endpoint comment-check para poder reutilizarla con este fin.

Cuando un envío se marque como spam, reenvía la solicitud original de comment-check, pero al endpoint submit-spam.

Cuando un envío se marque como falso positivo, reenvía la solicitud original de comment-check, pero al endpoint submit-ham.

Antes del lanzamiento

Antes de publicar la integración de Akismet en tu formulario de contacto, repasa la siguiente lista de verificación:

☐ Mi formulario de contacto permite al usuario especificar su clave de API de Akismet (si la clave no está predefinida).

☐ Mi formulario de contacto verifica que la clave de API proporcionada por el usuario sea válida en el momento en que se introduce, y solo entonces.

☐ Mi formulario de contacto incluye los metadatos recomendados en las solicitudes a Akismet, como dirección IP, agente de usuario, referente y enlace permanente.

☐ Mi formulario de contacto incluye todos los campos en los que el usuario escribió un valor, enviados como contact_form_field_[fieldname]

☐ Mi formulario de contacto no envía a Akismet campos que no contengan un valor escrito por el usuario.

☐ Mi formulario de contacto permite marcar envíos como spam no detectado.

☐ Mi formulario de contacto permite marcar envíos como falsos positivos.

Si todo lo anterior se cumple, ¡enhorabuena! Tu integración está lista para su lanzamiento.