Hướng dẫn về URL Case Sensitivity
Vì sao /Apple và /apple là hai khác nhau URLs để Google — đó Linux so với Windows/IIS filesystem mechanism behind điều này, đó robots.txt case trap, máy chủ-cấp độ các cách sửa cho Apache, Nginx, và IIS, và cách tìm case duplicates trong đó wild.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanHTTP Status & Redirect Checker
URL paths, filenames, và query parameters là case-sensitive để Google (đó hostname không) — so /Apple và /apple là hai khác nhau URLs đó có thể spawn duplicate nội dung, và một robots.txt Disallow cho /Riêng tư/ sẽ không block /riêng tư/. Đó mechanism là của bạn filesystem: Linux/Unix (và Apache/Nginx on điều này) treat paths as case-sensitive byte strings; Windows/IIS là case-insensitive theo mặc định, so đó giống nhau yêu cầu có thể 404 on một host và 200 on một sản phẩm khác. Đó cách sửa là picking một case (lowercase là đó convention) và enforcing điều này với một máy chủ-cấp độ chuyển hướng, hoặc rel=canonical as một fallback.
Evidence for this claim URI schemes and hosts are case-insensitive, while path and query components may be case-sensitive depending on the server and application. Scope: Generic URI comparison rules. Confidence: high · Verified: IETF RFC 3986: Syntax-based normalization Evidence for this claim Google recommends consistent URL casing and treats URLs that differ by path case as potentially distinct crawlable URLs. Scope: Current Google URL consistency guidance. Confidence: high · Verified: Google Search Central: URL structure best practicesTóm tắt —
/Applevà/applelà distinct URL strings, ngay cả Khi máy chủ trả về giống nhau trang cho cả hai. Hostnames là case-insensitive, trong khi path và query xử lý phụ thuộc vào máy chủ và application. Mixed variants có thể tạo duplicate crawl paths và mismatchedrobots.txtrules, so chọn casing convention và enforce nó consistently.
là các URL case-sensitive?
Có — đó part sau của bạn domain là. Google says điều này plainly trong của nó own tài liệu: “Be aware that URLs are case sensitive.” (bản dịch) «Là aware đó URLs là case sensitive.» So những hai addresses là treated as hai tách biệt URLs:
https://example.com/Apple
https://example.com/appleNgay cả nếu cả hai load chính xác giống nhau trang, công cụ tìm kiếm sees hai khác các URL với của họ own nội dung. đó toàn bộ vấn đề trong một sentence.
một exception là của bạn domain name ( hostname). Example.com và
example.com là giống nhau trang web — capitals trong domain không bao giờ quan trọng. nó chỉ
path, filename, và query string — mọi thứ sau khi
domain — nơi case matters.
Vì sao điều này gây ra các vấn đề
Hai điều go sai:
- Duplicate nội dung. nếu mọi người (hoặc của bạn own trang web) link để cả hai
/Applevà/apple, bạn’ve đã nhận giống nhau trang living tại hai addresses. Google có thể loại đó out on của nó own — nhưng nó cũng có thể không, và hiện tại của bạn thứ hạng và links là split trên hai versions thay vì pooled vào một. - Hỏng
robots.txtrules. nếu của bạnrobots.txtnóiDisallow: /Private/(capital P), nó làm không block/private/(lowercase p). rule chỉ matches chính xác casing bạn wrote.
Cách khắc phục nó
- Pick lowercase. nó near-universal convention và Điều gì phần lớn trang web các nền tảng đã sử dụng.
- Làm của bạn máy chủ enforce nó — thiết lập rule đó các chuyển hướng bất kỳ uppercase URL để của nó lowercase version. ( Nâng cao và Scripts tabs có thực tế code cho Apache, Nginx, và IIS.)
- giữ của bạn own links lowercase — trong của bạn menus, của bạn nội dung, và của bạn sitemap, luôn link để lowercase version.
điều phần lớn mọi người nhận sai
“Google is smart enough that this doesn’t matter.” (bản dịch) «Google là smart đủ đó này không quan trọng.» đây là thường smart đủ để hợp nhất giống hệt case-variant các trang — nhưng “thường” không “luôn,” và John Mueller có đã nói outright đó “hope should not be a part of an SEO strategy.” (bản dịch) «hope không nên là một part of an SEO strategy.» không leave điều này lên để Google để guess.
Muốn Vì sao behind all điều này — Cách của bạn máy chủ operating hệ thống decides liệu
/Apple hoạt động hoặc 404s, đầy đủ robots.txt trap, và sao chép và dán máy chủ các cách sửa?
Chuyển để Nâng cao tab.
Evidence for this claim URI schemes and hosts are case-insensitive, while path and query components may be case-sensitive depending on the server and application. Scope: Generic URI comparison rules. Confidence: high · Verified: IETF RFC 3986: Syntax-based normalization Evidence for this claim Google recommends consistent URL casing and treats URLs that differ by path case as potentially distinct crawlable URLs. Scope: Current Google URL consistency guidance. Confidence: high · Verified: Google Search Central: URL structure best practicesTL;DR — Hostnames là case-insensitive; path và query so sánh có thể là case-sensitive và ultimately phụ thuộc vào máy chủ và application routing. Filesystem defaults thường influence behavior, nhưng không define URL semantics by themselves. Google có thể crawl differently cased paths as distinct URLs; điều này có thể canonicalize them together khi nội dung matches, nhưng “usually… not always ideal” (bản dịch) «thường… không luôn ideal» không phải một strategy.
robots.txtcác giá trị là case-sensitive cũng, so mộtDisallowcho một casing silently misses đó others — một distinct access vấn đề, không chỉ một duplicate-nội dung một. Cách sửa priority: ngăn variants tại đó nguồn, thì một máy chủ-cấp độ 301 để lowercase (ApacheRewriteMap tolower, Nginxmap, IIS URL Rewrite), vớirel=canonicalas một fallback khi bạn không thể touch đó máy chủ.
Điều gì là (và không phải) case-sensitive
Bắt đầu với đó chính xác boundary, vì casual phrasing (“URLs are case-sensitive” (bản dịch) «URLs là case-sensitive») nhận điều này sai half đó time. John Mueller drew đó line cleanly: “URL path, filename, and query parameters are case-sensitive, the hostname / domain name aren’t. Case-sensitivity matters for canonicalization, so it’s a good idea to be consistent there.” (bản dịch) «URL path, filename, và query parameters là case-sensitive, đó hostname / domain name không. Case-sensitivity matters cho canonicalization, so đây là một good ý tưởng để là consistent ở đó.»
So:
| URL part | Case-sensitive? | Vì sao |
|---|---|---|
Scheme (https://) | Không | Fixed giao thức tokens |
Hostname (example.com) | Không | DNS resolution là case-insensitive tại giao thức cấp độ |
Path (/Products/Shoes) | Có | Resolved so với filesystem/router đó compares casing |
Filename (/Logo.png) | Có | giống nhau — nó part của path |
Query string (?Color=Red) | Có | Parameter keys và các giá trị là compared as-là |
EXAMPLE.com/page và example.com/page là đó giống nhau URL. example.com/Page và
example.com/page không phải. Này là đó giống nhau class of “one page, many URLs” (bản dịch) «một trang, nhiều URLs» vấn đề
đó trailing slashes, www so với non-www, và query parameters tạo — đó URL
structure và canonicalization deep dives cover những variants, và I sẽ không
re-derive them ở đây; casing là một hơn axis trong đó giống nhau duplicate-URL grid.
đó bảng là URL-xử lý default engines như Google follow, theo spec — không
promise về Điều gì của bạn cụ thể origin máy chủ, CDN, hoặc application sẽ thực ra
trả về. Treat nó as nơi để bắt đầu kiểm thử, không as substitute cho kiểm thử: yêu cầu
path trong cả hai casings và đọc thực phản hồi ( Scripts tab có sao chép và dán
curl kiểm tra) trước khi bạn assume rule áp dụng để của bạn stack.
Một nhiều hơn trường hợp biên worth flagging thay vì glossing over: Unicode slugs. Hai
visually giống hệt characters — Latin “một” và Cyrillic “а,” ví dụ — có thể là
khác code points đó survive ASCII-style lowercasing completely untouched,
vì lowercasing operates on characters bạn có, không ones reader
perceives. nếu bạn generate slugs từ non-English các tiêu đề, quyết định của bạn encoding và
normalization policy lên front thay vì assuming .toLowerCase() call catches
mọi thứ international.
Vì sao điều này happens: nó của bạn filesystem
Hầu hết ghi-ups state “URLs are case-sensitive” (bản dịch) «URLs là case-sensitive» as đã nhận wisdom và move on. Đó hữu ích part là vì sao, vì điều này giải thích đó single hầu hết confusing symptom — đó giống nhau URL hoạt động on một máy chủ và 404-ing on một sản phẩm khác.
Linux/Unix filesystems là case-sensitive. On ext4, XFS, và similar
filesystems đó chạy overwhelming majority của web, Apple và apple là
theo nghĩa đen khác directory entries — khác inodes. Khi Apache hoặc Nginx maps
incoming yêu cầu path để file hoặc route, nó compares casing byte-cho-byte.
Ask cho /Apple Khi chỉ /apple tồn tại và bạn nhận genuine 404.
Windows/NTFS là case-insensitive theo mặc định — nhưng case-bảo toàn. nó stores
Apple với của nó capital intact (so nó displays “correctly”), tuy vậy Khi nó looks
name lên, nó bỏ qua case. IIS, Microsoft web máy chủ, inherits đó
behavior: yêu cầu /Apple hoặc /APPLE hoặc /apple và IIS phục vụ giống nhau file. nó
không khắc phục SEO vấn đề — Google vẫn sees distinct các URL — nhưng máy chủ
itself sẽ happily 200 tất cả them.
consequence là kinh điển dev-để-prod bug: nhà phát triển on Windows/IIS types
path với sai case, nó hoạt động fine locally vì Windows không care, sau đó
giống nhau yêu cầu 404s moment nó hits Linux/Apache/Nginx production máy chủ
đó làm. Không có gì trong của bạn CMS hoặc SEO plugin gây ra nó — hai machines’ operating
các hệ thống chỉ disagree về liệu case matters. (Microsoft documents điều này behavior
trực tiếp trong của nó
Windows case-sensitivity hướng dẫn.)
Này là worth knowing during bất kỳ nền tảng migration: move một site giữa một case-insensitive host và một case-sensitive một và mixed-case URLs đó “always worked” (bản dịch) «luôn worked» có thể suddenly bắt đầu breaking hoặc duplicating.
Đó filesystem là đó bottom of đó stack, không đó toàn bộ stack. Mọi thứ trên điều này — một reverse proxy, một CDN edge, một load balancer, hoặc đó application own router — nhận một chance để normalize, rewrite, hoặc ngắn-circuit một yêu cầu casing trước điều này bao giờ reaches đó filesystem đó origin máy chủ sits on. MỘT Linux origin không bảo đảm case-sensitive behavior tại đó URL bạn thực ra yêu cầu nếu điều gì đó trong front of điều này là đã folding cases together, và an application router có thể chỉ as easily impose của nó own case rules independent of đó OS underneath điều này. “Linux + Apache/Nginx = case-sensitive” (bản dịch) «Linux + Apache/Nginx = case-sensitive» là đó right default assumption, không một substitute cho kiểm tra đó thực tế phản hồi on của bạn stack.
Cách Google thực ra xử lý case-khác các URL
Google không inventing case sensitivity — đây là sau đó URL spec đó mỗi
compliant HTTP client follows. Từ đó tài liệu: “Like any other HTTP client following
IETF STD 66, Google Search’s URL handling is case sensitive (for example, Google
treats both /APPLE and /apple as distinct URLs with their own content).” (bản dịch) «Như bất kỳ other HTTP client sau IETF STD 66, Google Search’s URL xử lý là case sensitive (ví dụ, Google xử lý cả hai và as distinct URLs với của họ own nội dung).» Đó
STD 66 grounding matters: này là các tiêu chuẩn behavior, không một Google quirk.
Google own advice là để normalize: “If upper and lower case text in a URL is treated the same by your web server, convert all text to the same case so it’s easier for Google to determine that URLs reference the same page.” (bản dịch) «Nếu upper và thấp hơn case text trong một URL là treated đó giống nhau by của bạn web máy chủ, convert all text để đó giống nhau case so đây là easier cho Google để determine đó URLs reference đó cùng trang.» Note đó “nếu” — đó là aimed squarely tại case-insensitive các máy chủ (IIS) đó serve mỗi casing, mà là chính xác nơi đó duplicate risk lives.
Có thể Google hợp nhất case-duplicates on của nó own? Thường, có — qua canonicalization, casing là một of đó phổ biến duplicate-URL patterns điều này groups. Mueller: “If a website still shows the same content in these cases, search engines will try to figure it out on their own and usually that works out well. But it’s not always ideal.” (bản dịch) «Nếu một website vẫn cho thấy đó giống nhau nội dung trong những cases, các công cụ tìm kiếm sẽ try để hình điều này out on của họ own và thường đó hoạt động out well. Nhưng đây là không luôn ideal.» Và trong một tách biệt exchange về mismatched canonicals on uppercase URLs, he đã là sharper: “If it serves the same content, it’ll probably be seen as a duplicate and folded together, but ‘hope’ should not be a part of an SEO strategy.” (bản dịch) «Nếu điều này serves đó giống nhau nội dung, điều này’ll probably là seen as một duplicate và folded together, nhưng ‘hope’ không nên là một part of an SEO strategy.»
đó honest cách diễn đạt. điều này không phải five-alarm fire — nhưng relying on Google để guess right là lựa chọn bạn không có để làm Khi khắc phục là chuyển hướng rule.
có cũng một crawl-efficiency cost. Mueller: “Search engines will try to crawl all variations of the URL that they find. This can make it a bit slower for them to find other useful content on your website.” (bản dịch) «Các công cụ tìm kiếm sẽ try để crawl all variations of đó URL đó they tìm. Này có thể làm điều này một bit chậm hơn cho them để tìm other hữu ích nội dung on của bạn website.» Nếu trang web của bạn là spraying case-variant URLs vào đó link graph, bots waste fetches re-crawling đó giống nhau nội dung trong khác nhau casings thay vì discovering của bạn real các trang — đó giống nhau crawl-waste dynamic đó parameters và crawl-budget topics mô tả, chỉ với casing as đó multiplier.
Cách Bing xử lý case-khác các URL
Bing behaves differently, và honesty về sourcing matters ở đây: có không dedicated Bing tài liệu trang on URL case sensitivity comparable để Google STD 66 callout, so Đây là dựa trên quản trị viên web các báo cáo và Microsoft community threads, không formal spec.
Điều gì những điều đó các báo cáo consistently mô tả: Bingbot tends để normalize toward lowercase — crawling và lập chỉ mục lowercase version của URL nó discovers, và Bing Quản trị viên web Tools có là observed auto-lowercasing các URL được gửi trong sitemaps. Quản trị viên web có raised cả hai behaviors on Microsoft Community Hub. So Bing xuất hiện để làm nhiều hơn của case-collapsing cho bạn hơn Google strict distinct-URL treatment làm.
Caveat: này là Bing practical behavior theo quản trị viên web các báo cáo và community threads, không an chính thức policy statement. I’m không going để invent một Bing spokesperson quote — none tồn tại cho này cụ thể topic. Treat điều này as “behaves differently, less formally documented,” (bản dịch) «behaves differently, ít hơn formally được ghi lại,» và verify so với của bạn own Bing Quản trị viên web Tools dữ liệu nếu điều này matters để bạn.Either way, khắc phục là giống nhau. Standardizing on lowercase satisfies Google distinct-URL model và aligns với whatever Bing là normalizing toward — bạn không optimize cho một engine behavior tại expense của khác.
robots.txt case trap
điều này deserves của nó own section vì nó khác kind của thất bại từ
duplicate nội dung. Duplicate nội dung splits các tín hiệu; hỏng robots.txt rule là
access-control thất bại — path bạn meant để giữ bots out của nhận được crawl
anyway.
Đó rule, straight từ Google robots.txt spec: đó directive name là
case-insensitive, nhưng của nó giá trị là case-sensitive. “The field name (disallow)
is case-insensitive, but its value is case-sensitive.” (bản dịch) «Đó trường name ( ) là case-insensitive, nhưng của nó giá trị là case-sensitive.» Và: “The path value must
start with / to designate the root and the value is case-sensitive.” (bản dịch) «Đó path giá trị phải bắt đầu với để designate đó root và đó giá trị là case-sensitive.» Google own
ví dụ spells điều này out — một rule cho /fish “Matches any path that starts with
/fish. Note that the matching is case-sensitive.” (bản dịch) «Matches bất kỳ path đó bắt đầu với . Note đó matching là case-sensitive.»
So Disallow, disallow, và DISALLOW all hoạt động identically — đó directive name
casing là irrelevant. Nhưng đó path giá trị là khớp chính xác. Mueller confirmed
đó practical implication trực tiếp: “The robots.txt file also uses exact URLs, so if
you have entries there which refer to one version of a URL they would not apply to
other versions.” (bản dịch) «Đó robots.txt file cũng dùng chính xác URLs, so nếu bạn có entries ở đó mà refer để một version of một URL they sẽ không apply để other versions.»
Hai concrete ways điều này bites — thứ hai là nhiều hơn dangerous:
Ví dụ 1 — kinh điển. của bạn robots.txt có:
User-agent: *
Disallow: /Private/đó chặn /Private/. nó làm không có gì cho /private/. nếu bất cứ điều gì on của bạn
trang web links để lowercase version, nó fully crawlable despite của bạn rule.
Ví dụ 2 — post-migration mismatch. bạn replatform, và new CMS
generates cart và admin paths trong lowercase. của bạn old robots.txt, copied over
verbatim, vẫn nói:
Disallow: /Checkout/
Disallow: /Admin/trực tiếp các URL là hiện tại /checkout/ và /admin/. disallows silently miss them,
và thin, không-giá trị (hoặc sensitive) paths nhận được crawl và có thể end lên được lập chỉ mục. Đây là
chính xác scenario migration nhóm walk vào, vì robots.txt gần như không bao giờ
nhận audited so với thực tế casing của new các URL.
(Để là clear, này rarely gây ra catastrophic các vấn đề trong thực tế — Mueller có đã nói case mismatches trong robots.txt là rare để see nguyên nhân real các vấn đề. Nhưng “rare and silent” (bản dịch) «rare và silent» là precisely đó kind of bug đó sits unnoticed cho months, so đây là worth một five-minute kiểm tra.)
khắc phục cho trap là giống nhau discipline as mọi nơi khác: ghi của bạn
robots.txt rules trong casing của bạn các URL thực ra sử dụng, và enforce single casing
so có chỉ một version để block.
Sửa case-duplicate các URL
tiêu chuẩn kỹ thuật-SEO remediation hierarchy, phần lớn để least được ưu tiên:
1. Ngăn variants tại nguồn
best khắc phục là không bao giờ generating mixed-case các URL trong đầu tiên place — Đây là CMS/URL-generation-layer concern, và nó varies by nền tảng (verify hiện tại behavior on của bạn own stack thay vì trusting blanket claim):
- Shopify lowercases sản phẩm và collection xử lý tự động, so native các URL là largely safe — nhưng app-generated hoặc legacy-imported các URL có thể vẫn introduce case variants.
- WordPress permalinks là lowercase by convention, nhưng custom post types, tags, và manually entered slugs có thể introduce mixed case; Yoast và RankMath không natively force-lowercase các URL.
- Enterprise, custom, và Java/.NET-được hỗ trợ các nền tảng là phần lớn exposed — casing thường falls out của routing framework và hosting OS với không deliberate policy, especially on Windows/IIS stacks nơi không có gì forces vấn đề locally.
2. máy chủ-cấp độ lowercase chuyển hướng ( definitive khắc phục)
301 để canonical lowercase URL là hard khắc phục — nó consolidates các tín hiệu và gửi người dùng/bots để một address. implementation differs by máy chủ (đầy đủ sao chép và dán config là trong Scripts tab):
- Apache có native lowercasing tool —
RewriteMapvớiint:tolower— so bạn có thể convert đểàn bộ path để lowercase trong rewrite rule. - Nginx có không được xây dựng-trong string-lowercasing function, so nó genuinely nhiều hơn
involved hơn Apache’s một-liner: bạn either sử dụng
njs/Lua module để lowercase URI, hoặc xây dựng rõ ràngmaplookup đó catches uppercase characters. không let anyone tell bạn nó như-cho-nhưmapmột-liner — nó không phải. - IIS dùng URL Rewrite module với rule condition và
{ToLower:...}function. Since IIS phục vụ mỗi casing theo mặc định, Đây là nơi enforcement matters phần lớn.
không ship blanket sitewide rule blind. Lowercase là right convention cho new paths, nhưng mixed-case-để-lowercase chuyển hướng không phải tự động safe on existing trang web — inventory của bạn thực tế case variants đầu tiên (crawl export, access nhật ký, sitemap, liên kết nội bộ), và cụ thể kiểm tra cho paths nơi case là legitimate và load-bearing: uploaded filenames, generated tokens, bất cứ điều gì CMS hoặc app produced với intentional mixed case. xác nhận mỗi route thực ra trả về tương đương nội dung trong cả hai casings trước khi bạn fold nó vào rule, roll chuyển hướng out trong bounded way thay vì flipping mỗi path tại sau khi, và watch lỗi rates và GSC trang lập chỉ mục báo cáo afterward — có không có bảo đảm lowercase cleanup recovers lost thứ hạng hoặc crawl coverage, chỉ đó nó dừng tín hiệu-splitting going forward.
3. rel=canonical as fallback
Khi bạn không thể touch máy chủ config — shared hosting, một nền tảng đó sẽ không let bạn
thêm rewrite rules, hoặc một case nơi legitimate case-variant URLs phải stay trực tiếp — một
rel=canonical pointing mỗi variant tại đó lowercase version là đó safety net.
đây là một hint, không một directive, và weaker hơn một 301 — nhưng far tốt hơn
không có gì. Mueller khuyến nghị: “Using internal linking to link to a consistent
version makes your preference clear. Adding a link rel=” (bản dịch) «Dùng liên kết nội bộ để link để một consistent version làm của bạn preference clear. Thêm một link rel=\»canonical” element also
helps to confirm that.” (bản dịch) «element cũng helps để xác nhận đó.»
đó đã nói, canonical chỉ hoạt động sau khi bạn’ve confirmed variants thực ra phục vụ
duplicate nội dung. nếu case variant trả về genuinely khác nội dung, hoặc
lỗi, rel=canonical element có thể’t hợp nhất nó — hint có thể’t consolidate hai
khác các tài nguyên vào một. Verify phản hồi trước khi bạn point canonical tại
nó, không sau khi.
4. giữ liên kết nội bộ và sitemaps consistent
Whatever casing bạn chọn, của bạn own links có để agree với nó. mỗi liên kết nội bộ,
navigation entry, và sitemap URL nên sử dụng canonical (lowercase) version.
perfect chuyển hướng rule undermined by menus đó vẫn link để /Products/ chỉ làm
bots follow chuyển hướng hops họ đã không cần để.
Cách tìm case-duplicate các URL trên trang web củ bạn
Three complementary các phương thức — GSC hiển thị Điều gì Google thực ra đã làm; các crawler let bạn catch variants trước khi họ become lập chỉ mục vấn đề:
- Google Search Console → Trang lập chỉ mục báo cáo. Tìm “Duplicate without user-selected canonical” (bản dịch) «Duplicate không có người dùng-được chọn canonical» và “Duplicate, Google chose different canonical than user” (bản dịch) «Duplicate, Google chose khác nhau canonical hơn người dùng» statuses, thì eyeball đó flagged URL pairs cho case differences. GSC sẽ không label đó nguyên nhân as “casing” — điều này các báo cáo mỗi duplicate nguyên nhân cùng cách — so bạn có để spot đó case-chỉ pairs yourself.
- Ahrefs Site Audit. MỘT crawl surfaces near-duplicate URLs; casing differences cho thấy lên as tách biệt được crawl URLs với giống hệt hoặc near-giống hệt nội dung, worth cross-kiểm tra dưới đó duplicate-nội dung reporting.
- Screaming Frog. Export đó đầy đủ crawl, lowercase đó URL cột, và loại/filter
để spot pairs đó differ chỉ trong case. Bạn có thể cũng kiểm thử cụ thể known paths trong
cả hai casings để xác nhận máy chủ behavior — làm
/Appletrả về200,301, hoặc404? Đó single kiểm thử tells bạn liệu máy chủ của bạn là case-insensitive (IIS-style200), đã enforcing lowercase (301), hoặc case-sensitive với không variant (404).
nơi điều này sits
Case sensitivity là một axis trong rộng hơn duplicate-URL vấn đề điều này cluster giữ
circling — nó compounds với trailing slashes, www so với non-www, và query
parameters, và nó một của khoảng 40 các tín hiệu đó feed canonicalization.
URL structure hub, trailing slash và URL parameters deep dives, và
canonicalization bài viết mỗi cover của họ own axis; discipline là giống hệt
trên tất cả them — pick một sạch version và enforce nó với các chuyển hướng,
canonicals, consistent liên kết nội bộ, và matching sitemaps.
AI summary
condensed take on Nâng cao version:
- điều gì là case-sensitive: đó path, filename, và query string — không đó
hostname.
/Apple≠/apple;Example.com=example.com. Google follows IETF STD 66, so điều này xử lý casings as distinct URLs với của họ own nội dung. Treat đó rule as một default để verify, không phải là bảo đảm — yêu cầu cả hai casings và đọc đó real phản hồi cho của bạn own stack. Non-ASCII slugs là một tách biệt risk: visually giống hệt Unicode characters có thể là khác nhau code points đó survive lowercasing untouched, so international slugs cần an rõ ràng encoding/normalization policy. - Vì sao điều này happens — đó filesystem: Linux/Unix (và Apache/Nginx on điều này) là
case-sensitive —
Applevàapplelà khác nhau files. Windows/NTFS và IIS là case-insensitive theo mặc định (case-bảo toàn). So đó giống nhau yêu cầu có thể200on IIS và404on Linux — đó classic dev-để-prod / migration bug. Nhưng đó filesystem là đó bottom of đó stack, không đó toàn bộ stack: một proxy, CDN, load balancer, hoặc application router trong front of điều này có thể override đó default trước một yêu cầu bao giờ reaches đó filesystem. - Google có thể hợp nhất case-duplicates qua canonicalization, nhưng “usually… not always ideal” (bản dịch) «thường… không luôn ideal» — và “hope should not be a part of an SEO strategy.” (bản dịch) «hope không nên là một part of an SEO strategy.» có cũng một crawl-efficiency cost: bots waste fetches crawling mỗi casing.
- Bing xuất hiện để normalize toward lowercase (crawl/indexes đó lowercase version, auto-lowercases sitemap URLs) — theo quản trị viên web các báo cáo, không an chính thức spec.
- Đó robots.txt trap (an access failure, không một duplicate một): đó directive
name là case-insensitive nhưng đó path giá trị là case-sensitive.
Disallow: /Private/làm không block/private/. Watch cho post-migration mismatches (/Checkout/rule so với. lowercase trực tiếp paths). - Cách sửa priority: (1) ngăn variants tại đó CMS/nguồn; (2) máy chủ-cấp độ 301 để
lowercase — Apache
RewriteMap int:tolower, Nginx quanjs/Lua hoặc mộtmapbảng (không native lowercasing — và hãy bảo đảm đó chuyển hướng preserves đó query string với$is_args$args, since đó njs function chỉ lowercases đó path), IIS URL Rewrite{ToLower:...}; (3)rel=canonicalas một fallback, chỉ khi bạn đã confirmed đó variant thực ra serves duplicate nội dung; (4) giữ liên kết nội bộ và sitemaps consistent. Trước một sitewide chuyển hướng, inventory legitimately case-sensitive paths (uploaded files, tokens) và roll điều này out bounded — có không xếp hạng hoặc crawl recovery bảo đảm, chỉ đó điều này dừng tương lai tín hiệu-splitting. - Detect điều này: GSC Trang lập chỉ mục báo cáo (duplicate statuses → eyeball case pairs),
Ahrefs Site Audit, Screaming Frog (lowercase-và-loại đó export; kiểm thử
/Applecho200/301/404). - Compounds với trailing slash, www/non-www, và parameters — giống nhau cách sửa: pick một version, enforce điều này.
Tài liệu chính thức
Chính-nguồn tài liệu on case xử lý.
- URL structure thực hành tốt nhất — “Be aware that URLs are case sensitive” (bản dịch) «Là aware đó URLs là case sensitive»; đó IETF STD 66
/APPLEso với/applecách diễn đạt; đó convert-để-giống nhau-case khuyến nghị. - Cách Google interprets đó robots.txt đặc tả — đó directive name là case-insensitive nhưng đó path giá trị là case-sensitive; đó
/fishcase-sensitive-matching ví dụ. - Canonicalization — casing listed among đó phổ biến duplicate-URL scenarios (alongside HTTP/HTTPS, www, trailing slash, và parameters).
- Trang lập chỉ mục báo cáo — Search Console Help — đó “Duplicate without user-selected canonical” (bản dịch) «Duplicate không có người dùng-được chọn canonical» và “Duplicate, Google chose different canonical than user” (bản dịch) «Duplicate, Google chose khác nhau canonical hơn người dùng» statuses đó surface case-duplicates.
Bing / Microsoft
- Bing thay đổi các URL từ upper để thấp hơn case — Microsoft Community Hub — quản trị viên web các báo cáo của Bing lowercase normalization (community evidence, không chính thức spec trang).
- Adjust case sensitivity — Microsoft Learn — Windows/NTFS case-insensitive-nhưng-case-bảo toàn behavior, mechanism behind IIS-so với-Linux khác biệt.
Quotes từ nguồn
On—record statements từ tài liệu củ Google và John Mueller. nơi nguồn là tài liệu, link deep-links để passage.
Google Search Central tài liệu — các URL là case-sensitive
- “Be aware that URLs are case sensitive.” (bản dịch) «Là aware đó URLs là case sensitive.» Nhảy đến trích dẫn
- “Like any other HTTP client following IETF STD 66, Google Search’s URL handling is case sensitive (for example, Google treats both /APPLE and /apple as distinct URLs with their own content).” (bản dịch) «Như bất kỳ other HTTP client sau IETF STD 66, Google Search’s URL xử lý là case sensitive (ví dụ, Google xử lý cả hai /APPLE và /apple as distinct URLs với của họ own nội dung).» Nhảy đến trích dẫn
- “If upper and lower case text in a URL is treated the same by your web server, convert all text to the same case so it’s easier for Google to determine that URLs reference the same page.” (bản dịch) «Nếu upper và thấp hơn case text trong một URL là treated đó giống nhau by của bạn web máy chủ, convert all text để đó giống nhau case so đây là easier cho Google để determine đó URLs reference đó cùng trang.» Nhảy đến trích dẫn
Google Search Central tài liệu — robots.txt là case-sensitive
- “The field name (disallow) is case-insensitive, but its value is case-sensitive.” (bản dịch) «Đó trường name (disallow) là case-insensitive, nhưng của nó giá trị là case-sensitive.» Nhảy đến trích dẫn
- “The path value must start with / to designate the root and the value is case-sensitive.” (bản dịch) «Đó path giá trị phải bắt đầu với / để designate đó root và đó giá trị là case-sensitive.» Nhảy đến trích dẫn
- “Matches any path that starts with /fish. Note that the matching is case-sensitive.” (bản dịch) «Matches bất kỳ path đó bắt đầu với /fish. Note đó matching là case-sensitive.» Nhảy đến trích dẫn
John Mueller, Google — Điều gì là (và không phải) case-sensitive
- “URL path, filename, and query parameters are case-sensitive, the hostname / domain name aren’t. Case-sensitivity matters for canonicalization, so it’s a good idea to be consistent there.” (bản dịch) «URL path, filename, và query parameters là case-sensitive, đó hostname / domain name không. Case-sensitivity matters cho canonicalization, so đây là một good ý tưởng để là consistent ở đó.» Coverage (Search Engine Journal)
John Mueller, Google — không rely on Google figuring nó out
- “If it serves the same content, it’ll probably be seen as a duplicate and folded together, but ‘hope’ should not be a part of an SEO strategy.” (bản dịch) «Nếu điều này serves đó giống nhau nội dung, điều này’ll probably là seen as một duplicate và folded together, nhưng ‘hope’ không nên là một part of an SEO strategy.» Coverage (Search Engine Journal)
- “If a website still shows the same content in these cases, search engines will try to figure it out on their own and usually that works out well. But it’s not always ideal.” (bản dịch) «Nếu một website vẫn cho thấy đó giống nhau nội dung trong những cases, các công cụ tìm kiếm sẽ try để hình điều này out on của họ own và thường đó hoạt động out well. Nhưng đây là không luôn ideal.» Coverage (Search Engine Journal)
John Mueller, Google — robots.txt và hiệu quả crawl
- “The robots.txt file also uses exact URLs, so if you have entries there which refer to one version of a URL they would not apply to other versions.” (bản dịch) «Đó robots.txt file cũng dùng chính xác URLs, so nếu bạn có entries ở đó mà refer để một version of một URL they sẽ không apply để other versions.» Coverage (Search Engine Journal)
- “Search engines will try to crawl all variations of the URL that they find. This can make it a bit slower for them to find other useful content on your website.” (bản dịch) «Các công cụ tìm kiếm sẽ try để crawl all variations of đó URL đó they tìm. Này có thể làm điều này một bit chậm hơn cho them để tìm other hữu ích nội dung on của bạn website.» Coverage (Search Engine Journal)
- “Using internal linking to link to a consistent version makes your preference clear. Adding a link rel=” (bản dịch) «Dùng liên kết nội bộ để link để một consistent version làm của bạn preference clear. Thêm một link rel=\»canonical” element also helps to confirm that.” (bản dịch) «element cũng helps để xác nhận đó.» Coverage (Search Engine Journal)
URL case-sensitivity checklist
nhanh truyền để catch và close case-duplicate risk:
- quyết định on single casing convention — lowercase trừ khi bạn có hard reason không để.
- Kiểm thử known path trong cả hai casings (
/Applevà/apple): làm uppercase version301để lowercase, hoặc200/404? Bất cứ điều gì nhưng301là khoảng trống. - Know của bạn host OS/máy chủ: Linux + Apache/Nginx = case-sensitive (mixed-case
links có thể
404); Windows + IIS = case-insensitive (mỗi casing200s → duplicate risk). - trước khi deploying blanket lowercase chuyển hướng, inventoried existing paths nơi case là legitimate (uploaded filenames, tokens, generated slugs) và confirmed họ’re excluded hoặc tested cho sự tương đương — không chỉ assumed safe.
- máy chủ-cấp độ lowercase chuyển hướng rule là trong place (Apache
RewriteMap, Nginxmap/njs, hoặc IIS URL Rewrite) và, nếu Nginx, các chuyển hướng bảo toàn gốc query string ($is_args$args) thay vì dropping nó. - mỗi
robots.txtDisallow/Allowgiá trị matches thực tế casing của bạn trực tiếp các URL — không/Private/rules guarding/private/paths. - Liên kết nội bộ, navigation, và menus all sử dụng canonical (lowercase) casing.
- XML sitemap lists chỉ canonical-cased các URL.
-
rel=canonicalpoints mỗi reachable case-variant tại lowercase version (as backstop, especially nơi Bạn có thể’t thêm chuyển hướng). - GSC trang lập chỉ mục báo cáo checked cho duplicate statuses; flagged pairs eyeballed cho case-chỉ differences.
- Post-migration:
robots.txt, canonicals, và liên kết nội bộ re-audited so với new nền tảng URL casing.
URL case sensitivity — bảng tra nhanh
Điều gì case-sensitive
| URL part | Case-sensitive? | Ví dụ |
|---|---|---|
| Scheme | Không | HTTPS:// = https:// |
| Hostname / domain | Không | Example.com = example.com |
| Path | Có | /Shop ≠ /shop |
| Filename | Có | /Logo.png ≠ /logo.png |
| Query string | Có | ?Color=Red ≠ ?color=red |
máy chủ behavior by nền tảng
| Host / máy chủ | Filesystem | Default behavior | SEO implication |
|---|---|---|---|
| Linux + Apache/Nginx | Case-sensitive | /Apple 404s nếu chỉ /apple tồn tại | Mixed-case links break |
| Windows + IIS | Case-insensitive (case-bảo toàn) | /Apple, /APPLE, /apple all 200 | mỗi casing phân phối → duplicate các URL |
những điều này là OS/máy chủ defaults, không bảo đảm — reverse proxy, CDN, hoặc application router trong front của origin có thể override them. Kiểm thử thực phản hồi cho của bạn stack.
** robots.txt trap**
| bạn wrote | nó chặn | nó không block |
|---|---|---|
Disallow: /Private/ | /Private/ | /private/, /PRIVATE/ |
Disallow: /Checkout/ | /Checkout/ | /checkout/ |
Directive name casing (Disallow / disallow) không quan trọng — path giá trị
casing làm.
khắc phục priority
- Ngăn variants tại CMS/nguồn.
- máy chủ-cấp độ 301 → lowercase (definitive).
rel=canonical→ lowercase (fallback, nó hint).- Consistent liên kết nội bộ + sitemap.
Một-line diagnosis: yêu cầu /Apple — 301 để /apple có nghĩ là bạn’re covered;
200 (IIS) hoặc 404 (Linux với không variant) có nghĩ là bạn’re không.
Enforce lowercase các URL — máy chủ config
Sao chép và dán-ready starting points cho mỗi máy chủ. Kiểm thử so với của bạn own stack trước khi
shipping — mod_rewrite availability, module installs, và rule ordering vary by
host, và over-rộng rule có thể loop hoặc lowercase điều bạn đã không có nghĩa là để (như
case-sensitive query các giá trị).
Apache (.htaccess / vhost) — native tolower approach
Apache có được xây dựng-trong lowercasing map. Define nó sau khi trong của bạn main máy chủ config
(RewriteMap có thể’t trực tiếp trong .htaccess), sau đó sử dụng nó trong rule:
# In httpd.conf / vhost config (NOT .htaccess):
RewriteMap lc int:tolower
# In .htaccess or vhost:
RewriteEngine On
# Only act when the path actually contains an uppercase letter
RewriteCond %{REQUEST_URI} [A-Z]
# Redirect the whole path to its lowercase form
RewriteRule (.*) ${lc:$1} [R=301,L]int:tolower là Apache’s internal function đó lowercases captured path.
RewriteCond %{REQUEST_URI} [A-Z] guard có nghĩ là rule chỉ fires Khi có
uppercase letter để khắc phục, avoiding chuyển hướng on đã-lowercase các URL.
Nginx — không native lowercasing (là honest về điều này)
Nginx’s cốt lõi map directive không thể lowercase string on của nó own, so có không
Apache-style một-liner. Hai thực options:
Option — njs (hoặc Lua), sạch way. với njs module, lowercase
URI trong JavaScript và chuyển hướng:
# Load the njs module and a small JS file that lowercases the URI path
js_import lower from conf.d/lower.js;
js_set $lower_uri lower.uri;
server {
# ...
# Test $uri (path only), NOT $request_uri (path + query) — the njs
# function below only lowercases the path, so the query string is
# intentionally left untouched. Testing $request_uri would fire on an
# uppercase-containing query even when the path is already lowercase.
if ($uri ~ [A-Z]) {
# $is_args$args re-attaches the original query string. Without it,
# the redirect drops any query string entirely, since $lower_uri
# (built from r.uri, which excludes the query) never contains one.
return 301 $scheme://$host$lower_uri$is_args$args;
}
}// conf.d/lower.js
function uri(r) { return r.uri.toLowerCase(); }
export default { uri };Hai details đó là easy để nhận sai ở đây và sẽ silently break khắc phục:
matching on $request_uri thay vì $uri làm rule fire on
uppercase query string ngay cả Khi path là đã lowercase, và
forgetting $is_args$args on chuyển hướng đích drops đểàn bộ query
string — tokens, filter parameters, mọi thứ — on mỗi single chuyển hướng,
since njs function chỉ bao giờ sees và lowercases path. Kiểm thử path
đó có mixed-case query string attached trước khi bạn ship điều này.
Option B — rõ ràng map lookup bảng, nếu Bạn có thể’t thêm module. bạn xây dựng
map đó chỉ catches uppercase-containing URIs bạn care về — verbose và
một phần, mà là chính xác Vì sao Option là được ưu tiên:
map $request_uri $has_upper {
default 0;
"~[A-Z]" 1; # flag URIs containing any uppercase letter
}
# You still need njs/Lua or per-path rewrites to do the actual lowercasing —
# map alone flags, it doesn't transform. Don't ship this as a complete fix.takeaway: on Nginx, plan cho njs/Lua route. Anyone claiming đơn giản map
một-liner lowercases các URL là skipping part nơi map có thể’t transform strings.
IIS (Windows) — URL Rewrite module
vì IIS phục vụ mỗi casing theo mặc định, Đây là nơi enforcement matters phần lớn.
URL Rewrite module có {ToLower:...} function:
<!-- web.config -->
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Lowercase URLs" stopProcessing="true">
<match url="[A-Z]" ignoreCase="false" />
<conditions>
<add input="{URL}" pattern="[A-Z]" ignoreCase="false" />
</conditions>
<action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>ignoreCase="false" on match là Điều gì lets rule see uppercase letters tại
all; {ToLower:{R:0}} rewrites khớp path để lowercase; redirectType="Permanent"
các vấn đề 301.
Verify nó worked
sau khi deploying, xác nhận chuyển hướng với single yêu cầu (macOS/Linux):
# Should show: HTTP/… 301 and a Location header pointing to the lowercase path
curl -sI https://example.com/Apple | grep -Ei "^HTTP|^location"Windows (PowerShell):
# -MaximumRedirection 0 stops the redirect so you can read the 301 + Location
try { Invoke-WebRequest "https://example.com/Apple" -MaximumRedirection 0 } catch {
$_.Exception.Response.StatusCode.value__
$_.Exception.Response.Headers["Location"]
}301 để lowercase URL có nghĩ là enforcement là trực tiếp. 200 có nghĩ là máy chủ là
vẫn serving uppercase version; 404 có nghĩ là đó casing có không trang (và bạn
có khả năng có case-sensitive hosting với không chuyển hướng layer).
Case-sensitivity anti-patterns
mistakes đó turn trivial config detail vào thực duplicate-nội dung hoặc crawl vấn đề:
1. Assuming Google sẽ luôn hợp nhất case-duplicates. Điều này thường làm — nhưng “thường” không “luôn,” và Mueller own “hope should not be a part of an SEO strategy” (bản dịch) «hope không nên là một part of an SEO strategy» là đó counter. Leaving điều này để canonicalization splits các tín hiệu khi Google guesses sai.
2. Writing robots.txt rules trong khác casing hơn của bạn trực tiếp các URL.
Disallow: /Private/ guarding /private/ path là silent không-op. directive
name casing là irrelevant; path giá trị casing là chính xác. Đây là
access-control bug, không xếp hạng một.
3. Copying robots.txt verbatim sau khi migration.
new nền tảng generates /checkout/ và /admin/; old robots.txt vẫn
disallows /Checkout/ và /Admin/. Mọi thứ bạn meant để block là hiện tại crawlable.
Re-audit robots.txt so với new URL casing mỗi migration.
4. Sửa chuyển hướng nhưng không liên kết nội bộ.
perfect lowercase-enforcement rule undermined by menus và nội dung vẫn linking để
/Products/ chỉ làm bots (và người dùng) take extra chuyển hướng hop mỗi time.
chuyển hướng là backstop; consistent links là thực tế khắc phục.
5. Treating rel=canonical as tương đương để 301.
Canonical là hint; 301 là directive. sử dụng canonical chỉ Khi bạn genuinely
có thể’t thêm chuyển hướng — không reach cho nó đầu tiên vì nó easier.
6. Believing “modern platform, so it’s handled.” (bản dịch) «modern nền tảng, so đây là handled.» Shopify lowercases native xử lý, sure — nhưng imported, legacy, và app-generated URLs, plus bất cứ điều gì on một Windows/IIS stack, vẫn carry real risk. “Buy a modern CMS and forget about it” (bản dịch) «Buy một modern CMS và forget về điều này» không phải một policy.
7. Thinking lowercase là một xếp hạng preference. Google có không bao giờ đã nói lowercase ranks tốt hơn. Đó vấn đề là duplicate-nội dung consolidation và hiệu quả crawl — không một case-based tín hiệu xếp hạng. Lowercase là một convention (và điều gì hầu hết CMSs default để), không phải là yếu tố xếp hạng. Giống nhau class of myth as “shorter URLs rank better.” (bản dịch) «ngắn hơn URLs xếp hạng tốt hơn.»
8. Over-rộng rewrite rules đó lowercase query các giá trị. Blindly lowercasing đểàn bộ yêu cầu URI có thể mangle case-sensitive query parameter các giá trị (tokens, base64, signatures). Phạm vi của bạn chuyển hướng để path, và leave query strings alone trừ khi bạn know họ’re safe để fold.
phổ biến URL-case failures
Mixed-case và lowercase các URL cả hai trả về 200
Symptom: /Products/Blue-Shoe và /products/blue-shoe load giống nhau trang.
có khả năng nguyên nhân: application hoặc host resolves paths case-insensitively không có
normalization chuyển hướng. khắc phục: chọn established format, thông thường lowercase,
chuyển hướng alternates trong một hop, và align liên kết nội bộ, canonicals, và sitemaps.
URL hoạt động on staging nhưng trả về 404 trong production
Symptom: mixed-case path succeeds on một environment và fails on một. có khả năng nguyên nhân: hosts sử dụng khác case-sensitivity rules, commonly trên Windows và Linux-based các hệ thống. khắc phục: đúng nguồn link để chính xác route case và thêm deployment các kiểm thử đó yêu cầu production path verbatim.
robots rule không block dự kiến path
Symptom: crawler có thể fetch /private/ mặc dù robots.txt disallows
/Private/. có khả năng nguyên nhân: Robots path matching là case-sensitive. khắc phục: Match
chính xác URL case hoặc normalize paths trước khi relying on single rule, sau đó retest
thực bot và URL combination.
Review mixed-case URL pairs
Paste crawl export với URL, status, cuối URL, canonical, inlinks, sitemap nguồn, và organic các tín hiệu vào điều này prompt:
Group URLs that differ only by path or query-string case. For each group, identify
the strongest candidate preferred URL using only the supplied evidence. Flag
conflicting redirects, canonicals, internal links, sitemap entries, and robots rules.
Return an implementation table with preferred URL, alternate URL, redirect action,
source links to update, and unresolved evidence. Do not assume lowercase wins when
the data shows an established mixed-case canonical. Tools cho case normalization
- chuyển hướng Chain Mapper — so sánh case variants và see liệu họ resolve trực tiếp để một được ưu tiên form hoặc accumulate extra hops.
- Canonicalization Checker — identify conflicts giữa phản hồi, canonical element, và cuối đích cho variant URL.
- robots.txt Tester — kiểm thử chính xác uppercase và lowercase paths so với relevant bot vì path matching là case-sensitive.
- ** đầy đủ-trang web crawler** — sử dụng case-insensitive grouping để tìm variants, sau đó sử dụng inlink các báo cáo để đúng templates và nội dung đó giữ generating them.
Verify được ưu tiên-case chuyển hướng
Kiểm thử để chạy: yêu cầu được ưu tiên URL và several case variants với chuyển hướng Chain Mapper. Dự kiến kết quả: được ưu tiên URL trả về thành công phản hồi và mỗi alternate permanently các chuyển hướng để nó trong một hop. thất bại interpretation: rule là incomplete, ordered incorrectly, hoặc incompatible với application route. Monitoring window: Immediate sau khi deployment. Rollback trigger: Hợp lệ routes begin để loop, chuyển hướng để sai trang, hoặc trả về các lỗi.
Verify emitted các URL và crawl controls
Kiểm thử để chạy: Crawl liên kết nội bộ và sitemaps, sau đó kiểm thử representative paths trong robots.txt Tester. Dự kiến kết quả: Templates, canonicals, và sitemaps emit chỉ được ưu tiên case, và robots rules behave giống nhau cho chính xác các URL trang web exposes. thất bại interpretation: nguồn hệ thống vẫn generates variants hoặc robots rule có sai case. Monitoring window: sau khi hoàn tất post-phát hành crawl. Rollback trigger: quan trọng được ưu tiên các URL become blocked hoặc lớn new variant đặt xuất hiện.
Tự kiểm tra: URL Case Sensitivity
Five nhanh các câu hỏi on Cách case sensitivity thực ra hoạt động và Cách khắc phục nó. Pick câu trả lời cho mỗi, sau đó kiểm tra.
các tài nguyên worth của bạn time
My related writing
- Google Dùng ~40 Các tín hiệu canonicalization — my breakdown of cách Google picks một representative URL; điều này lists case-variant URLs (
/page/so với/Page/) as một of đó duplicate-URL ví dụ patterns, mà là chính xác đó vấn đề này bài viết các cách sửa. - Trailing Slash: Để Dùng hoặc Không để Dùng? — một sibling canonicalization axis: giống nhau “pick one version and enforce it” (bản dịch) «pick một version và enforce điều này» discipline, applied để đó slash thay vì casing.
- URL Parameters: MỘT Hoàn tất Hướng dẫn cho SEOs — đó other big duplicate-URL multiplier, và vì sao passive parameters waste ngân sách crawl cùng cách stray casings làm.
- Các chuyển hướng cho SEO: MỘT Đơn giản (Nhưng Hoàn tất) Hướng dẫn — đó 301 mechanics behind đó máy chủ-cấp độ lowercase-enforcement cách sửa.
- Đó Beginner Hướng dẫn để SEO kỹ thuật — nơi URL hygiene sits trong đó bigger picture.
My speaking
- Khắc phục sự cố kỹ thuật SEO Các vấn đề (SlideShare, Raleigh SEO Meetup) — duplicate-URL và canonicalization các vấn đề trong context. (Standing disclaimer áp dụng: Đây là my understanding của những điều này các hệ thống, không chính thức spec.)
Từ khoảng đó ngành
- URL structure thực hành tốt nhất (Google Search Central) — đó “URLs are case sensitive” (bản dịch) «URLs là case sensitive» / IETF STD 66 nguồn.
- Cách Google interprets đó robots.txt đặc tả (Google Search Central) — đó “value is case-sensitive” (bản dịch) «giá trị là case-sensitive» robots.txt rule.
- Google: URLs Là Case Sensitive (Search Engine Journal) — đó anchor nguồn cho Mueller case-sensitivity, robots.txt, crawl-slowdown, và canonical-khuyến nghị quotes.
- Google Advice On Canonicals: họ là Case Sensitive (Search Engine Journal) — đó “hope should not be a part of an SEO strategy” (bản dịch) «hope không nên là một part of an SEO strategy» exchange.
- URL Case Sensitivity và SEO (Practical Ecommerce) — đó closest trực tiếp đối thủ; good on đó ecommerce 404 symptom.
- Adjust case sensitivity (Microsoft Learn) — đó Windows/NTFS case-insensitive-nhưng-case-bảo toàn behavior behind đó IIS-so với-Linux khác biệt.
- Bing thay đổi URLs từ upper để thấp hơn case (Microsoft Community Hub) — quản trị viên web các báo cáo of Bing lowercase normalization (community evidence, không một formal spec).
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 18 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.