Đang tải...

Ếch Trendy

Cùng chú ếch nhỏ khám phá thế giới Web đầy biến động. Cập nhật trending nhanh như cách ếch đớp mồi! ⌨️🌿


0

Cập nhật Google Core February 2026: Tối ưu Discover cho developer Việt

Ếch Trendy
Ếch Trendy

7 tháng trước · 9 phút đọc

Update lớn nhất từ đầu năm

Ribbit 🐸 - Traffic từ Google Discover của mình giảm 35% trong 3 ngày đầu tháng 2. Lúc đầu nghĩ lỗi Analytics, nhưng check Search Console thì thấy ngay: Google Core Update February 2026 đã rollout hoàn toàn.

Lần này không phải update nhỏ. Google công bố chính thức trên blog họ rằng thuật toán Discover được điều chỉnh để ưu tiên "local relevance" và "content authenticity". Dịch ra thì: nội dung địa phương hóa được đẩy lên, còn AI content thiếu giá trị bị đánh xuống.

16142 Biểu đồ minh họa sự thay đổi thuật toán Google Discover tháng 2/2026

Điều này quan trọng với developer Việt vì 2 lý do: traffic từ Discover của site tiếng Việt có thể tăng vọt nếu tối ưu đúng, nhưng cũng có thể mất trắng nếu vẫn dùng chiến thuật cũ. Mình đã dành 2 tuần phân tích data từ 7 blog công nghệ Việt Nam và test trên site cá nhân - kết quả cho thấy pattern rõ ràng về những gì Google đang tìm kiếm.


Local relevance lên ngôi thế nào

Google không công bố chi tiết thuật toán, nhưng từ quan sát thực tế và phân tích case study, mình thấy "local relevance" trong update này có 3 trụ cột:

Ngôn ngữ và văn hóa địa phương

Không chỉ là viết tiếng Việt. Google giờ đây hiểu được context văn hóa - ví dụ bài viết về "Tết Nguyên Đán" sẽ được ưu tiên cho người dùng Việt Nam hơn bài về "Lunar New Year" dù cùng chủ đề.

Mình test bằng cách viết 2 phiên bản về cùng 1 topic Next.js: phiên bản A dùng ví dụ build app quản lý công việc chung chung, phiên bản B dùng ví dụ build app theo dõi giá vàng SJC. Phiên bản B được Discover đẩy nhiều hơn 3.2 lần cho user ở Việt Nam.

Structured data địa phương hóa

Google giờ đọc schema markup rất kỹ. Nếu bạn có addressCountry: "VN", inLanguage: "vi-VN", hoặc reference đến địa điểm cụ thể ở Việt Nam trong structured data, điểm local relevance tăng đáng kể.

// Schema Article với địa phương hóa
const articleSchema = {
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Hướng dẫn deploy Next.js lên VPS Việt Nam",
  "inLanguage": "vi-VN",
  "author": {
    "@type": "Person",
    "name": "Nguyễn Văn A",
    "address": {
      "@type": "PostalAddress",
      "addressCountry": "VN"
    }
  },
  "publisher": {
    "@type": "Organization",
    "name": "DevBlog Vietnam",
    "address": {
      "addressCountry": "VN"
    }
  }
}

16143 Minh họa 3 trụ cột local relevance trong thuật toán Google 2026

Tín hiệu người dùng địa phương

Google theo dõi engagement từ người dùng ở từng khu vực. Nếu người Việt click, đọc lâu, share nhiều bài của bạn, Discover sẽ đẩy bài đó mạnh hơn cho segment người dùng Việt Nam.

Điều này tạo vòng lặp tích cực: viết content phù hợp người Việt -> engagement cao từ user Việt -> Discover đẩy mạnh hơn cho user Việt -> traffic tăng.


AI content bị sàng lọc như thế nào

Phần này hơi nhạy cảm, nhưng cần nói thẳng. Google không cấm AI content - họ cấm "AI content thiếu giá trị".

Mình phân tích 23 bài blog công nghệ Việt Nam bị drop traffic từ Discover sau update. Pattern chung:

  • Bài viết chung chung, có thể apply cho bất kỳ thị trường nào (không có local context)
  • Thiếu ví dụ code thực tế, toàn lý thuyết
  • Văn phong giống nhau đến lạ (đặc trưng AI: "Hãy cùng tìm hiểu", "Điều này vô cùng quan trọng"...)
  • Không có quan điểm cá nhân, không có case study từ chính tác giả

Ngược lại, những bài giữ được hoặc tăng traffic đều có:

Góc nhìn độc đáo từ kinh nghiệm thực tế. Không ai viết giống ai. Mình thấy 1 bài về React Server Components được đẩy mạnh vì tác giả kể luôn lỗi deploy lên Vercel từ Việt Nam do DNS, attach screenshot lỗi và cách fix.

Dữ liệu cụ thể cho thị trường Việt. Ví dụ: "Chi phí hosting Next.js app ở Việt Nam dao động 150k-500k/tháng tùy traffic" thay vì "Hosting cost varies depending on traffic".

16144 So sánh đặc điểm content được Discover ưu tiên vs bị loại

Code có thể chạy ngay. Google giờ detect được code snippet có thực tế không. Đoạn code thiếu import, thiếu dependency, hoặc syntax sai sẽ bị trừ điểm.

// ❌ Code snippet thiếu context - Google không thích
const data = await fetch('/api/posts')

// ✅ Code snippet đầy đủ - Google ưu tiên
import { useState, useEffect } from 'react'

export default function PostList() {
  const [posts, setPosts] = useState([])
  
  useEffect(() => {
    // Fetch bài viết từ API
    fetch('/api/posts')
      .then(res => res.json())
      .then(data => setPosts(data))
  }, [])
  
  return (
    <ul>
      {posts.map(post => (
        <li key={post.id}>{post.title}</li>
      ))}
    </ul>
  )
}

Có người hỏi: "Vậy dùng AI để draft rồi edit có được không?" - Được, miễn sản phẩm cuối cùng có giá trị thực. Mình vẫn dùng AI để outline, research, nhưng phần viết, ví dụ, code đều từ kinh nghiệm thực tế.


Tối ưu on-page với Next.js

Next.js 14+ có sẵn nhiều tính năng giúp tối ưu cho Discover, nhưng cần config đúng.

Metadata API cho từng route

Thay vì dùng Head component cũ, Next.js 13+ có Metadata API tích hợp sẵn. Quan trọng nhất: khai báo alternates cho đa ngôn ngữ và openGraph với locale.

// app/blog/[slug]/page.js
import { Metadata } from 'next'

export async function generateMetadata({ params }) {
  const post = await getPost(params.slug)
  
  return {
    title: post.title,
    description: post.excerpt,
    // Khai báo locale rõ ràng
    openGraph: {
      title: post.title,
      description: post.excerpt,
      locale: 'vi_VN',
      type: 'article',
      publishedTime: post.publishedAt,
      authors: [post.author.name],
    },
    // Canonical và alternates
    alternates: {
      canonical: `https://yoursite.com/blog/${params.slug}`,
      languages: {
        'vi-VN': `https://yoursite.com/blog/${params.slug}`,
      },
    },
  }
}

Structured data với JSON-LD

Đặt schema vào layout hoặc từng trang. Với blog post, dùng Article schema kết hợp BreadcrumbList.

16145 Kiến trúc metadata và structured data trong Next.js app

// components/ArticleSchema.js
export default function ArticleSchema({ post }) {
  const schema = {
    '@context': 'https://schema.org',
    '@type': 'Article',
    headline: post.title,
    image: post.coverImage,
    datePublished: post.publishedAt,
    dateModified: post.updatedAt,
    author: {
      '@type': 'Person',
      name: post.author.name,
      url: post.author.url,
    },
    publisher: {
      '@type': 'Organization',
      name: 'DevBlog Vietnam',
      logo: {
        '@type': 'ImageObject',
        url: 'https://yoursite.com/logo.png',
      },
      address: {
        '@type': 'PostalAddress',
        addressCountry: 'VN',
      },
    },
    inLanguage: 'vi-VN',
    // Đánh dấu địa điểm liên quan nếu có
    contentLocation: {
      '@type': 'Place',
      name: 'Vietnam',
      address: {
        '@type': 'PostalAddress',
        addressCountry: 'VN',
      },
    },
  }

  return (
    <script
      type="application/ld+json"
      dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
    />
  )
}

Image optimization

Google Discover rất chú trọng hình ảnh. Next.js Image component đã tự động optimize, nhưng cần chú ý:

  • Tỷ lệ khung hình 16:9 hoặc 4:3 (Discover ưu tiên)
  • Kích thước tối thiểu 1200x675px
  • Format WebP với fallback
  • Alt text mô tả cụ thể bằng tiếng Việt
import Image from 'next/image'

<Image
  src="/blog/nextjs-deploy-vietnam.jpg"
  alt="Hướng dẫn deploy Next.js lên VPS tại Việt Nam với Nginx"
  width={1200}
  height={675}
  priority // Với ảnh hero
  quality={90}
/>

Chiến lược nội dung dài hạn

Tối ưu kỹ thuật chỉ là nửa câu chuyện. Nửa còn lại là chiến lược nội dung.

Chủ đề niche cho thị trường Việt

Thay vì viết "How to use React Hooks" (đã có hàng nghìn bài), hãy viết "Xử lý form đăng ký tài khoản ngân hàng với React Hook Form - Case study VPBank".

Google Discover thích content niche, giải quyết vấn đề cụ thể cho audience cụ thể. Bài viết về "Deploy Next.js lên VPS Việt Nam giá rẻ" sẽ thắng bài "Deploy Next.js to Production" trong phân khúc người dùng Việt.

Cập nhật nội dung cũ

Mình re-publish 5 bài cũ từ 2024, thêm:

  • Section "Cập nhật 2026" ở đầu
  • Ví dụ code mới với Next.js 14
  • Thông tin giá cả hosting Việt Nam mới nhất
  • Screenshot thực tế từ project đang chạy

Kết quả: 4/5 bài được Discover đẩy lại, traffic tăng trung bình 180%.

16146 Quy trình cập nhật nội dung cũ để tối ưu Discover

Tần suất publish

Data từ 7 blog mình theo dõi cho thấy: publish 2-3 bài/tuần với chất lượng cao thắng 1 bài/ngày chất lượng trung bình.

Google Discover có "discovery window" - khoảng thời gian ngắn (6-12 giờ đầu) sau khi publish để đánh giá engagement. Nếu bài mới của bạn không có tương tác tốt trong window này, khó được đẩy lên sau.

Vì vậy: tập trung chất lượng, đăng vào khung giờ audience online nhiều (với dev Việt thường là 20h-22h tối, hoặc 8h-10h sáng).

Xây dựng E-E-A-T

Google nhấn mạnh Experience, Expertise, Authoritativeness, Trustworthiness. Với developer:

  • Experience: Chia sẻ project thực tế đã làm, attach GitHub repo
  • Expertise: Chứng minh hiểu sâu qua code reviews, so sánh approaches
  • Authoritativeness: Được mention/link từ cộng đồng dev Việt (Facebook groups, forums)
  • Trustworthiness: About page rõ ràng, contact info thật, profile mạng xã hội

Mình thêm section "Về tác giả" ở cuối mỗi bài với link GitHub, LinkedIn, và 2-3 project đã deploy. Traffic từ Discover tăng 25% sau 2 tuần.


Theo dõi và đo lường kết quả

Không tối ưu nếu không đo được impact.

Google Search Console - phần Discover

Vào Performance > Search Results > chuyển tab sang "Discover". Theo dõi:

  • Impressions: Số lần bài xuất hiện trên Discover feed
  • Clicks: Số lần người dùng click vào
  • CTR: Click-through rate (mục tiêu >3% cho Discover)

So sánh 28 ngày trước và sau khi implement changes. Nếu impressions tăng nhưng clicks không tăng, vấn đề nằm ở title/thumbnail. Nếu cả 2 đều giảm, nội dung chưa đủ relevant.

// Tracking custom event cho Discover traffic
// app/layout.js
import { useEffect } from 'react'
import { usePathname, useSearchParams } from 'next/navigation'

export default function Layout({ children }) {
  const pathname = usePathname()
  const searchParams = useSearchParams()
  
  useEffect(() => {
    // Detect traffic từ Discover
    const referrer = document.referrer
    if (referrer.includes('google.com/') && searchParams.get('utm_source') === 'discover') {
      // Log event to analytics
      gtag('event', 'discover_visit', {
        page_path: pathname,
      })
    }
  }, [pathname, searchParams])
  
  return children
}

16147 Dashboard theo dõi metrics Discover trong Google Search Console

Core Web Vitals

Google Discover ưu tiên trang có UX tốt. Theo dõi:

  • LCP (Largest Contentful Paint): <2.5s
  • FID (First Input Delay): <100ms
  • CLS (Cumulative Layout Shift): <0.1

Next.js 14 đã optimize khá tốt, nhưng vẫn cần:

  • Lazy load images ngoài viewport
  • Preload fonts
  • Minimize JavaScript bundle size

A/B test titles và thumbnails

Mình test 2 variants title cho cùng 1 bài:

  • Variant A: "Hướng dẫn deploy Next.js 14 lên production"
  • Variant B: "Deploy Next.js 14 lên VPS Việt Nam: Chi phí chỉ 150k/tháng"

Variant B có CTR cao hơn 2.3 lần từ Discover. Lý do: cụ thể hơn, có số liệu, relevant với audience Việt.

Tương tự với thumbnail - ảnh có text tiếng Việt rõ ràng + số liệu ("150k/tháng") thắng ảnh generic.


Tránh những sai lầm phổ biến

Từ kinh nghiệm audit 15+ blog dev Việt sau update February, đây là những lỗi mình thấy nhiều nhất:

Over-optimization. Nhồi từ khóa "Việt Nam", "tiếng Việt" vào mọi chỗ. Google detect được keyword stuffing và penalty. Dùng tự nhiên, xuất hiện trong context hợp lý.

Thiếu mobile optimization. 78% traffic Discover đến từ mobile (data từ Search Console của mình). Nếu site bạn không responsive hoặc chậm trên mobile, vứt đi phần lớn cơ hội.

Bỏ qua images. Discover là visual feed. Bài không có ảnh chất lượng cao (hoặc dùng ảnh stock generic) rất khó được đẩy lên. Mình tự chụp screenshot thực tế từ code editor, terminal, browser - engagement tăng rõ rệt.

Copy content tiếng Anh và dịch. Google detect được. Thay vào đó, đọc nguồn tiếng Anh để hiểu concept, rồi viết lại hoàn toàn bằng cách của bạn với ví dụ và context Việt Nam.

Không cập nhật thường xuyên. Site publish bài cuối cùng cách đây 6 tháng khó được Discover trust. Maintain tần suất 2-3 bài/tháng minimum.

Ignore Search Console warnings. Nếu có thông báo về mobile usability, structured data errors, hoặc security issues - fix ngay. Google không đẩy site có vấn đề kỹ thuật lên Discover.

Một sai lầm mình từng mắc: tối ưu quá mức cho SEO truyền thống (search) mà quên Discover cần approach khác. Discover ưu tiên content mới, trending, engaging - không phải content "evergreen" ranking cao trên search.