Mình từng là kiểu người mỗi sáng mở mắt ra là vào Facebook, copy bài rồi chia sẻ thủ công vào từng nhóm. Ngày nào cũng vậy, lặp đi lặp lại như một cái máy. Đăng được 5 nhóm là mỏi tay, mà đôi khi còn quên mất nhóm chính. Từ lúc bắt đầu bán hàng online và làm affiliate, mình mới thấy việc này thực sự mất thời gian.
Tình cờ một hôm, mình tìm hiểu code trên mạng và chế ra cách dùng code F12 để tự động chia sẻ bài vào nhiều nhóm Facebook cùng lúc. Mình thử làm theo, và thật sự bất ngờ! Chỉ vài thao tác đơn giản là xong. Không cần giỏi lập trình, không phải cài phần mềm nào phức tạp.
Nếu bạn cũng đang loay hoay mỗi ngày với việc đăng bài, bài viết này sẽ giúp bạn tự động hóa công việc đó theo cách đơn giản nhất.

Code F12 là gì? Có nên dùng không?
Lúc đầu nghe “code F12”, mình tưởng là cái gì cao siêu lắm. Nhưng thật ra nó chỉ là một đoạn mã JavaScript nhỏ, mình dán thẳng vào khung Console của trình duyệt là chạy được. Không cần cài đặt gì, không cần kiến thức lập trình chuyên sâu. Chỉ cần mở Facebook, nhấn F12, chọn tab Console là bạn đã có thể bắt đầu.
Hồi đó, mình chưa hiểu gì về JavaScript mà vẫn dùng được. Vì đoạn code đã được viết sẵn, mình chỉ cần thay vài thông tin cơ bản như nội dung bài viết, ID nhóm là có thể chạy được ngay.
Có một hôm, mình bận quá, không kịp đăng bài như thường lệ. Nhờ code F12 này, mình chỉ mất chưa đến 1 phút để chia sẻ bài vào 10 nhóm một lúc. Quá đã luôn.
Tuy nhiên, cũng cần nhắc trước: nếu dùng sai cách hoặc lạm dụng, tài khoản của bạn có thể bị checkpoint. Vậy nên đừng quá “máu chiến”, mà hãy làm từ từ, có kiểm soát nhé.
Chuẩn bị gì trước khi dùng code F12 chia sẻ bài Facebook?
Dù code F12 khá đơn giản và dễ dùng, nhưng mình khuyên bạn nên chuẩn bị vài thứ cơ bản trước khi bắt đầu. Chuẩn không bao giờ thừa, đúng không?
Tài khoản Facebook ổn định
Trước hết, hãy dùng tài khoản thật, có tương tác, có bạn bè. Đừng dùng clone trắng tinh rồi chạy code, vì Facebook sẽ “nghi” ngay. Mình từng test bằng tài khoản mới lập, chưa đầy 3 phút là bị checkpoint luôn.
Nếu bạn sợ mất nick chính, hãy dùng nick phụ nhưng nhớ nuôi trước ít nhất vài ngày. Like dăm ba cái post, comment vài dòng, tham gia vài nhóm thật sự đang hoạt động.
Tham gia nhóm và được phép đăng bài
Nghe thì hiển nhiên, nhưng nhiều nhóm bắt duyệt bài hoặc khóa chức năng đăng, nên kiểm tra kỹ trước khi chạy. Có hôm mình dán code chạy rầm rầm mà không thấy bài đâu, hóa ra nhóm đã khoá đăng từ lâu.
Hướng dẫn từng bước chạy code F12 để chia sẻ bài vào nhóm Facebook
Sau khi chuẩn bị đầy đủ, mình bắt đầu thử chạy đoạn code F12 đầu tiên. Lúc ấy cũng hơi run, sợ bị “bể nick” như mấy bạn từng cảnh báo. Nhưng thật ra, nếu bạn làm đúng, thì khá an toàn và hiệu quả. Dưới đây là các bước mình đã thực hiện, rất đơn giản luôn!
Bước 1: Mở Facebook và nhấn F12
Bạn vào trang chủ Facebook của bạn, bấm vào bài bạn muốn chia sẻ. Nhấn phím F12 để mở Developer Tools, rồi chọn tab Console. Đây là nơi để bạn dán đoạn mã JavaScript vào.

Bạn sẽ nhận được thông báo “Dừng lại!” nhưng đừng lo, đó là bảo mật của nền tảng, mình cứ sử dụng bình thường.
Bước 2: Nhấn vào bài viết bạn muốn chia sẻ
Bạn cần nhấn vào link bài post mà bạn muốn chia sẻ, ở dạng modal như thế này

Bước 3: Dán đoạn mã chia sẻ bài viết
Copy đoạn code JavaScript ở đây và dán vào Console. Sau đó nhấn Enter để chạy.
(async function autoShareOneByOneLoop() {
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));
const delay = 2500;
const STORAGE_KEY = "sharedGroups";
let sharedGroupNames = JSON.parse(localStorage.getItem(STORAGE_KEY) || "[]");
let sharedLinks = [];
// ✅ Thêm nút Reset vào giao diện
function createResetButton() {
const existing = document.getElementById("reset-shared-groups-btn");
if (existing) return;
const btn = document.createElement("button");
btn.innerText = "🔄 Reset danh sách chia sẻ";
btn.id = "reset-shared-groups-btn";
btn.style.position = "fixed";
btn.style.bottom = "20px";
btn.style.right = "20px";
btn.style.zIndex = "9999";
btn.style.padding = "10px 16px";
btn.style.background = "#ff3b30";
btn.style.color = "white";
btn.style.border = "none";
btn.style.borderRadius = "8px";
btn.style.fontSize = "14px";
btn.style.cursor = "pointer";
btn.title = "Xóa danh sách nhóm đã chia sẻ để chạy lại từ đầu";
btn.addEventListener("click", () => {
localStorage.removeItem(STORAGE_KEY);
sharedGroupNames = [];
sharedLinks = [];
alert("✅ Đã reset danh sách nhóm đã chia sẻ.");
});
document.body.appendChild(btn);
}
async function openGroupModalAndSearch() {
const modal = document.querySelector('div[role="dialog"]');
const shareBtn = modal
? Array.from(modal.querySelectorAll('div[role="button"]')).find(btn => btn.innerText.trim().includes('Chia sẻ'))
: null;
if (!shareBtn) {
console.log("❌ Không tìm thấy nút chia sẻ.");
return false;
}
shareBtn.click();
await sleep(2000);
const groupBtn = Array.from(document.querySelectorAll('div[role="button"]'))
.find(btn => btn.innerText?.trim() === "Nhóm");
if (!groupBtn) {
console.log("❌ Không thấy nút 'Nhóm'");
return false;
}
await sleep(3000);
groupBtn.click();
await sleep(3000);
const searchInput = document.querySelector('input[placeholder*="Tìm kiếm nhóm"]');
if (!searchInput) {
console.log("❌ Không tìm thấy ô tìm kiếm nhóm. Đang chạy lại...");
return "RETRY";
}
const setter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
setter.call(searchInput, 'chợ');
searchInput.dispatchEvent(new Event('input', { bubbles: true }));
await sleep(4000);
return true;
}
function getUnsharedGroupButton() {
const buttons = Array.from(document.querySelectorAll('div[role="button"]'));
return buttons.find(btn => {
const name = btn.innerText?.trim().toLowerCase();
return (
name &&
(name.includes("chợ") || name.includes("lạng sơn") || name.includes("cao bằng")) &&
!sharedGroupNames.includes(name)
);
});
}
async function shareToNextGroup() {
const result = await openGroupModalAndSearch();
if (result === "RETRY") {
console.log("🔄 Đang thử lại mở giao diện chia sẻ nhóm...");
await sleep(3000);
return shareToNextGroup();
}
if (!result) return;
const groupBtn = getUnsharedGroupButton();
if (!groupBtn) {
console.log("✅ Không còn nhóm mới để chia sẻ. Đang tải xuống file...");
downloadSharedLinks();
return;
}
const groupName = groupBtn.innerText.trim().toLowerCase();
console.log(`👉 Chia sẻ vào nhóm: ${groupName}`);
const groupUrl = groupBtn.closest('a')?.href;
if (groupUrl) {
sharedLinks.push(groupUrl);
console.log(`🔗 Đã lưu link nhóm: ${groupUrl}`);
}
groupBtn.scrollIntoView({ behavior: "smooth", block: "center" });
groupBtn.click();
await sleep(delay);
let postButton = null;
for (let i = 0; i < 10; i++) {
postButton = Array.from(document.querySelectorAll('div[role="button"]'))
.find(btn => btn.innerText?.trim().toLowerCase() === "đăng");
if (postButton) break;
await sleep(500);
}
if (postButton) {
console.log("✅ Đã nhấn nút 'Đăng'");
postButton.click();
sharedGroupNames.push(groupName);
localStorage.setItem(STORAGE_KEY, JSON.stringify(sharedGroupNames));
await sleep(5000);
} else {
console.warn("⚠️ Không tìm thấy nút 'Đăng'");
}
await sleep(4000);
shareToNextGroup();
}
function downloadSharedLinks() {
const content = sharedLinks.join('\n');
const blob = new Blob([content], { type: 'text/plain;charset=utf-8' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'shared_groups_links.txt';
a.click();
URL.revokeObjectURL(url);
console.log("📥 Đã tải file shared_groups_links.txt");
}
createResetButton();
shareToNextGroup();
})();
Bước 4: Theo dõi phản hồi
Ngay sau khi nhấn Enter, bên dưới sẽ hiện ra phản hồi. Nếu quá trình chia sẻ lỗi thì hệ thống sẽ tự chạy lại.

Vì sao cần delay giữa các lượt đăng?
Mỗi lần đăng, mình để cách nhau 15 giây (15.000 milliseconds). Như vậy sẽ giảm nguy cơ bị checkpoint vì spam. Ngày đầu mình hăm hở chạy không delay, Facebook khóa luôn token trong vòng 5 phút. Vừa buồn cười vừa đau.
Nhớ nhé, chậm mà chắc vẫn hơn!
Mẹo tránh checkpoint và tối ưu hiệu quả khi dùng code F12
Nếu bạn định dùng code F12 thường xuyên, thì tránh checkpoint là chuyện không thể xem nhẹ. Mình từng “đăng phà phà” vào hơn 20 nhóm trong vòng 3 phút. Kết quả là… bị Facebook “mời uống nước chè” ngay lập tức. Tài khoản tạm khoá, token vô hiệu hóa. Cay lắm!
Đăng tối đa bao nhiêu nhóm là an toàn?
Theo kinh nghiệm của mình, mỗi lần chỉ nên đăng tối đa 7–10 nhóm. Sau đó nghỉ khoảng 30–60 phút. Nếu có nhiều nhóm cần chia sẻ, hãy chia ra làm nhiều đợt trong ngày.
Tài khoản phải có tương tác thật
Hãy nuôi tài khoản như người thật: like, bình luận, xem video… đều đặn vài ngày trước khi chạy. Tài khoản càng “xịn”, tỷ lệ checkpoint càng thấp.
Đừng ham quá mà “quá tay”. Auto là để đỡ vất, chứ không phải đốt tài khoản nhé!
Từ ngày biết đến code F12 chia sẻ bài vào nhóm Facebook, mình tiết kiệm được rất nhiều thời gian. Không còn cảnh copy dán từng nhóm, không còn quên nhóm nào đã đăng hay chưa.
Nếu bạn là người bận rộn, làm online hoặc bán hàng trên Facebook, đây thực sự là một công cụ nhỏ nhưng hữu ích.
Tất nhiên, đừng dừng lại ở đây. Sau khi quen tay, bạn có thể nâng cấp đoạn code, thêm phần đính kèm hình ảnh, link sản phẩm, hoặc thậm chí kết hợp với cronjob để tự động hoá hằng ngày.
Mình vẫn đang thử nghiệm thêm mấy cái hay ho nữa. Nếu bạn quan tâm, hãy để lại bình luận nhé. Mình sẽ chia sẻ tiếp phần nâng cao trong bài viết sau!

Chào bạn, mình là Trung LEO – người hay loay hoay với mấy mẹo nhỏ mỗi ngày và rất thích chia sẻ lại nếu thấy chúng thực sự hữu ích.
Blog này ra đời đơn giản vì mình nghĩ: “Nếu mình từng gặp rắc rối với việc đó, chắc chắn sẽ có người khác cũng đang gặp y chang.” Thế là mình bắt đầu viết.
Ở đây bạn sẽ tìm thấy đủ thứ mẹo – từ mẹo dùng điện thoại, mẹo nấu ăn, mẹo văn phòng, mẹo học tập… tất cả đều nhẹ nhàng, dễ hiểu và thực tế. Không lý thuyết dài dòng, không màu mè.
Nếu blog này giúp bạn tiết kiệm được vài phút, đỡ căng thẳng hơn chút, hay đơn giản là cười nhẹ vì thấy “ơ mình cũng từng vậy” – thì với mình, vậy là đủ vui rồi!
Rất vui nếu bạn ghé thăm thường xuyên. Có gì muốn góp ý, tâm sự hay chia sẻ thêm mẹo hay, bạn cứ vào trang [Liên hệ] nói chuyện với mình nhé! 👋
