¿Entras a Facebook y tu muro parece una pared interminable de anuncios, memes reciclados y páginas de negocios que ni recuerdas cuándo seguiste? 😩

Con los años acumulamos cientos de páginas que ahogan las publicaciones de nuestros amigos y familiares. Quitarlas una por una dando clic, esperando que abra el menú y confirmando puede tomarte toda una tarde.

La buena noticia es que no necesitas instalar ninguna extensión sospechosa que robe tus contraseñas ni pagar por herramientas mágicas. Puedes automatizar la limpieza directamente desde tu navegador con un script seguro y transparente. 🧹✨

⚠️ El peligro de las extensiones para “limpieza masiva”

En internet abundan extensiones de navegador que prometen “Unfollow masivo en un clic”. El problema:

  • 🛑 Piden acceso total a tu sesión: Muchas leen tus cookies privadas y pueden acceder a tus cuentas.
  • 🛑 Te pueden bloquear: Dan clics a velocidad sobrehumana (un clic cada medio segundo), lo que activa las alarmas anti-bot de Facebook y bloquea tu cuenta por actividad inusual.

El método que verás aquí corre en la consola oficial de tu propio navegador (Chrome, Firefox, Edge o Brave), no envía datos a nadie e incluye pausas de 4 a 6 segundos entre cada página para simular el comportamiento de una persona real. 🛡️

📋 Paso a paso: Cómo limpiar tus páginas en 3 minutos

1. Abre tu lista de páginas en la computadora

Inicia sesión en Facebook desde tu navegador de escritorio y ve a tu sección de páginas seguidas o que te gustan:

👉 Ve a tu Perfil ➔ pestaña MásMe gusta (o entra a [facebook.com/me/following](https://facebook.com/me/following)).

Asegúrate de ver en pantalla las tarjetas con los nombres de las páginas y su menú de tres puntos.

2. Abre la consola de desarrollo del navegador

  • En Firefox: Presiona Ctrl + Shift + K
  • En Chrome / Brave / Edge: Presiona Ctrl + Shift + J (o presiona la tecla F12)

(Nota para usuarios de Firefox: Si es tu primera vez pegando código, la consola te mostrará una advertencia roja de seguridad. Escribe la frase permitir pegar en la consola, presiona Enter y ya podrás pegar normalmente).

3. Pega el código y presiona Enter

Copia el siguiente bloque de código completo, pégalo en la consola y pulsa la tecla Enter:

JavaScript

(async () => {
  const sleep = (ms) => new Promise(res => setTimeout(res, ms));
  const MAX_LIMIT = 50; // Límite seguro por tanda
  let count = 0;

  console.log("%cIniciando desuscripción de páginas...", "color: #1877F2; font-weight: bold;");

  const getOptionButtons = () => {
    return Array.from(document.querySelectorAll('div[role="button"], button')).filter(el => {
      const label = (el.getAttribute('aria-label') || '').toLowerCase();
      return label.includes('más opciones para') || label.includes('more options for');
    });
  };

  const buttons = getOptionButtons();
  if (buttons.length === 0) {
    console.warn("No se encontraron botones de opciones en pantalla.");
    return;
  }

  for (const btn of buttons) {
    if (count >= MAX_LIMIT) {
      console.log(`%cSe alcanzó el límite de ${MAX_LIMIT}. Deteniendo.`, "color: #FE2C55; font-weight: bold;");
      break;
    }

    btn.scrollIntoView({ behavior: 'smooth', block: 'center' });
    await sleep(600);
    btn.click();
    await sleep(1200);

    // Buscar la opción dentro del menú emergente desplegado
    const menuItems = Array.from(document.querySelectorAll('div[role="menuitem"], div[role="button"], span'));
    const targetAction = menuItems.find(el => {
      const txt = (el.innerText || el.textContent || '').trim().toLowerCase();
      return txt === 'dejar de seguir' || 
             txt.includes('dejar de seguir') || 
             txt === 'ya no me gusta' || 
             txt.includes('ya no me gusta');
    });

    if (targetAction) {
      targetAction.click();
      count++;
      console.log(`%c[${count}/${MAX_LIMIT}] Acción aplicada a la página.`, "color: #00FF66; font-weight: bold;");
      await sleep(1200);

      // Si se abre un modal pidiendo confirmación
      const confirmBtn = Array.from(document.querySelectorAll('button, div[role="button"]')).find(el => {
        const txt = (el.innerText || el.textContent || '').trim().toLowerCase();
        return txt === 'confirmar' || txt === 'aceptar';
      });
      if (confirmBtn) {
        confirmBtn.click();
        await sleep(600);
      }
    } else {
      console.warn("No se localizó 'Dejar de seguir' en el menú; cerrando...");
      document.body.click(); // Clic fuera para cerrar el menú desplegado
      await sleep(600);
    }

    // Pausa de 4 a 6 segundos entre páginas para evitar bloqueos
    const waitTime = Math.floor(Math.random() * 2000) + 4000;
    await sleep(waitTime);
  }

  console.log(`%cProceso terminado. Total procesados: ${count}`, "color: #1877F2; font-weight: bold;");
})();

🧠 ¿Qué hace este script exactamente?

  • Detecta los menús: Localiza el botón de tres puntos de cada página (Más opciones para...).
  • Despliega y busca la opción: Hace clic en el menú y selecciona automáticamente "Dejar de seguir" o "Ya no me gusta".
  • Confirma por ti: Si Facebook abre una ventana emergente preguntando “¿Seguro que quieres dejar de seguir?”, el código pulsa “Confirmar” automáticamente.
  • Ritmo anti-bloqueo: Espera entre 4 y 6 segundos entre cada página para que Meta no interprete la acción como spam.
  • Control de tanda: Al llegar a 50 páginas procesadas (MAX_LIMIT = 50), se detiene solo.

💡 Consejo para limpiar cientos de páginas

Si tienes más de 50 páginas acumuladas, una vez que termine la primera tanda:

  1. Haz scroll hacia abajo en tu pantalla para que Facebook cargue más páginas en la lista.
  2. Vuelve a pegar el script (o presiona la tecla de flecha hacia arriba en la consola para recargar el comando) y pulsa Enter.
  3. Para mantener tu cuenta protegida, es recomendable procesar una o dos tandas de 50 por día, dejando descansar la cuenta entre sesiones.