<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Công cụ SEO miễn phí &#8211; ABCwebsite</title>
	<atom:link href="https://abcwebsite.com.vn/cong-cu-seo-mien-phi/feed/" rel="self" type="application/rss+xml" />
	<link>https://abcwebsite.com.vn</link>
	<description>Thiết kế website tiêu chuẩn quốc tế</description>
	<lastBuildDate>Fri, 01 May 2026 14:39:51 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://abcwebsite.com.vn/wp-content/uploads/2025/10/cropped-ABC-small-32x32.png</url>
	<title>Công cụ SEO miễn phí &#8211; ABCwebsite</title>
	<link>https://abcwebsite.com.vn</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Công cụ tạo Sitemap miễn phí</title>
		<link>https://abcwebsite.com.vn/cong-cu-tao-sitemap-mien-phi/</link>
		
		<dc:creator><![CDATA[Thế Lộc Nguyễn]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 06:36:06 +0000</pubDate>
				<category><![CDATA[Công cụ SEO miễn phí]]></category>
		<guid isPermaLink="false">https://abcwebsite.com.vn/?p=3510</guid>

					<description><![CDATA[<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-tao-sitemap-mien-phi/">Công cụ tạo Sitemap miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></description>
										<content:encoded><![CDATA[    <style>
        .sitemap-gen {
            background: #fff;
            padding: 24px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            border: 1px solid #eaeaea;
            display: flex;
            gap: 24px;
            flex-wrap: wrap;
        }

        .sitemap-gen-left,
        .sitemap-gen-right {
            flex: 1;
            min-width: 320px;
        }

        .sitemap-gen h3 {
            margin: 0 0 16px 0;
            color: #333;
            font-size: 18px;
            border-bottom: 2px solid #0f75bd;
            padding-bottom: 8px;
        }

        .sitemap-gen-row {
            margin-bottom: 16px;
        }

        .sitemap-gen-row label {
            display: block;
            margin-bottom: 6px;
            font-weight: 600;
            color: #333;
            font-size: 14px;
        }

        .sitemap-gen-row input[type="text"],
        .sitemap-gen-row input[type="url"],
        .sitemap-gen-row textarea {
            width: 100%;
            padding: 9px 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
            font-size: 14px;
        }

        .sitemap-gen-row input:focus,
        .sitemap-gen-row textarea:focus {
            border-color: #0f75bd;
            outline: none;
            box-shadow: 0 0 0 2px rgba(15, 117, 189, 0.15);
        }

        /* Add URL inline */
        .sitemap-add-inline {
            display: flex;
            gap: 8px;
        }

        .sitemap-add-inline input {
            flex: 1;
        }

        .sitemap-btn-add-url {
            background: #0f75bd;
            color: #fff;
            border: none;
            padding: 9px 18px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 14px;
            font-weight: 600;
            white-space: nowrap;
            transition: opacity 0.2s;
        }

        .sitemap-btn-add-url:hover {
            opacity: 0.85;
        }

        /* Import area */
        .sitemap-import-area textarea {
            min-height: 80px;
            resize: vertical;
        }

        .sitemap-btn-import {
            background: #f0f4f8;
            border: 1px dashed #0f75bd;
            color: #0f75bd;
            padding: 8px 16px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            transition: all 0.2s;
            width: 100%;
            margin-top: 8px;
        }

        .sitemap-btn-import:hover {
            background: #e0edf7;
        }

        /* URL Table */
        .sitemap-table-wrap {
            overflow-x: auto;
            margin-bottom: 12px;
        }

        .sitemap-url-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
        }

        .sitemap-url-table th {
            background: #f0f4f8;
            padding: 8px 6px;
            text-align: left;
            font-size: 12px;
            color: #555;
            border-bottom: 2px solid #ddd;
            white-space: nowrap;
        }

        .sitemap-url-table td {
            padding: 4px;
            border-bottom: 1px solid #f0f0f0;
            vertical-align: middle;
        }

        .sitemap-url-table tr:hover td {
            background: #f9fbfd;
        }

        .sitemap-url-table select,
        .sitemap-url-table input[type="text"],
        .sitemap-url-table input[type="date"] {
            width: 100%;
            padding: 5px 6px;
            border: 1px solid #ddd;
            border-radius: 3px;
            font-size: 12px;
            box-sizing: border-box;
        }

        .sitemap-url-table .sitemap-url-cell {
            max-width: 200px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 12px;
            color: #0f75bd;
            padding: 5px 6px;
        }

        .sitemap-btn-remove {
            background: none;
            border: none;
            color: #dc3545;
            cursor: pointer;
            font-size: 18px;
            padding: 4px 8px;
            border-radius: 3px;
            transition: background 0.2s;
        }

        .sitemap-btn-remove:hover {
            background: #ffeaed;
        }

        .sitemap-url-count {
            font-size: 13px;
            color: #666;
            margin-bottom: 8px;
        }

        .sitemap-url-count strong {
            color: #0f75bd;
        }

        /* Generate button */
        .sitemap-btn-generate {
            background: #0f75bd;
            color: #fff;
            padding: 12px 28px;
            border: none;
            border-radius: 5px;
            font-size: 15px;
            font-weight: bold;
            cursor: pointer;
            text-transform: uppercase;
            transition: opacity 0.2s;
            width: 100%;
            margin-top: 8px;
        }

        .sitemap-btn-generate:hover {
            opacity: 0.85;
        }

        /* Output */
        .sitemap-output {
            width: 100%;
            min-height: 350px;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 13px;
            line-height: 1.5;
            background: #1e1e2e !important;
            color: #a6e3a1 !important;
            resize: vertical;
            box-sizing: border-box;
            white-space: pre;
        }

        .sitemap-output::placeholder {
            color: #6c7086;
        }

        .sitemap-btn-group {
            display: flex;
            gap: 10px;
            margin-top: 10px;
        }

        .sitemap-btn-copy,
        .sitemap-btn-download {
            flex: 1;
            padding: 10px 16px;
            border: none;
            border-radius: 4px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .sitemap-btn-copy {
            background: #e0edf7;
            color: #0f75bd;
        }

        .sitemap-btn-copy:hover {
            background: #cce0f0;
        }

        .sitemap-btn-download {
            background: #0f75bd;
            color: #fff;
        }

        .sitemap-btn-download:hover {
            opacity: 0.85;
        }

        .sitemap-tip {
            background: #f0f7ff;
            padding: 12px 15px;
            border-left: 4px solid #0f75bd;
            border-radius: 4px;
            margin-top: 16px;
            font-size: 13px;
            color: #333;
            line-height: 1.5;
        }

        @media (max-width: 768px) {
            .sitemap-gen {
                flex-direction: column;
                padding: 16px;
            }

            .sitemap-gen-left,
            .sitemap-gen-right {
                min-width: 100%;
            }

            .sitemap-add-inline {
                flex-direction: column;
            }

            .sitemap-url-table .sitemap-url-cell {
                max-width: 120px;
            }
        }
    </style>

    <div class="sitemap-gen" id="sitemapGenerator">
        <!-- CỘT TRÁI: CẤU HÌNH -->
        <div class="sitemap-gen-left">
            <h3>⚙️ Cấu hình Sitemap</h3>

            <!-- Thêm URL đơn -->
            <div class="sitemap-gen-row">
                <label for="sitemapUrlInput">🔗 Thêm URL</label>
                <div class="sitemap-add-inline">
                    <input type="url" id="sitemapUrlInput" placeholder="https://example.com/trang-moi">
                    <button type="button" class="sitemap-btn-add-url" id="sitemapAddUrl">➕ Thêm</button>
                </div>
            </div>

            <!-- Import hàng loạt -->
            <div class="sitemap-gen-row sitemap-import-area">
                <label for="sitemapImportText">📥 Import hàng loạt (1 URL/dòng)</label>
                <textarea id="sitemapImportText" placeholder="https://example.com/trang-1&#10;https://example.com/trang-2&#10;https://example.com/trang-3"></textarea>
                <button type="button" class="sitemap-btn-import" id="sitemapImportBtn">📥 Import tất cả URL</button>
            </div>

            <!-- Bảng URL -->
            <div class="sitemap-gen-row">
                <label>📋 Danh sách URL</label>
                <div class="sitemap-url-count" id="sitemapUrlCount">Tổng: <strong>0</strong> URL</div>
                <div class="sitemap-table-wrap">
                    <table class="sitemap-url-table">
                        <thead>
                            <tr>
                                <th>URL</th>
                                <th>Tần suất</th>
                                <th>Ưu tiên</th>
                                <th>Ngày sửa</th>
                                <th></th>
                            </tr>
                        </thead>
                        <tbody id="sitemapUrlsBody">
                        </tbody>
                    </table>
                </div>
            </div>

            <button type="button" class="sitemap-btn-generate" id="sitemapGenerate">🚀 Tạo Sitemap XML</button>
        </div>

        <!-- CỘT PHẢI: KẾT QUẢ -->
        <div class="sitemap-gen-right">
            <h3>📄 Kết quả</h3>
            <textarea class="sitemap-output" id="sitemapOutput" readonly
                placeholder="Nội dung file sitemap.xml sẽ hiển thị ở đây sau khi bạn bấm 'Tạo Sitemap XML'..."></textarea>
            <div class="sitemap-btn-group">
                <button type="button" class="sitemap-btn-copy" id="sitemapCopy">📋 Sao chép</button>
                <button type="button" class="sitemap-btn-download" id="sitemapDownload">💾 Tải xuống</button>
            </div>
            <div class="sitemap-tip">
                💡 <b>Hướng dẫn:</b> Sau khi tạo xong, hãy upload file <code>sitemap.xml</code> vào thư mục gốc (root) của
                website, sau đó submit URL sitemap tại <a href="https://search.google.com/search-console" target="_blank" style="color:#0f75bd;font-weight:bold;" rel="noopener">Google Search Console</a> để Google index nhanh hơn.
            </div>
        </div>
    </div>

    <script>
        (function () {
            var tbody = document.getElementById('sitemapUrlsBody');
            var today = new Date().toISOString().split('T')[0];

            // === UPDATE URL COUNT ===
            function updateCount() {
                var count = tbody.querySelectorAll('tr').length;
                document.getElementById('sitemapUrlCount').innerHTML = 'Tổng: <strong>' + count + '</strong> URL';
            }

            // === VALIDATE URL ===
            function isValidUrl(str) {
                try {
                    var url = new URL(str);
                    return url.protocol === 'http:' || url.protocol === 'https:';
                } catch (e) {
                    return false;
                }
            }

            // === CHECK DUPLICATE ===
            function isDuplicate(url) {
                var cells = tbody.querySelectorAll('.sitemap-url-cell');
                for (var i = 0; i < cells.length; i++) {
                    if (cells[i].getAttribute('title') === url) return true;
                }
                return false;
            }

            // === ADD URL ROW ===
            function addUrl(url) {
                url = url.trim();
                if (!url) return false;

                if (!isValidUrl(url)) {
                    alert('URL không hợp lệ: "' + url + '"\nURL phải bắt đầu bằng http:// hoặc https://');
                    return false;
                }

                if (isDuplicate(url)) {
                    return false; // Bỏ qua trùng lặp im lặng
                }

                var tr = document.createElement('tr');
                tr.innerHTML =
                    '<td><div class="sitemap-url-cell" title="' + url.replace(/"/g, '&quot;') + '">' + url + '</div></td>' +
                    '<td>' +
                        '<select class="sitemap-freq">' +
                            '<option value="always">always</option>' +
                            '<option value="hourly">hourly</option>' +
                            '<option value="daily">daily</option>' +
                            '<option value="weekly" selected>weekly</option>' +
                            '<option value="monthly">monthly</option>' +
                            '<option value="yearly">yearly</option>' +
                            '<option value="never">never</option>' +
                        '</select>' +
                    '</td>' +
                    '<td>' +
                        '<select class="sitemap-priority">' +
                            '<option value="0.0">0.0</option>' +
                            '<option value="0.1">0.1</option>' +
                            '<option value="0.2">0.2</option>' +
                            '<option value="0.3">0.3</option>' +
                            '<option value="0.4">0.4</option>' +
                            '<option value="0.5" selected>0.5</option>' +
                            '<option value="0.6">0.6</option>' +
                            '<option value="0.7">0.7</option>' +
                            '<option value="0.8">0.8</option>' +
                            '<option value="0.9">0.9</option>' +
                            '<option value="1.0">1.0</option>' +
                        '</select>' +
                    '</td>' +
                    '<td><input type="date" class="sitemap-lastmod" value="' + today + '"></td>' +
                    '<td><button type="button" class="sitemap-btn-remove" title="Xóa URL này">&times;</button></td>';

                tr.querySelector('.sitemap-btn-remove').addEventListener('click', function () {
                    tr.remove();
                    updateCount();
                });

                tbody.appendChild(tr);
                updateCount();
                return true;
            }

            // === IMPORT URLS ===
            function importUrls() {
                var text = document.getElementById('sitemapImportText').value;
                if (!text.trim()) {
                    alert('Vui lòng dán danh sách URL vào ô Import.');
                    return;
                }

                var lines = text.split('\n');
                var added = 0;
                var skipped = 0;

                for (var i = 0; i < lines.length; i++) {
                    var line = lines[i].trim();
                    if (!line) continue;

                    if (addUrl(line)) {
                        added++;
                    } else {
                        skipped++;
                    }
                }

                alert('✅ Đã import ' + added + ' URL' + (skipped > 0 ? ' (' + skipped + ' URL bị bỏ qua do trùng hoặc không hợp lệ)' : '') + '.');
                document.getElementById('sitemapImportText').value = '';
            }

            // === ESCAPE XML ===
            function escapeXml(str) {
                return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&apos;');
            }

            // === GENERATE SITEMAP XML ===
            function generate() {
                var rows = tbody.querySelectorAll('tr');

                if (rows.length === 0) {
                    alert('Vui lòng thêm ít nhất 1 URL trước khi tạo Sitemap.');
                    return;
                }

                var lines = [];
                lines.push('<?xml version="1.0" encoding="UTF-8"?>');
                lines.push('<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">');

                for (var i = 0; i < rows.length; i++) {
                    var url = rows[i].querySelector('.sitemap-url-cell').getAttribute('title');
                    var freq = rows[i].querySelector('.sitemap-freq').value;
                    var priority = rows[i].querySelector('.sitemap-priority').value;
                    var lastmod = rows[i].querySelector('.sitemap-lastmod').value;

                    lines.push('  <url>');
                    lines.push('    <loc>' + escapeXml(url) + '</loc>');
                    if (lastmod) {
                        lines.push('    <lastmod>' + lastmod + '</lastmod>');
                    }
                    lines.push('    <changefreq>' + freq + '</changefreq>');
                    lines.push('    <priority>' + priority + '</priority>');
                    lines.push('  </url>');
                }

                lines.push('</urlset>');

                document.getElementById('sitemapOutput').value = lines.join('\n');
            }

            // === COPY ===
            function copyOutput() {
                var output = document.getElementById('sitemapOutput');
                if (!output.value) return;
                navigator.clipboard.writeText(output.value).then(function () {
                    alert('Đã sao chép nội dung Sitemap XML vào clipboard!');
                });
            }

            // === DOWNLOAD ===
            function downloadOutput() {
                var output = document.getElementById('sitemapOutput').value;
                if (!output) return;

                var blob = new Blob([output], { type: 'application/xml' });
                var url = URL.createObjectURL(blob);
                var a = document.createElement('a');
                a.href = url;
                a.download = 'sitemap.xml';
                document.body.appendChild(a);
                a.click();
                document.body.removeChild(a);
                URL.revokeObjectURL(url);
            }

            // === EVENT LISTENERS ===
            document.getElementById('sitemapAddUrl').addEventListener('click', function () {
                var input = document.getElementById('sitemapUrlInput');
                if (addUrl(input.value)) {
                    input.value = '';
                }
                input.focus();
            });

            // Enter key để thêm URL nhanh
            document.getElementById('sitemapUrlInput').addEventListener('keydown', function (e) {
                if (e.key === 'Enter') {
                    e.preventDefault();
                    document.getElementById('sitemapAddUrl').click();
                }
            });

            document.getElementById('sitemapImportBtn').addEventListener('click', importUrls);
            document.getElementById('sitemapGenerate').addEventListener('click', generate);
            document.getElementById('sitemapCopy').addEventListener('click', copyOutput);
            document.getElementById('sitemapDownload').addEventListener('click', downloadOutput);
        })();
    </script>
    
<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-tao-sitemap-mien-phi/">Công cụ tạo Sitemap miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Công cụ tạo file robots.txt miễn phí</title>
		<link>https://abcwebsite.com.vn/cong-cu-tao-file-robots-txt-mien-phi/</link>
		
		<dc:creator><![CDATA[Thế Lộc Nguyễn]]></dc:creator>
		<pubDate>Mon, 27 Apr 2026 05:13:04 +0000</pubDate>
				<category><![CDATA[Công cụ SEO miễn phí]]></category>
		<guid isPermaLink="false">https://abcwebsite.com.vn/?p=3508</guid>

					<description><![CDATA[<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-tao-file-robots-txt-mien-phi/">Công cụ tạo file robots.txt miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></description>
										<content:encoded><![CDATA[    <style>
        .robots-gen {
            background: #fff;
            padding: 24px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            border: 1px solid #eaeaea;
            display: flex;
            gap: 24px;
            flex-wrap: wrap;
        }

        .robots-gen-left,
        .robots-gen-right {
            flex: 1;
            min-width: 320px;
        }

        .robots-gen h3 {
            margin: 0 0 16px 0;
            color: #333;
            font-size: 18px;
            border-bottom: 2px solid #0f75bd;
            padding-bottom: 8px;
        }

        .robots-gen-row {
            margin-bottom: 16px;
        }

        .robots-gen-row label {
            display: block;
            margin-bottom: 6px;
            font-weight: 600;
            color: #333;
            font-size: 14px;
        }

        .robots-gen-row input[type="text"],
        .robots-gen-row input[type="number"],
        .robots-gen-row select {
            width: 100%;
            padding: 9px 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
            font-size: 14px;
            background: #fff;
        }

        .robots-gen-row input:focus,
        .robots-gen-row select:focus {
            border-color: #0f75bd;
            outline: none;
            box-shadow: 0 0 0 2px rgba(15, 117, 189, 0.15);
        }

        .robots-gen-inline {
            display: flex;
            gap: 12px;
        }

        .robots-gen-inline>div {
            flex: 1;
        }

        /* Rules Table */
        .robots-rules-table {
            width: 100%;
            border-collapse: collapse;
            font-size: 13px;
            margin-bottom: 12px;
        }

        .robots-rules-table th {
            background: #f0f4f8;
            padding: 8px 6px;
            text-align: left;
            font-size: 12px;
            color: #555;
            border-bottom: 2px solid #ddd;
            white-space: nowrap;
        }

        .robots-rules-table td {
            padding: 4px;
            border-bottom: 1px solid #f0f0f0;
            vertical-align: middle;
        }

        .robots-rules-table tr:hover td {
            background: #f9fbfd;
        }

        .robots-rules-table select,
        .robots-rules-table input[type="text"] {
            width: 100%;
            padding: 6px 8px;
            border: 1px solid #ddd;
            border-radius: 3px;
            font-size: 13px;
            box-sizing: border-box;
        }

        .robots-rules-table .robots-ua-custom {
            display: none;
            margin-top: 4px;
        }

        .robots-btn-remove {
            background: none;
            border: none;
            color: #dc3545;
            cursor: pointer;
            font-size: 18px;
            padding: 4px 8px;
            border-radius: 3px;
            transition: background 0.2s;
        }

        .robots-btn-remove:hover {
            background: #ffeaed;
        }

        .robots-btn-add {
            background: #f0f4f8;
            border: 1px dashed #0f75bd;
            color: #0f75bd;
            padding: 8px 16px;
            border-radius: 4px;
            cursor: pointer;
            font-size: 13px;
            font-weight: 600;
            transition: all 0.2s;
            width: 100%;
        }

        .robots-btn-add:hover {
            background: #e0edf7;
        }

        .robots-btn-generate {
            background: #0f75bd;
            color: #fff;
            padding: 12px 28px;
            border: none;
            border-radius: 5px;
            font-size: 15px;
            font-weight: bold;
            cursor: pointer;
            text-transform: uppercase;
            transition: opacity 0.2s;
            width: 100%;
            margin-top: 8px;
        }

        .robots-btn-generate:hover {
            opacity: 0.85;
        }

        /* Output */
        .robots-output {
            width: 100%;
            min-height: 320px;
            padding: 12px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 13px;
            line-height: 1.6;
            background: #1e1e2e !important;
            color: #a6e3a1 !important;
            resize: vertical;
            box-sizing: border-box;
            white-space: pre;
        }

        .robots-output::placeholder {
            color: #6c7086;
        }

        .robots-btn-group {
            display: flex;
            gap: 10px;
            margin-top: 10px;
        }

        .robots-btn-copy,
        .robots-btn-download {
            flex: 1;
            padding: 10px 16px;
            border: none;
            border-radius: 4px;
            font-size: 14px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.2s;
        }

        .robots-btn-copy {
            background: #e0edf7;
            color: #0f75bd;
        }

        .robots-btn-copy:hover {
            background: #cce0f0;
        }

        .robots-btn-copy.copied {
            background: #d4edda;
            color: #28a745;
        }

        .robots-btn-download {
            background: #0f75bd;
            color: #fff;
        }

        .robots-btn-download:hover {
            opacity: 0.85;
        }

        .robots-tip {
            background: #f0f7ff;
            padding: 12px 15px;
            border-left: 4px solid #0f75bd;
            border-radius: 4px;
            margin-top: 16px;
            font-size: 13px;
            color: #333;
            line-height: 1.5;
        }

        @media (max-width: 768px) {
            .robots-gen {
                flex-direction: column;
                padding: 16px;
            }

            .robots-gen-left,
            .robots-gen-right {
                min-width: 100%;
            }

            .robots-gen-inline {
                flex-direction: column;
                gap: 0;
            }

            .robots-rules-table th:first-child,
            .robots-rules-table td:first-child {
                min-width: 90px;
            }
        }
    </style>

    <div class="robots-gen" id="robotsGenerator">
        <!-- CỘT TRÁI: CẤU HÌNH -->
        <div class="robots-gen-left">
            <h3>⚙️ Cấu hình Robots.txt</h3>

            <div class="robots-gen-row">
                <label for="robotsPreset">Mẫu có sẵn (Preset)</label>
                <select id="robotsPreset">
                    <option value="custom">Tùy chỉnh (Custom)</option>
                    <option value="wordpress" selected>WordPress</option>
                    <option value="laravel">Laravel</option>
                    <option value="shopify">Shopify</option>
                    <option value="joomla">Joomla</option>
                </select>
            </div>

            <div class="robots-gen-inline">
                <div class="robots-gen-row">
                    <label for="robotsSitemap">Sitemap URL</label>
                    <input type="text" id="robotsSitemap" placeholder="https://example.com/sitemap.xml">
                </div>
                <div class="robots-gen-row">
                    <label for="robotsCrawlDelay">Crawl-delay (giây)</label>
                    <input type="number" id="robotsCrawlDelay" min="0" max="60" placeholder="Bỏ trống = không thêm">
                </div>
            </div>

            <div class="robots-gen-row">
                <label>Danh sách quy tắc (Rules)</label>
                <div style="overflow-x:auto;">
                    <table class="robots-rules-table">
                        <thead>
                            <tr>
                                <th>User-agent</th>
                                <th>Loại</th>
                                <th>Đường dẫn</th>
                                <th></th>
                            </tr>
                        </thead>
                        <tbody id="robotsRulesBody">
                        </tbody>
                    </table>
                </div>
                <button type="button" class="robots-btn-add" id="robotsAddRule">+ Thêm quy tắc</button>
            </div>

            <button type="button" class="robots-btn-generate" id="robotsGenerate">🚀 Tạo Robots.txt</button>
        </div>

        <!-- CỘT PHẢI: KẾT QUẢ -->
        <div class="robots-gen-right">
            <h3>📄 Kết quả</h3>
            <textarea class="robots-output" id="robotsOutput" readonly
                placeholder="Nội dung file robots.txt sẽ hiển thị ở đây sau khi bạn bấm 'Tạo Robots.txt'..."></textarea>
            <div class="robots-btn-group">
                <button type="button" class="robots-btn-copy" id="robotsCopy">📋 Sao chép</button>
                <button type="button" class="robots-btn-download" id="robotsDownload">💾 Tải xuống</button>
            </div>
            <div class="robots-tip">
                💡 <b>Hướng dẫn:</b> Sau khi tạo xong, hãy upload file <code>robots.txt</code> vào thư mục gốc (root) của
                website. File này giúp các công cụ tìm kiếm hiểu được những trang nào nên và không nên thu thập dữ liệu.
            </div>
        </div>
    </div>

    <script>
        (function () {
            // === PRESET DATA ===
            var presets = {
                wordpress: [
                    { ua: '*', dir: 'Disallow', path: '/wp-admin/' },
                    { ua: '*', dir: 'Allow', path: '/wp-admin/admin-ajax.php' },
                    { ua: '*', dir: 'Disallow', path: '/wp-includes/' },
                    { ua: '*', dir: 'Disallow', path: '/wp-content/plugins/' },
                    { ua: '*', dir: 'Disallow', path: '/wp-content/cache/' },
                    { ua: '*', dir: 'Disallow', path: '/?s=' },
                    { ua: '*', dir: 'Disallow', path: '/search/' },
                    { ua: '*', dir: 'Disallow', path: '/author/' },
                    { ua: '*', dir: 'Disallow', path: '/tag/' },
                    { ua: '*', dir: 'Disallow', path: '/feed/' },
                    { ua: '*', dir: 'Disallow', path: '/trackback/' },
                    { ua: '*', dir: 'Disallow', path: '/xmlrpc.php' },
                    { ua: '*', dir: 'Disallow', path: '/wp-json/' }
                ],
                laravel: [
                    { ua: '*', dir: 'Disallow', path: '/vendor/' },
                    { ua: '*', dir: 'Disallow', path: '/storage/' },
                    { ua: '*', dir: 'Disallow', path: '/nova/' },
                    { ua: '*', dir: 'Disallow', path: '/.env' }
                ],
                shopify: [
                    { ua: '*', dir: 'Disallow', path: '/admin' },
                    { ua: '*', dir: 'Disallow', path: '/cart' },
                    { ua: '*', dir: 'Disallow', path: '/orders' },
                    { ua: '*', dir: 'Disallow', path: '/checkouts/' },
                    { ua: '*', dir: 'Disallow', path: '/checkout' },
                    { ua: '*', dir: 'Disallow', path: '/carts' },
                    { ua: '*', dir: 'Disallow', path: '/account' },
                    { ua: '*', dir: 'Disallow', path: '/collections/*sort_by*' },
                    { ua: '*', dir: 'Disallow', path: '/collections/*+*' },
                    { ua: '*', dir: 'Disallow', path: '/search' }
                ],
                joomla: [
                    { ua: '*', dir: 'Disallow', path: '/administrator/' },
                    { ua: '*', dir: 'Disallow', path: '/cache/' },
                    { ua: '*', dir: 'Disallow', path: '/cli/' },
                    { ua: '*', dir: 'Disallow', path: '/components/' },
                    { ua: '*', dir: 'Disallow', path: '/includes/' },
                    { ua: '*', dir: 'Disallow', path: '/language/' },
                    { ua: '*', dir: 'Disallow', path: '/libraries/' },
                    { ua: '*', dir: 'Disallow', path: '/logs/' },
                    { ua: '*', dir: 'Disallow', path: '/modules/' },
                    { ua: '*', dir: 'Disallow', path: '/plugins/' },
                    { ua: '*', dir: 'Disallow', path: '/tmp/' }
                ],
                custom: []
            };

            var tbody = document.getElementById('robotsRulesBody');

            // === ADD RULE ROW ===
            function addRule(ua, dir, path) {
                var tr = document.createElement('tr');
                var isCustomUA = (ua !== '*' && ua !== 'Googlebot' && ua !== 'Bingbot' && ua !== 'Yandex' && ua !== '');
                var uaSelectVal = isCustomUA ? 'custom' : ua;

                tr.innerHTML =
                    '<td>' +
                    '<select class="robots-ua-select" onchange="this.nextElementSibling.style.display=this.value===\'custom\'?\'block\':\'none\'">' +
                    '<option value="*"' + (uaSelectVal === '*' ? ' selected' : '') + '>* (Tất cả)</option>' +
                    '<option value="Googlebot"' + (uaSelectVal === 'Googlebot' ? ' selected' : '') + '>Googlebot</option>' +
                    '<option value="Bingbot"' + (uaSelectVal === 'Bingbot' ? ' selected' : '') + '>Bingbot</option>' +
                    '<option value="Yandex"' + (uaSelectVal === 'Yandex' ? ' selected' : '') + '>Yandex</option>' +
                    '<option value="custom"' + (uaSelectVal === 'custom' ? ' selected' : '') + '>Tùy chỉnh...</option>' +
                    '</select>' +
                    '<input type="text" class="robots-ua-custom" placeholder="Nhập tên bot..." value="' + (isCustomUA ? ua : '') + '" style="display:' + (isCustomUA ? 'block' : 'none') + '">' +
                    '</td>' +
                    '<td>' +
                    '<select class="robots-dir-select">' +
                    '<option value="Disallow"' + (dir === 'Disallow' ? ' selected' : '') + '>Disallow</option>' +
                    '<option value="Allow"' + (dir === 'Allow' ? ' selected' : '') + '>Allow</option>' +
                    '</select>' +
                    '</td>' +
                    '<td><input type="text" class="robots-path-input" value="' + (path || '') + '" placeholder="/example/"></td>' +
                    '<td><button type="button" class="robots-btn-remove" title="Xóa quy tắc này">&times;</button></td>';

                tr.querySelector('.robots-btn-remove').addEventListener('click', function () {
                    tr.remove();
                });

                tbody.appendChild(tr);
            }

            // === LOAD PRESET ===
            function loadPreset(name) {
                tbody.innerHTML = '';
                var rules = presets[name] || [];
                for (var i = 0; i < rules.length; i++) {
                    addRule(rules[i].ua, rules[i].dir, rules[i].path);
                }
                if (rules.length === 0) {
                    addRule('*', 'Disallow', '');
                }
            }

            // === GENERATE ===
            function generate() {
                var rows = tbody.querySelectorAll('tr');
                var groups = {};
                var groupOrder = [];

                for (var i = 0; i < rows.length; i++) {
                    var uaSelect = rows[i].querySelector('.robots-ua-select');
                    var uaCustom = rows[i].querySelector('.robots-ua-custom');
                    var dirSelect = rows[i].querySelector('.robots-dir-select');
                    var pathInput = rows[i].querySelector('.robots-path-input');

                    var ua = uaSelect.value === 'custom' ? uaCustom.value.trim() : uaSelect.value;
                    var dir = dirSelect.value;
                    var path = pathInput.value.trim();

                    if (!ua) continue;

                    if (!groups[ua]) {
                        groups[ua] = [];
                        groupOrder.push(ua);
                    }
                    groups[ua].push(dir + ': ' + path);
                }

                var crawlDelay = document.getElementById('robotsCrawlDelay').value;
                var sitemap = document.getElementById('robotsSitemap').value.trim();
                var lines = [];

                lines.push('# Robots.txt - Được tạo bởi ABCwebsite.com.vn');
                lines.push('# Ngày tạo: ' + new Date().toLocaleDateString('vi-VN'));
                lines.push('');

                for (var g = 0; g < groupOrder.length; g++) {
                    var key = groupOrder[g];
                    lines.push('User-agent: ' + key);
                    var directives = groups[key];
                    for (var d = 0; d < directives.length; d++) {
                        lines.push(directives[d]);
                    }
                    if (crawlDelay && parseInt(crawlDelay) > 0) {
                        lines.push('Crawl-delay: ' + parseInt(crawlDelay));
                    }
                    lines.push('');
                }

                if (groupOrder.length === 0) {
                    lines.push('User-agent: *');
                    lines.push('Disallow:');
                    lines.push('');
                }

                if (sitemap) {
                    lines.push('Sitemap: ' + sitemap);
                }

                document.getElementById('robotsOutput').value = lines.join('\n');
            }

            // === COPY ===
            function copyOutput() {
                var output = document.getElementById('robotsOutput');
                var btn = document.getElementById('robotsCopy');
                if (!output.value) return;

                navigator.clipboard.writeText(output.value).then(function () {
                    alert('Đã sao chép nội dung Robots.txt vào clipboard!');
                });
            }

            // === DOWNLOAD ===
            function downloadOutput() {
                var output = document.getElementById('robotsOutput').value;
                if (!output) return;

                var blob = new Blob([output], { type: 'text/plain' });
                var url = URL.createObjectURL(blob);
                var a = document.createElement('a');
                a.href = url;
                a.download = 'robots.txt';
                document.body.appendChild(a);
                a.click();
                document.body.removeChild(a);
                URL.revokeObjectURL(url);
            }

            // === EVENT LISTENERS ===
            document.getElementById('robotsPreset').addEventListener('change', function () {
                loadPreset(this.value);
            });

            document.getElementById('robotsAddRule').addEventListener('click', function () {
                addRule('*', 'Disallow', '');
            });

            document.getElementById('robotsGenerate').addEventListener('click', generate);
            document.getElementById('robotsCopy').addEventListener('click', copyOutput);
            document.getElementById('robotsDownload').addEventListener('click', downloadOutput);

            // Load default preset
            loadPreset('wordpress');
        })();
    </script>
    
<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-tao-file-robots-txt-mien-phi/">Công cụ tạo file robots.txt miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Công cụ tối ưu bài viết SEO miễn phí</title>
		<link>https://abcwebsite.com.vn/cong-cu-toi-uu-bai-viet-seo-mien-phi/</link>
		
		<dc:creator><![CDATA[Thế Lộc Nguyễn]]></dc:creator>
		<pubDate>Sat, 25 Apr 2026 11:10:31 +0000</pubDate>
				<category><![CDATA[Công cụ SEO miễn phí]]></category>
		<guid isPermaLink="false">https://abcwebsite.com.vn/?p=3503</guid>

					<description><![CDATA[<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-toi-uu-bai-viet-seo-mien-phi/">Công cụ tối ưu bài viết SEO miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></description>
										<content:encoded><![CDATA[    <style>
        .seo-form-container {
            background: #fff;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            border: 1px solid #eaeaea;
        }

        .seo-form-group {
            margin-bottom: 20px;
        }

        .seo-form-group label {
            display: block;
            margin-bottom: 8px;
            font-weight: 600;
            color: #333;
        }

        .seo-form-group input[type="text"],
        .seo-form-group textarea,
        .seo-form-group input[type="file"] {
            width: 100%;
            padding: 10px;
            border: 1px solid #ccc;
            border-radius: 4px;
            box-sizing: border-box;
        }

        .seo-score-circle {
            display: inline-block;
            width: 100px;
            height: 100px;
            border-radius: 50%;
            border: 8px solid #eee;
            line-height: 90px;
            text-align: center;
            font-size: 36px;
            font-weight: bold;
            margin: 0 auto 20px auto;
            color: #333;
        }

        .seo-checklist-item {
            padding: 8px 0;
            border-bottom: 1px solid #f1f1f1;
            display: flex;
            align-items: flex-start;
        }

        .seo-checklist-item:last-child {
            border-bottom: none;
        }

        .seo-icon {
            margin-right: 10px;
            font-size: 18px;
            line-height: 1;
        }

        .seo-cta-box {
            background: #f0f7ff;
            padding: 15px;
            border-left: 4px solid #007bff;
            border-radius: 4px;
            margin-top: 20px;
            font-size: 15px;
        }

        @keyframes spin {
            from {
                transform: rotate(0deg);
            }

            to {
                transform: rotate(360deg);
            }
        }

        /* Fix hiển thị nút Text (HTML) trong wp_editor */
        .wp-editor-container .quicktags-toolbar input.ed_button {
            width: auto !important;
            display: inline-block !important;
            padding: 4px 8px !important;
            margin: 2px !important;
            border: 1px solid #ccc;
            background: #f7f7f7;
            border-radius: 3px;
            cursor: pointer;
        }

        .wp-editor-container .quicktags-toolbar input.ed_button:hover {
            background: #e5e5e5;
        }

        /* Classes extracted from inline styles */
        .seo-btn-wrapper {
            text-align: center;
        }

        .seo-btn-submit {
            background: #0f75bd;
            color: #fff;
            padding: 12px 30px;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
            text-transform: uppercase;
            transition: opacity 0.3s ease;
        }

        .seo-modal-content {
            max-width: 650px;
            padding: 30px;
            border-radius: 8px;
        }

        .seo-modal-title {
            text-align: center;
            margin-bottom: 20px;
            color: #333;
        }

        .seo-score-wrapper {
            text-align: center;
        }

        .seo-checklist-wrapper {
            max-height: 300px;
            overflow-y: auto;
            padding-right: 15px;
            margin-top: 15px;
        }

        .seo-cta-link {
            color: #007bff;
            font-weight: bold;
            text-decoration: none;
        }

        .seo-icon-good {
            color: #28a745;
        }

        .seo-icon-ok {
            color: #ffc107;
        }

        .seo-icon-error {
            color: #dc3545;
        }

        .seo-loading-icon {
            margin-right: 6px;
            vertical-align: middle;
            animation: spin 1s linear infinite;
        }
    </style>

    <div class="seo-form-container">

        <form id="abc-seo-form">
            <!-- Honeypot ẩn dành cho bot -->
            <input type="text" name="seo_score_hp" style="display:none;" tabindex="-1" autocomplete="off">

            <div class="seo-form-group" style="display:flex; gap:15px; flex-wrap:wrap;">
                <div style="flex:1; min-width: 250px;">
                    <label for="seo_domain">Tên miền website của bạn (Tùy chọn)</label>
                    <input type="text" name="seo_domain" id="seo_domain" placeholder="Ví dụ: abcwebsite.com.vn">
                </div>
                <div style="flex:1; min-width: 250px;">
                    <label for="seo_content_type">Loại bài viết</label>
                    <select name="seo_content_type" id="seo_content_type"
                        style="width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; background: #fff;">
                        <option value="blog">Tin tức / Blog (Từ 600 từ)</option>
                        <option value="product">Mô tả sản phẩm (Từ 300 từ)</option>
                        <option value="tutorial">Bài Hướng dẫn (Từ 1000 từ)</option>
                        <option value="pillar">Bài Nghiên cứu chuyên sâu (Từ 1500 từ)</option>
                    </select>
                </div>
            </div>

            <div class="seo-form-group">
                <label for="seo_title">Tiêu đề bài viết (SEO Title)</label>
                <input type="text" name="seo_title" id="seo_title" required placeholder="Nhập tiêu đề...">
            </div>

            <div class="seo-form-group">
                <label for="seo_meta">Mô tả ngắn (Meta Description)</label>
                <textarea name="seo_meta" id="seo_meta" rows="3" required
                    placeholder="Mô tả tóm tắt nội dung sẽ hiển thị trên Google..."></textarea>
            </div>

            <div class="seo-form-group">
                <label for="seo_keyword">Từ khóa chính (Focus Keyword)</label>
                <input type="text" name="seo_keyword" id="seo_keyword" required placeholder="Ví dụ: thiết kế website">
            </div>

            <div class="seo-form-group">
                <label>Nội dung bài viết</label>
                <div id="wp-seo_content-wrap" class="wp-core-ui wp-editor-wrap tmce-active"><link rel='stylesheet' id='dashicons-css' href='https://abcwebsite.com.vn/wp-includes/css/dashicons.min.css?ver=6.9.4' media='all' />
<link rel='stylesheet' id='editor-buttons-css' href='https://abcwebsite.com.vn/wp-includes/css/editor.min.css?ver=6.9.4' media='all' />
<div id="wp-seo_content-editor-tools" class="wp-editor-tools hide-if-no-js"><div class="wp-editor-tabs"><button type="button" id="seo_content-tmce" aria-pressed="true" class="wp-switch-editor switch-tmce" data-wp-editor-id="seo_content">Trực quan</button>
<button type="button" id="seo_content-html" class="wp-switch-editor switch-html" data-wp-editor-id="seo_content">Mã</button>
</div>
</div>
<div id="wp-seo_content-editor-container" class="wp-editor-container"><div id="qt_seo_content_toolbar" class="quicktags-toolbar hide-if-no-js"></div><textarea class="wp-editor-area" rows="15" autocomplete="off" cols="40" name="seo_content" id="seo_content"></textarea></div>
</div>

            </div>

            <div class="seo-btn-wrapper">
                <button type="submit" id="btn-calc-seo" class="seo-btn-submit">
                    Tính điểm SEO
                </button>
            </div>
        </form>
    </div>

    <!-- Modal hiển thị kết quả -->
    <div id="seoResultModal" class="modal" style="display:none;">
        <div class="modal-content seo-modal-content">
            <span class="close">&times;</span>
            <div class="box-conetnt-modal">
                <h2 class="seo-modal-title">Báo Cáo Điểm SEO</h2>

                <div class="seo-score-wrapper">
                    <div id="seo-score-circle" class="seo-score-circle">0</div>
                </div>

                <div id="seo-checklist" class="seo-checklist-wrapper">
                    <!-- Danh sách các tiêu chí render tại đây -->
                </div>

                <div class="seo-cta-box">
                    💡 <b>Bạn có biết:</b> Tôi cung cấp các <a href="https://abcwebsite.com.vn/" target="_blank" class="seo-cta-link">mẫu website miễn phí</a> và trong
                    đó có tích hợp sẵn công cụ tính điểm SEO này ngay trong trang quản trị!
                </div>
            </div>
        </div>
    </div>

    <script>
        // Tải reCAPTCHA script động nếu trang chưa có
        if (typeof grecaptcha === "undefined") {
            var script = document.createElement('script');
            script.src = "https://www.google.com/recaptcha/api.js?render=6LeL-QcsAAAAAKLsd0ynvgC2WKUimqGqL2aDuyCp";
            document.head.appendChild(script);
        }

        document.addEventListener("DOMContentLoaded", function () {
            var isUserLoggedIn = false;
            var form = document.getElementById('abc-seo-form');

            // Submit Form
            if (form) {
                var submitBtn = document.getElementById("btn-calc-seo");
                var originalBtnHTML = submitBtn.innerHTML;

                form.addEventListener('submit', async function (e) {
                    e.preventDefault();

                    if (!isUserLoggedIn) {
                        // Yêu cầu đăng nhập, gọi modal đăng nhập
                        var loginModal = document.getElementById('loginModal');
                        if (loginModal) {
                            loginModal.style.display = 'flex';
                            document.body.classList.add("body-no-scroll");
                        } else {
                            alert('Vui lòng đăng nhập hệ thống để sử dụng công cụ chấm điểm SEO!');
                        }
                        return;
                    }

                    // Đồng bộ nội dung TinyMCE trước khi submit (quan trọng)
                    if (typeof tinyMCE !== 'undefined' && tinyMCE.get('seo_content')) {
                        tinyMCE.get('seo_content').save();
                    }

                    // Hiệu ứng Loading
                    submitBtn.disabled = true;
                    submitBtn.style.opacity = '0.7';
                    submitBtn.innerHTML = '<svg class="seo-loading-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16"><path d="M11.534 7h3.932a.25.25 0 0 1 .192.41l-1.966 2.36a.25.25 0 0 1-.384 0l-1.966-2.36a.25.25 0 0 1 .192-.41m-11 2h3.932a.25.25 0 0 0 .192-.41L2.692 6.23a.25.25 0 0 0-.384 0L.342 8.59A.25.25 0 0 0 .534 9"/><path fill-rule="evenodd" d="M8 3c-1.552 0-2.94.707-3.857 1.818a.5.5 0 1 1-.771-.636A6.002 6.002 0 0 1 13.917 7H12.9A5 5 0 0 0 8 3M3.1 9a5.002 5.002 0 0 0 8.757 2.182.5.5 0 1 1 .771.636A6.002 6.002 0 0 1 2.083 9z"/></svg> Đang tính điểm...';

                    try {
                        // Gọi reCAPTCHA v3
                        var token = "";
                        if (typeof grecaptcha !== "undefined") {
                            await new Promise(resolve => grecaptcha.ready(resolve));
                            token = await grecaptcha.execute("6LeL-QcsAAAAAKLsd0ynvgC2WKUimqGqL2aDuyCp", { action: "seo_score" });
                        }

                        var formData = new FormData(form);
                        formData.append("g-recaptcha-response", token);

                        var response = await fetch('/wp-json/abc/v1/seo-score', {
                            method: 'POST',
                            headers: {
                                "X-WP-Nonce": "8d4704f2e2"
                            },
                            body: formData
                        });

                        var data = await response.json();

                        if (data.success) {
                            var score = data.score;
                            var checklist = data.checklist;

                            var scoreCircle = document.getElementById('seo-score-circle');
                            scoreCircle.innerText = score;

                            // Đổi màu vòng tròn điểm theo mức
                            if (score >= 80) {
                                scoreCircle.style.borderColor = '#28a745';
                                scoreCircle.style.color = '#28a745';
                            } else if (score >= 50) {
                                scoreCircle.style.borderColor = '#ffc107';
                                scoreCircle.style.color = '#ffc107';
                            } else {
                                scoreCircle.style.borderColor = '#dc3545';
                                scoreCircle.style.color = '#dc3545';
                            }

                            var checklistHtml = '';
                            checklist.forEach(function (item) {
                                var icon = '';
                                if (item.status === 'good') icon = '<span class="seo-icon seo-icon-good">✅</span>';
                                else if (item.status === 'ok') icon = '<span class="seo-icon seo-icon-ok">⚠️</span>';
                                else icon = '<span class="seo-icon seo-icon-error">❌</span>';

                                checklistHtml += '<div class="seo-checklist-item">' + icon + ' <span>' + item.text + '</span></div>';
                            });

                            document.getElementById('seo-checklist').innerHTML = checklistHtml;

                            // Mở Modal (tận dụng modal.js có sẵn để đóng)
                            var seoModal = document.getElementById('seoResultModal');
                            if (seoModal) {
                                seoModal.style.display = 'flex';
                                document.body.classList.add("body-no-scroll");
                            }
                        } else {
                            alert('❌ ' + (data.message || 'Lỗi không xác định'));
                        }
                    } catch (error) {
                        console.error('Error:', error);
                        alert('❌ Lỗi hệ thống khi phân tích dữ liệu. Vui lòng thử lại!');
                    }

                    // Trả lại trạng thái nút
                    submitBtn.disabled = false;
                    submitBtn.style.opacity = '1';
                    submitBtn.innerHTML = originalBtnHTML;
                });
            }
        });
    </script>
    
<p>The post <a rel="nofollow" href="https://abcwebsite.com.vn/cong-cu-toi-uu-bai-viet-seo-mien-phi/">Công cụ tối ưu bài viết SEO miễn phí</a> appeared first on <a rel="nofollow" href="https://abcwebsite.com.vn">ABCwebsite</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/?utm_source=w3tc&utm_medium=footer_comment&utm_campaign=free_plugin

Object Caching 20/24 objects using Disk
Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk

Served from: abcwebsite.com.vn @ 2026-05-02 00:48:16 by W3 Total Cache
-->