KHUYẾN MÃI MÙA HÈ: GIẢM 20% TẤT CẢ DỊCH VỤ - HẠN CHÓT 30/6GIỚI THIỆU KHÁCH HÀNG MỚI: NHẬN 15% HOA HỒNG TRÊN HÓA ĐƠN ĐẦU TIÊNKHUYẾN MÃI MÙA HÈ: GIẢM 20% TẤT CẢ DỊCH VỤ - HẠN CHÓT 30/6GIỚI THIỆU KHÁCH HÀNG MỚI: NHẬN 15% HOA HỒNG TRÊN HÓA ĐƠN ĐẦU TIÊN
Tan Phat Media

Cách Tối Ưu URL Cho Website Ecommerce Để SEO Tốt Hơn

22 tháng 5, 2026
500
Seo Marketing
Cách Tối Ưu URL Cho Website Ecommerce Để SEO Tốt Hơn - Tấn Phát Digital

Tấn Phát Digital — Bài viết được biên dịch và Việt hóa từ tài liệu chính thức "Designing a URL structure for ecommerce websites" của Google Search Central. Đây là bài kỹ thuật chuyên sâu dành cho developer, technical SEO, và ecommerce manager muốn xây dựng cấu trúc URL tối ưu cho Google ngay từ đầu.

URL — Phần "vô hình" nhưng quyết định thành bại

Hãy thử tưởng tượng 2 website ecommerce cùng bán áo thun:

Website A:

https://shop-a.com/product?id=12345&cat=789&sort=price&filter=red

Website B:

https://shop-b.com/ao-thun-nam/cotton-trang

Bạn click vào cái nào? 99% người sẽ chọn Website B. Và Google cũng vậy.

URL không chỉ là "đường dẫn" — nó là:

  • First impression với user (trong SERP)

  • Signal mạnh cho Google về nội dung

  • Crawl efficiency quyết định

  • Internal linking foundation

  • Trust factor quan trọng

Với ecommerce, URL còn quan trọng hơn 10 lần vì:

  • Hàng nghìn đến hàng triệu trang

  • Filter, sort, variant tạo combinations vô tận

  • Pagination phức tạp

  • Duplicate content risk cao

Google đã viết tài liệu kỹ thuật chuyên biệt về URL Structure cho Ecommerce. Đây là tài liệu bắt buộc đọc cho mọi developer xây dựng platform ecommerce hoặc fix legacy site.

Bài viết này dành cho:

  • Developer xây dựng ecommerce platform

  • Technical SEO chuyên về ecommerce

  • Ecommerce Manager cần hiểu để giao việc cho dev

  • Owner của shop online đang gặp vấn đề SEO


Phần 1: Tại sao URL Structure quan trọng?

1.1. 3 hậu quả nghiêm trọng khi URL structure tệ

Google liệt kê 3 vấn đề chính xảy ra khi URL structure kém:

Vấn đề 1: Content bị MISS (bỏ sót)

"Content có thể bị missed nếu Googlebot incorrectly thinks 2 URLs sẽ return cùng content — chỉ một URL được crawler retrieve (cái còn lại bị discard như duplicate)."

Ví dụ Google đưa ra:

/product/t-shirt#black
/product/t-shirt#white

→ Google coi đây là cùng 1 trang vì fragment identifier (#) KHÔNG được dùng trong indexing.

🚨 Hậu quả tại VN: Nhiều shop dùng # để switch variant → Google chỉ index 1 variant, bỏ sót các variant khác.

Vấn đề 2: Crawl LÃNG PHÍ

"Cùng content có thể bị retrieved NHIỀU LẦN bởi crawler nếu Google thinks 2 URLs are different nhưng result trong cùng page being returned. Điều này có thể slow down việc crawling site của bạn."

Ví dụ Google đưa ra:

/product/black-t-shirt      ← URL 1
/product?sku=1234           ← URL 2

→ Cả 2 có thể return cùng product, nhưng Google không biết điều đó cho đến khi crawl cả 2.

🚨 Hậu quả: Crawl budget lãng phí, server tải nặng, các trang quan trọng khác bị bỏ sót.

Vấn đề 3: INFINITE pages (vô tận trang)

"Crawler có thể think site của bạn contains INFINITE NUMBER of pages nếu URLs include continually changing value như timestamp."

Ví dụ Google đưa ra:

/about?now=12:34am
/about?now=12:35am
/about?now=12:36am
...

→ Google coi mỗi URL là khác nhau → crawl vô tận → không bao giờ index xong site.

🚨 Hậu quả tại VN: Shop dùng tracking parameters động (timestamp, session-id) → Google bị "kẹt" crawl.


Phần 2: Best Practices URL Structure — General Recommendations

Google đưa ra 4 nguyên tắc vàng cho URL structure tốt:

Nguyên tắc 1: Minimize alternative URLs

"Minimize số lượng alternative URLs return cùng content để avoid Google making more requests to your site than needed."

Lý do: Google không biết 2 URLs về cùng content cho đến khi crawl cả 2. Mỗi URL "trùng" = 1 crawl request lãng phí.

Hành động cụ thể:

Một content = một URL chính (canonical) ✅ Loại bỏ URL không cần thiết ✅ Redirect 301 từ URL cũ về URL mới ✅ Implement canonical tags

Nguyên tắc 2: Consistent case (chữ hoa/thường)

"Nếu upper và lower case text trong URL được treated giống nhau bởi web server, convert tất cả text sang cùng case để Google EASIER xác định URLs reference cùng page."

Vấn đề:

Nếu server treat case-insensitive (mặc định ở Windows server):

/Product/Black-T-Shirt
/product/black-t-shirt
/PRODUCT/BLACK-T-SHIRT

→ Tất cả return cùng trang → Google có thể crawl cả 3 → lãng phí.

Giải pháp:

Tất cả URLs dùng lowercase (thông lệ chuẩn) ✅ Server-level redirect uppercase → lowercase ✅ Internal links luôn dùng lowercase

Code minh họa (Nginx):

# Redirect tất cả uppercase URLs về lowercase
if ($request_uri ~ [A-Z]) {
    rewrite ^(.*)$ $1 last;
}

Nguyên tắc 3: Unique URL cho mỗi paginated page

"Đảm bảo mỗi page trong paginated results có UNIQUE URL. Chúng tôi see most URL mistakes trong pagination URL structures."

🎯 Google thừa nhận: Pagination là nơi developers mắc lỗi nhiều nhất.

Ví dụ pagination tốt:

/ao-thun-nam              ← Page 1 (canonical)
/ao-thun-nam?page=2       ← Page 2
/ao-thun-nam?page=3       ← Page 3

Ví dụ pagination sai:

/ao-thun-nam              ← Page 1
/ao-thun-nam#page2        ← Page 2 (Google không hiểu)
/ao-thun-nam              ← Page 3 (cùng URL với Page 1, content load qua AJAX)

Nguyên tắc 4: Descriptive words trong URL paths

"Add descriptive words trong URL paths. Các từ trong URLs có thể giúp Google better understand the page."

Ví dụ Google đưa ra:

Recommended:

/product/black-t-shirt-with-a-white-collar

Not recommended:

/product/3243

Áp dụng cho VN:

Tốt:

/ao-thun-nam-cotton-trang
/serum-vitamin-c-the-ordinary
/iphone-16-pro-max-256gb-titan-tu-nhien

Xấu:

/p/12345
/product?id=999
/item.php?code=ABC

Lưu ý cho tiếng Việt:

  • KHÔNG dùng dấu trong URL (ao-thun thay vì áo-thun)

  • Dùng dấu gạch ngang (-) thay khoảng cách

  • Ngắn gọn nhưng có ý nghĩa

  • Có từ khóa chính một cách tự nhiên


Phần 3: Query Parameters — Quy tắc vàng

Query parameters (?key=value) là phần phức tạp nhất của URL ecommerce. Google đưa ra 3 quy tắc quan trọng:

Quy tắc 1: Dùng ?key=value, không phải ?value

"Use ?key=value URL parameters thay vì ?value, where possible."

Tại sao?

Format ?key=value giúp Google hiểu được semantic của parameter.

Ví dụ Google đưa ra:

Recommended:

/photo-frames?page=2
/t-shirt?color=green

Not recommended:

/photo-frames?2
/t-shirt?green

→ Với format ?2, Google không biết "2" là gì — page number? size? color?

Quy tắc 2: Avoid duplicate parameters

"Avoid using cùng parameters HAI LẦN. Googlebot có thể IGNORE một trong các values otherwise."

Ví dụ Google đưa ra:

Recommended:

?type=candy,sweet

Not recommended:

?type=candy&type=sweet

→ Khi dùng parameter 2 lần, Google không biết giá trị nào ưu tiên.

Áp dụng cho ecommerce:

Tốt:

/ao-thun?color=red,blue,green
/ao-thun?size=S,M,L

Xấu:

/ao-thun?color=red&color=blue&color=green
/ao-thun?size=S&size=M&size=L

Quy tắc 3: Avoid temporary/dynamic parameters

"Avoid internally linking to TEMPORARY parameters, như session-IDs, tracking codes, user-relative values (location=nearby, time=last-week), và current time."

Lý do: Các parameters này tạo URL có short life hoặc duplicate URLs cho cùng page.

Ví dụ Google đưa ra:

Recommended:

/t-shirt?location=UK

Not recommended:

/t-shirt?location=nearby          ← Relative, mỗi user khác nhau
/t-shirt?current-time=12:02       ← Thay đổi mỗi phút
/t-shirt?session=123123123        ← Thay đổi mỗi user

Cảnh báo cho VN:

🚨 Tracking parameters phổ biến cần xử lý:

  • ?utm_source=facebook (UTM tracking)

  • ?fbclid=... (Facebook click ID)

  • ?gclid=... (Google Ads click ID)

  • ?ref=... (Referral)

  • ?sid=... (Session ID)

  • ?aff=... (Affiliate)

→ Các URL này KHÔNG nên được index. Dùng canonical về URL gốc.


Phần 4: Product Variants — URL Structure Cho Sản Phẩm Có Biến Thể

Đây là phần đặc biệt quan trọng cho ecommerce. Google đưa ra hướng dẫn rõ ràng.

4.1. Product Variant là gì?

Google định nghĩa:

"Mỗi combination của product attributes được referred to as a PRODUCT VARIANT."

Ví dụ:

Áo thun có các attributes:

  • Color: Đỏ, Xanh, Trắng, Đen

  • Size: S, M, L, XL

→ Mỗi combination (vd: Đỏ + M) = 1 variant → Tổng: 4 colors × 4 sizes = 16 variants

4.2. Mỗi variant cần URL riêng

Google nhấn mạnh:

"Để help Google understand product variants của bạn, đảm bảo mỗi variant có thể được identified bởi MỘT URL RIÊNG."

4.3. 2 phương pháp URL cho variants

Google khuyến nghị 2 cách:

Phương pháp 1: Path Segment

/t-shirt/green
/t-shirt/red
/t-shirt/blue

Ưu điểm:

  • URL ngắn gọn, đẹp

  • SEO-friendly

  • Dễ nhớ

Nhược điểm:

  • Khó scale với nhiều attributes

  • Cần routing config phức tạp

Phương pháp 2: Query Parameter

/t-shirt?color=green
/t-shirt?color=red
/t-shirt?color=blue

Ưu điểm:

  • Dễ implement

  • Scale tốt với nhiều attributes

  • Filter UI dễ build

Nhược điểm:

  • URL dài hơn

  • Cần canonical management tốt

4.4. Canonical strategy cho variants

Google đưa ra lời khuyên cực kỳ quan trọng:

"Nếu bạn dùng OPTIONAL query parameters để identify variants, use URL với query parameter OMITTED như canonical URL."

Sơ đồ minh họa:

URL Canonical (mặc định):
/t-shirt   ← KHÔNG có color parameter

URLs Variants:
/t-shirt?color=blue   ← canonical → /t-shirt
/t-shirt?color=red    ← canonical → /t-shirt
/t-shirt?color=green  ← canonical → /t-shirt

Code minh họa:

<!-- Trang /t-shirt?color=blue -->
<head>
  <link rel="canonical" href="https://shop.com/t-shirt">
</head>

<!-- Trang /t-shirt?color=red -->
<head>
  <link rel="canonical" href="https://shop.com/t-shirt">
</head>

<!-- Trang /t-shirt (canonical) -->
<head>
  <link rel="canonical" href="https://shop.com/t-shirt">
</head>

→ Cách này giúp Google hiểu relationship giữa variants.

4.5. Mở rộng: Khi variant là sản phẩm thực sự khác

⚠️ Lưu ý quan trọng: Đôi khi "variant" có thể là sản phẩm hoàn toàn khác, không chỉ thay đổi nhỏ.

Ví dụ:

  • "iPhone 16" và "iPhone 16 Pro" → Đây là sản phẩm khác, không phải variants

  • "Áo thun M" và "Áo thun XL" → Đây là variants (cùng sản phẩm)

→ Phân biệt đúng để có canonical strategy đúng.


Phần 5: Best Practices Khi Dùng URLs Trong Content

5.1. Consistency là chìa khóa

Google nhấn mạnh:

"Use SAME URL trong internal links, sitemap files, và <link rel="canonical"> tags."

Ví dụ phổ biến: Nếu page 1 của pagination có thể là /category hoặc /category?page=1:

Đúng: Chọn 1 format và dùng nhất quán khắp site

Sai:

  • Sitemap có /category

  • Internal link có /category?page=1

  • Canonical có /category

→ Google bị confuse → có thể chọn URL không như mong đợi.

5.2. Self-referencing canonical

"Use self-referencing <link rel="canonical"> tag (URL trong tag points to current page) trên ALL indexable pages."

Ví dụ:

<!-- Trang https://shop.com/ao-thun -->
<head>
  <link rel="canonical" href="https://shop.com/ao-thun">  ✅
</head>

→ Đây là best practice ngay cả khi không có duplicate content.

5.3. Canonical cho variants

Đối với products có unique URL cho mỗi variant:

"Include canonical product URL trên ALL variant pages bằng <link rel="canonical"> tag."

Ví dụ:

<!-- Trang /t-shirt/green -->
<head>
  <link rel="canonical" href="https://shop.com/t-shirt">
</head>

<!-- Trang /t-shirt/red -->
<head>
  <link rel="canonical" href="https://shop.com/t-shirt">
</head>

Google cảnh báo:

"Include links directly trên pages dùng <a href> tags; DON'T use JavaScript để navigate giữa pages."

Lý do: Googlebot có thể không detect navigation từ JavaScript code.

Xấu:

<div onclick="navigate('/category')">Categories</div>
<button onclick="window.location='/cart'">Cart</button>

Tốt:

<a href="/category">Categories</a>
<a href="/cart">Cart</a>

5.5. Anchor text có ý nghĩa

"Include meaningful text giữa <a href></a> tags where possible, such as TITLE OF PRODUCT being linked to. DON'T use generic phrases như 'click here'."

Ví dụ:

Xấu:

<a href="/ao-thun-trang">Click here</a>
<a href="/ao-thun-trang">Xem thêm</a>
<a href="/ao-thun-trang">Tại đây</a>

Tốt:

<a href="/ao-thun-trang">Áo thun nam cotton trắng</a>
<a href="/ao-thun-trang">
  <img src="ao.jpg" alt="Áo thun nam cotton trắng">
</a>

"Avoid linking to, hoặc ít nhất indexing, các pages WITHOUT useful content."

Tình huống thường gặp:

  • Category page khi không có sản phẩm nào trong category

  • Trang sản phẩm khi sản phẩm đã hết hàng vĩnh viễn

  • Search results page rỗng

Khuyến nghị từ Google:

  1. Nếu trang tạm rỗng:

    <meta name="robots" content="noindex">
    
  2. Nếu category bị xóa khỏi search/browse:

    Return: HTTP 404 (Not Found)
    

Phần 6: Cấu trúc URL chuẩn cho Ecommerce Việt Nam

Dựa trên best practices của Google + thực tế thị trường VN, Tấn Phát Digital đề xuất:

6.1. Cấu trúc tổng thể

shop.com/                              ← Homepage
shop.com/danh-muc/                     ← All categories
shop.com/danh-muc/{category-slug}/     ← Category page
shop.com/danh-muc/{category-slug}/{sub-category}/  ← Sub-category
shop.com/san-pham/{product-slug}       ← Product page
shop.com/blog/                         ← Blog
shop.com/blog/{post-slug}              ← Blog post
shop.com/gioi-thieu                    ← About
shop.com/lien-he                       ← Contact
shop.com/chinh-sach/{policy-slug}      ← Policies

6.2. Ví dụ cụ thể

✅ shop.com/danh-muc/quan-ao-nam/
✅ shop.com/danh-muc/quan-ao-nam/ao-thun/
✅ shop.com/san-pham/ao-thun-nam-cotton-trang
✅ shop.com/san-pham/ao-thun-nam-cotton-trang?color=blue
✅ shop.com/blog/cach-chon-ao-thun-phu-hop-voi-dang-nguoi

6.3. URL nên TRÁNH

❌ shop.com/index.php?cat=12
❌ shop.com/product/12345.html
❌ shop.com/ao-thun-cotton/?sid=abc123
❌ shop.com/AoThunNam/CottonTrang  ← Camel case
❌ shop.com/ao_thun_nam            ← Underscore thay vì hyphen
❌ shop.com/áo-thun-nam            ← Có dấu (gây issues encoding)
❌ shop.com/ao-thun-nam-co-ban-tot-nhat-2026-gia-re-chinh-hang  ← Quá dài

6.4. Quy tắc đặt URL slug

6 quy tắc Tấn Phát Digital khuyến nghị:

  1. Dùng tiếng Việt KHÔNG dấuao-thun-nam, không áo-thun-nam

  2. Dùng hyphen (-), không underscore (_) — ao-thun-nam, không ao_thun_nam

  3. Lowercase 100%/san-pham/, không /San-Pham/

  4. Ngắn gọn — Tối đa 5-7 từ

  5. Có từ khóa chính — Nhưng không stuffing

  6. Không trailing slash sai — Chọn 1 format và consistent


Phần 7: Common Mistakes & Solutions

Mistake 1: Faceted Navigation tạo hàng triệu URLs

Vấn đề:

Site có filter: Color (10), Size (5), Brand (20), Price ranges (5).

Mỗi combination tạo 1 URL → 10 × 5 × 20 × 5 = 5,000 URLs cho 1 category!

Với 100 categories → 500,000 URLs trùng lặp.

Giải pháp:

<!-- Canonical về URL gốc -->
<link rel="canonical" href="https://shop.com/ao-thun">

<!-- HOẶC noindex các trang filter -->
<meta name="robots" content="noindex">

Hoặc trong robots.txt:

Disallow: /*?color=
Disallow: /*?size=
Disallow: /*?brand=

⚠️ Cẩn thận: Robots.txt chặn crawl nhưng không noindex. Dùng kết hợp.

Mistake 2: Session IDs trong URL

Vấn đề:

/ao-thun?session=abc123
/ao-thun?session=def456
/ao-thun?session=ghi789

→ Mỗi user = 1 URL mới → infinite URLs.

Giải pháp:

  • Dùng cookies cho session

  • Hoặc canonical về URL không session:

<link rel="canonical" href="https://shop.com/ao-thun">

Mistake 3: Trailing slash inconsistent

Vấn đề:

/ao-thun       ← Có thể accessible
/ao-thun/      ← Cũng accessible

→ Google có thể coi là 2 URLs.

Giải pháp:

Chọn 1 và redirect 301:

# Nginx: Remove trailing slash
rewrite ^/(.*)/$ /$1 permanent;

# HOẶC: Add trailing slash
rewrite ^([^.]*[^/])$ $1/ permanent;

Mistake 4: URL có và không có www

Vấn đề:

https://shop.com/ao-thun
https://www.shop.com/ao-thun

Giải pháp:

Redirect 301 từ phiên bản không ưu tiên về phiên bản chính:

# Redirect www → non-www
server {
    server_name www.shop.com;
    return 301 https://shop.com$request_uri;
}

Mistake 5: HTTP và HTTPS đều accessible

Vấn đề:

http://shop.com/ao-thun
https://shop.com/ao-thun

Giải pháp:

Force HTTPS 100%:

server {
    listen 80;
    return 301 https://$host$request_uri;
}

Mistake 6: Hết hàng → 404

Vấn đề:

Sản phẩm hết hàng tạm thời → return 404 → mất ranking.

Giải pháp:

Nếu hết hàng tạm thời:

  • Giữ trang, đánh dấu "Hết hàng"

  • Suggest sản phẩm tương tự

  • Email notify khi có hàng

Nếu hết hàng vĩnh viễn:

  • 301 redirect về category gần nhất

  • Hoặc đến sản phẩm thay thế tương đương

Mistake 7: Dùng JavaScript cho navigation

Vấn đề:

<div onclick="loadCategory('ao-thun')">Áo thun</div>

→ Google không click → không crawl được.

Giải pháp:

<a href="/danh-muc/ao-thun">Áo thun</a>

→ Có thể giữ JS để enhance UX, nhưng base HTML phải có <a href>.


Phần 8: Checklist URL Structure Audit

Tấn Phát Digital chia checklist thành 5 nhóm:

Nhóm 1: URL Format

  • [ ] URLs có ý nghĩa, không phải ID số

  • [ ] URLs dùng lowercase 100%

  • [ ] URLs dùng hyphen (-), không underscore (_)

  • [ ] URLs không có dấu tiếng Việt

  • [ ] URLs không quá dài (max 5-7 từ)

  • [ ] Trailing slash consistent

  • [ ] HTTPS bắt buộc

  • [ ] www/non-www chỉ chọn 1

Nhóm 2: Query Parameters

  • [ ] Dùng ?key=value format

  • [ ] Không duplicate parameters

  • [ ] Không session IDs trong URL

  • [ ] Không tracking parameters bị index

  • [ ] Không timestamp/dynamic values

Nhóm 3: Product Variants

  • [ ] Mỗi variant có URL riêng

  • [ ] Canonical về URL không có query param

  • [ ] Variant linkage rõ ràng

Nhóm 4: Pagination

  • [ ] Mỗi page có unique URL

  • [ ] Pagination dùng <a href> (crawlable)

  • [ ] Không dùng # cho pagination

  • [ ] Page 1 có canonical chuẩn

Nhóm 5: Faceted Navigation

  • [ ] Filters có canonical hợp lý

  • [ ] Robots.txt block các filter combinations

  • [ ] Hoặc noindex các filter pages

  • [ ] Internal links không trỏ đến filter URLs

Nhóm 6: Empty/Error Pages

  • [ ] Empty category → noindex

  • [ ] Sản phẩm xóa vĩnh viễn → 301 redirect hoặc 404

  • [ ] Sản phẩm hết hàng tạm thời → giữ trang


Phần 9: Implementation Guide cho các Platform phổ biến

9.1. WordPress (WooCommerce)

Plugin recommended:

  • Yoast SEO hoặc Rank Math — Canonical management

  • WP Rocket — Performance + URL optimization

Setup:

Settings → Permalinks → Custom Structure:
/%category%/%postname%/

WooCommerce → Settings → Products → General:
Product permalinks: /san-pham/
Category base: /danh-muc/

Code snippet để handle filter URLs:

// functions.php
add_filter('woocommerce_get_canonical_url', function($url) {
    // Remove tracking parameters
    $url = remove_query_arg(['utm_source', 'fbclid', 'gclid'], $url);
    return $url;
});

9.2. Shopify

Built-in features:

  • Auto canonical tags

  • Pretty URLs

  • HTTPS mặc định

Manual customization:

<!-- theme.liquid -->
<link rel="canonical" href="{{ canonical_url }}">

{% if template == 'product' %}
  <!-- Variant canonical -->
  <link rel="canonical" href="{{ product.url }}">
{% endif %}

9.3. Magento 2

Configuration:

Stores → Configuration → Web → URL Options:
- Add Store Code to Urls: No
- Auto-redirect to Base URL: Yes (301)

SEO Settings:

Stores → Configuration → Catalog → Search Engine Optimization:
- Use Categories Path for Product URLs: No (để URL ngắn hơn)
- Create Permanent Redirect: Yes

9.4. Custom platform

Nếu build từ đầu, follow nguyên tắc:

  1. Routing layer: Express, Laravel, Django routes

  2. Middleware: Force lowercase, HTTPS, canonical

  3. Database: Slug field cho mỗi entity

  4. Caching: Redis/CDN cho URL lookups

Ví dụ Express.js middleware:

// Force lowercase URLs
app.use((req, res, next) => {
  if (req.path !== req.path.toLowerCase()) {
    return res.redirect(301, req.path.toLowerCase());
  }
  next();
});

// Force HTTPS
app.use((req, res, next) => {
  if (req.header('x-forwarded-proto') !== 'https') {
    return res.redirect(301, `https://${req.header('host')}${req.url}`);
  }
  next();
});

Phần 10: URL Migration — Khi cần đổi cấu trúc

Đây là tình huống phổ biến: Site cũ có URL tệ → cần migrate sang URL mới tốt hơn.

10.1. Quy trình migration an toàn

Bước 1: Lập map URL cũ → mới

URL Cũ                              → URL Mới
/p?id=12345                         → /ao-thun-nam-cotton-trang
/category.php?cat=789               → /danh-muc/ao-thun-nam
/index.php?page=about               → /gioi-thieu

Bước 2: Implement 301 redirects

# Nginx
rewrite ^/p?id=12345$ /ao-thun-nam-cotton-trang permanent;
rewrite ^/category\.php\?cat=789$ /danh-muc/ao-thun-nam permanent;

Bước 3: Update internal links

  • Sitemap

  • Navigation

  • Footer

  • Internal cross-links

Bước 4: Update canonical tags

<link rel="canonical" href="https://shop.com/ao-thun-nam-cotton-trang">

Bước 5: Submit sitemap mới + Request indexing

  • Submit XML sitemap với URLs mới

  • URL Inspection → Request indexing cho top pages

Bước 6: Monitor

  • Daily check Search Console

  • Watch for 404 errors

  • Monitor traffic recovery

10.2. Thời gian recovery

Site size

Thời gian Google recrawl

< 1,000 URLs

1-2 tuần

1,000-10,000 URLs

2-4 tuần

10,000-100,000 URLs

1-3 tháng

> 100,000 URLs

3-6 tháng


URL Structure — Đầu tư một lần, hưởng lợi mãi mãi

URL structure là một trong những foundation quan trọng nhất của ecommerce SEO. Làm đúng ngay từ đầu → tiết kiệm hàng năm refactor sau này.

5 thông điệp cuối

1. Mỗi content = một URL chính. Đừng để duplicate URLs làm lãng phí crawl budget.

2. Descriptive > Cryptic. URL có ý nghĩa luôn tốt hơn ID số.

3. Consistency là king. Format URL phải nhất quán toàn site.

4. Variants cần URL riêng + Canonical đúng. Đây là điểm phức tạp nhất.

5. Migration là rủi ro cao. Plan kỹ, redirect đầy đủ, monitor liên tục.

Bài tiếp theo

Trong bài tiếp theo của cluster Ecommerce, chúng ta sẽ đi sâu vào Bài 13: Product Schema Markup Chi Tiết — cách implement structured data đầy đủ cho sản phẩm.


Tài liệu tham khảo chính thức


Về Tấn Phát Digital

Tấn Phát Digital có kinh nghiệm migration URL cho hàng chục ecommerce site lớn tại VN. Chúng tôi cung cấp:

  • URL Architecture Audit — Đánh giá hiện trạng URL structure

  • URL Migration Service — An toàn không mất SEO juice

  • Faceted Navigation Setup — Tối ưu filter cho ecommerce lớn

  • Multi-platform expertise — WordPress, Shopify, Magento, Custom

Liên hệ Tấn Phát Digital để được tư vấn về URL structure cho shop của bạn.

Bài viết được biên soạn từ tài liệu chính thức Google Search Central, cập nhật 10/12/2025. Phần phân tích, code examples, checklist và Implementation guide thuộc về Tấn Phát Digital.

SEO Ecommerce không chỉ nằm ở nội dung hay backlink — mà còn bắt đầu từ nền tảng kỹ thuật như cấu trúc URL.

Nếu bạn muốn xây dựng website bán hàng chuẩn SEO và tối ưu technical SEO toàn diện, hãy liên hệ Tấn Phát Digital để được tư vấn.

Mục lục

Câu hỏi thường gặp

URL thân thiện SEO cho website ecommerce là gì?

URL thân thiện SEO là đường dẫn ngắn gọn, dễ đọc, mô tả đúng nội dung trang và có chứa từ khóa chính khi phù hợp. Với ecommerce, URL nên giúp cả người dùng lẫn Google hiểu đó là trang sản phẩm, danh mục hay bài viết.

Vì sao tối ưu URL lại quan trọng với website ecommerce?

URL ảnh hưởng đến khả năng thu thập dữ liệu, hiểu cấu trúc website và trải nghiệm người dùng. URL rõ ràng giúp tăng mức độ tin cậy khi hiển thị trên kết quả tìm kiếm, hỗ trợ điều hướng tốt hơn và giảm rủi ro trùng lặp nội dung trên nhiều trang sản phẩm.

URL sản phẩm nên dài bao nhiêu là hợp lý?

Không có độ dài cố định, nhưng nên giữ URL ngắn và đủ ý. Chỉ nên chứa những phần thật sự cần thiết như danh mục ngắn và tên sản phẩm. Tránh nhồi nhiều cấp thư mục, mã nội bộ hoặc thông tin không có giá trị cho người tìm kiếm.

Có nên đưa từ khóa chính vào URL sản phẩm và danh mục không?

Có, nếu từ khóa phản ánh đúng nội dung trang. Từ khóa trong URL giúp Google và người dùng nhận diện chủ đề nhanh hơn. Tuy nhiên, chỉ nên dùng tự nhiên, tránh lặp từ khóa hoặc cố thêm nhiều biến thể làm URL trở nên dài và khó đọc.

URL ecommerce nên dùng dấu gạch ngang hay dấu gạch dưới?

Nên dùng dấu gạch ngang để tách từ trong URL vì dễ đọc và là cách phổ biến được công cụ tìm kiếm xử lý tốt. Tránh dùng dấu gạch dưới, ký tự đặc biệt, khoảng trắng mã hóa hoặc chữ viết liền vì dễ gây khó hiểu.

Có nên dùng tiếng Việt có dấu trong URL không?

Không nên. URL nên dùng chữ thường, không dấu và chuyển khoảng trắng thành dấu gạch ngang. Cách này giúp đường dẫn ổn định hơn, dễ chia sẻ, hạn chế lỗi hiển thị trên một số hệ thống và thuận tiện hơn cho quá trình quản trị kỹ thuật.

Có nên thay đổi URL cũ để tối ưu SEO tốt hơn không?

Chỉ nên đổi khi URL hiện tại quá xấu, khó hiểu hoặc gây trùng lặp. Việc thay đổi URL có thể làm mất tín hiệu SEO nếu xử lý sai. Khi đổi, cần thiết lập redirect 301 từ URL cũ sang URL mới để giữ traffic và giá trị đã tích lũy.

Làm sao xử lý URL có bộ lọc, tham số và biến thể sản phẩm?

Các URL có tham số như màu sắc, size, sắp xếp hoặc lọc giá rất dễ tạo ra nhiều phiên bản trùng lặp. Nên xác định trang nào cần index, dùng canonical hợp lý và hạn chế để các URL bộ lọc không quan trọng cạnh tranh với trang chính.

URL danh mục và URL sản phẩm nên được cấu trúc như thế nào?

Cấu trúc nên phản ánh hệ thống phân loại rõ ràng, ví dụ danh mục chính rồi đến sản phẩm nếu cần. Tuy nhiên, đừng tạo quá nhiều cấp thư mục. Mục tiêu là giúp người dùng hiểu vị trí trang trong website mà vẫn giữ URL ngắn, ổn định và dễ quản lý.

Những lỗi URL phổ biến nào cần tránh trên website ecommerce?

Các lỗi thường gặp gồm URL quá dài, chứa ký tự lạ, viết hoa lẫn lộn, lặp từ khóa, tạo nhiều URL cho cùng một nội dung và thay đổi URL liên tục. Ngoài ra, bỏ quên redirect hoặc canonical sau khi chỉnh sửa cũng là lỗi ảnh hưởng SEO đáng kể.

Bài viết liên quan

Hình ảnh đại diện của bài viết: 05 Công Cụ Nắm Bắt Xu Hướng Chuyên Sâu: Chìa Khóa Tối Ưu Chiến Dịch Quảng Cáo Mạng Xã Hội

05 Công Cụ Nắm Bắt Xu Hướng Chuyên Sâu: Chìa Khóa Tối Ưu Chiến Dịch Quảng Cáo Mạng Xã Hội

Khám phá 5 công cụ phân tích xu hướng chuyên sâu, từ TikTok Trends đến AI nhắm mục tiêu, cùng 10 lời khuyên chiến lược và các Case Study thực tế giúp thương hiệu tối ưu chiến dịch quảng cáo, tăng ROI và bứt phá doanh số trong mùa lễ hội sắp tới. Được cung cấp bởi Tấn Phát Digital.

Hình ảnh đại diện của bài viết: 10 Chiến Dịch Social Media Thành Công

10 Chiến Dịch Social Media Thành Công

Các chiến dịch social media thành công không chỉ giúp thương hiệu tăng độ nhận diện mà còn tạo ra sự kết nối mạnh mẽ với khách hàng. Bài viết này phân tích 10 chiến dịch social media truyền cảm hứng cùng những bài học chiến lược đáng giá.

Hình ảnh đại diện của bài viết: Chiến Lược Tăng Traffic Website Hiệu Quả & Bền Vững 2026 | Tấn Phát Digital

Chiến Lược Tăng Traffic Website Hiệu Quả & Bền Vững 2026 | Tấn Phát Digital

Báo cáo chuyên sâu về lộ trình tăng trưởng lưu lượng truy cập website tại thị trường Việt Nam, tập trung vào hiệu suất kỹ thuật, chiều sâu nội dung và xây dựng uy tín thực thể trong kỷ nguyên AI.

Hình ảnh đại diện của bài viết: 10 Sai lầm Từ khóa Volume Search & Chiến lược SEO

10 Sai lầm Từ khóa Volume Search & Chiến lược SEO

Đừng để con số Volume đánh lừa. Tấn Phát Digital phân tích sâu về Search Intent, độ khó và giá trị thương mại để xây dựng bộ từ khóa mang lại doanh thu bền vững thay vì chỉ là traffic ảo.

Hình ảnh đại diện của bài viết: 10 Xu hướng AI Marketing Cần Nắm Bắt Để Bứt Phá Trong Năm 2026

10 Xu hướng AI Marketing Cần Nắm Bắt Để Bứt Phá Trong Năm 2026

Năm 2026, AI không chỉ là công cụ mà là năng lực cạnh tranh cốt lõi. Khám phá 10 xu hướng đột phá: APM, Hyper-Orchestration, và Content Hybrid để làm chủ cuộc chơi Digital Marketing.

Hình ảnh đại diện của bài viết: 11 Bài Học Marketing Triệu View Từ Kênh Nông Sản | Ứng Dụng Mọi Lĩnh Vực

11 Bài Học Marketing Triệu View Từ Kênh Nông Sản | Ứng Dụng Mọi Lĩnh Vực

Khám phá 11 bài học marketing cảm xúc từ các kênh nông sản triệu view và cách ứng dụng vào mọi doanh nghiệp. Tấn Phát Digital giúp bạn xây dựng chiến lược nội dung doanh nghiệp có sức lan tỏa.

Hình ảnh đại diện của bài viết: 11 Dấu Hiệu Bạn Đang Thuê Nhầm Dịch Vụ SEO Năm 2026 | Tấn Phát Digital

11 Dấu Hiệu Bạn Đang Thuê Nhầm Dịch Vụ SEO Năm 2026 | Tấn Phát Digital

Nhận diện ngay 11 sai lầm chết người khi thuê SEO năm 2026 để bảo vệ doanh nghiệp trước các đợt cập nhật thuật toán AI khắt khe của Google thông qua phân tích chuyên sâu từ Tấn Phát Digital.

Hình ảnh đại diện của bài viết: 13 Tuyệt Chiêu Hook Video Triệu View Chạm Cảm Xúc 2026

13 Tuyệt Chiêu Hook Video Triệu View Chạm Cảm Xúc 2026

Chỉ cần 3 giây để thay đổi số phận một video. Tấn Phát Digital chia sẻ 13 công thức hook "thần thánh" giúp nội dung của bạn không thể bị lướt qua trong kỷ nguyên AI Search.

Zalo
Facebook
Tấn Phát Digital
Zalo
Facebook