special-chars
Installation
SKILL.md
URL Special Characters
Special characters in URL paths cause inconsistent crawling, broken links when shared, and canonicalization failures when different systems encode them differently.
Quick Reference
- URL paths should contain only unreserved characters: A-Z, a-z, 0-9,
-,_,.,~ - Spaces must be encoded as
%20(not+, which is query-string syntax) - Characters like
#,?,&,=have reserved meaning in URLs and must be percent-encoded in path segments - Non-ASCII characters (accented letters, CJK) should be percent-encoded in URLs, though modern browsers decode them for display
Check
Scan all crawled URL paths for characters outside [A-Za-z0-9\-_./~]. Flag URLs containing spaces (%20 or literal), special symbols (#, ?, &, =, + in paths), or unencoded non-ASCII characters. Check if different encodings of the same URL return separate 200 responses.
Fix
Update the URL generation logic in your CMS or framework to strip or replace special characters. Replace spaces with hyphens. Percent-encode any reserved characters that must appear in paths. Set up redirects from problematic old URLs to clean new slugs.