Architecture & Governance
Semantic URL & Slug Governance
Clean, predictable URLs help users, analytics, and search systems. This standard covers naming rules, word order, trailing slashes, versioning, redirects, and when to use subfolders versus subpages. It follows guidance from Google Search Central, MDN, and W3C.
Objective and scope
Define a single set of URL and slug rules for all public pages and docs. The outcome is fewer duplicates, simpler redirects, cleaner analytics, and better eligibility for rich results. For fundamentals, see Google’s SEO Starter Guide and Search Essentials.
Principles
One concept per URL
Each canonical URL owns a single topic or task. Consolidate variants. See Google’s guidance on duplicate URL consolidation.
Human-readable first
Prefer meaningful words to IDs. Keep paths short and descriptive. Google recommends simple, readable URLs in the Starter Guide.
Stability over novelty
Do not rotate slugs for freshness. Update content and lastmod dates. Use redirects only when structure truly changes.
Naming rules
Rule | Example | Rationale |
---|---|---|
Lowercase only | /content-modeling/ | Avoids duplicate paths on case-sensitive hosts |
Hyphens as separators | /user-access-control/ | Improves readability and follows common practice |
No stop words unless needed | /pricing/ not /the-best-pricing-for-our-product/ | Shorter and easier to scan |
No dates in marketing slugs | /ai-overviews-guide/ | Keeps URLs evergreen |
One primary keyword | /on-page-seo-checklist/ | Clarity for users and systems |
No IDs unless in docs | Use IDs only for APIs: /docs/api/v2/endpoints/ | Reduce noise in marketing URLs |
Google’s starter guide recommends simple, descriptive paths over long or cryptic IDs. See the sections on site structure and URLs in the SEO Starter Guide.
Word order and disambiguation
Write from specific to general. Use the same order sitewide.
Standard order
- Feature pages: /features/[capability]
- Solution pages: /solutions/[role|industry|use-case]
- Integration profiles: /integrations/[vendor]
- Docs tasks: /docs/[area]/[task]
Disambiguation
- Use short qualifiers: /pricing/enterprise/
- Avoid parentheses and punctuation in slugs
- Explain synonyms inside the page, not in the URL
Trailing slash and case
Pick a single policy and enforce it with redirects.
Trailing slash
- Prefer a trailing slash for directories: /pricing/
- Files keep extensions: /robots.txt, /sitemap.xml
Case and normalization
- Force lowercase redirects
- Collapse duplicate slashes
- Remove tracking parameters from canonicals
Canonicalization guidance: Google’s help on consolidating duplicates.
Characters and diacritics
Stick to URL-safe ASCII for slugs. If you must use non-ASCII, ensure consistent encoding and decoding.
- Allowed: letters, numbers, hyphens
- Avoid: spaces, underscores, punctuation, emoji
- Transliterate diacritics: münchen → munchen
URL syntax is defined by IETF. For practical encoding behavior, see MDN on encodeURI.
URL length and tokens
Shorter is easier to share and less error prone. Keep most URLs under 60 characters when possible. Avoid deep paths that add no meaning.
- Max path depth for marketing: two levels
- Avoid keyword stuffing or redundant folders
- Keep query strings out of canonicals
Google emphasizes simple, readable paths in the Starter Guide.
Canonicalization and duplicates
Pick one canonical URL per page and point everything to it.
Signals to align
- Rel=canonical points to the preferred URL
- Internal links use the canonical version
- Sitemaps list only canonicals
Common duplicate cases
- HTTP and HTTPS versions
- Trailing slash differences
- Uppercase vs lowercase
- Campaign parameters and source tags
See Google’s notes on duplicate URL consolidation.
Versioning and releases
Marketing URLs are evergreen. Docs and APIs may need versions.
Docs versioning
- Use a clear path: /docs/v2/
- One default version for new visitors
- Banner that links to latest when on older versions
Release notes and changelogs
- Stable parent path: /changelog/
- Entries with date in the title, not in the slug
Redirect policy
Use permanent redirects when structure changes. Avoid chains and loops. Keep rules declarative and testable.
Redirect types
- 301 Moved Permanently
- 308 Permanent Redirect (preserves method)
Examples
# Netlify _redirects
/feature/* /features/:splat 301
/blog/what-is-x /resources/glossary/x/ 301
# Next.js (next.config.js)
module.exports = {
async redirects(){
return [
{ source: '/feature/:path*', destination: '/features/:path*', permanent: true },
]
}
}
# Apache (.htaccess)
RedirectMatch 301 ^/feature/(.*)$ /features/$1
Policy
- One hop only from old to new
- Update internal links to the destination
- Remove redirected URLs from sitemaps
For site moves and large restructures, see Google’s site move guidance.
Subfolders vs subpages vs subdomains
Choose the simplest structure that fits ownership and deployment.
When to use subfolders
- Same product, same brand, shared navigation
- Marketing, resources, docs under one domain
- Example: /resources/, /docs/
When to use subdomains
- Different platform or ownership boundary
- Partners, status pages, or separate apps
- Example: status.example.com
Google can handle both subfolders and subdomains. Ensure proper linking, sitemaps, and Search Console verification for each host. See Google’s Starter Guide and the crawlable links note.
Parameters and pagination
Prefer clean paths for category states. Keep parameters for filters that do not change meaning.
- Use paths for primary categories: /resources/tools/
- Use parameters for sort and minor filters: ?sort=popular
- Expose a canonical for the default view
- Provide crawlable links for key state combinations
Make links crawlable and avoid relying on JS-only state. See Google’s note on crawlable links.
Internationalization and hreflang
Plan locale paths and alternates up front.
Locale structure
- Subfolders per locale: /en/, /de/
- Mirror IA across locales
- Translate slugs or keep transliterated equivalents
Hreflang basics
- Reciprocal links between alternates
- One x-default fallback
- Declare in head, sitemap, or headers
See Google’s guide to localized versions.
Sitemaps and robots
List only canonical, indexable URLs in XML sitemaps and reference them in robots.txt.
Sitemap snippet
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>https://accordcontent.com/resources/semantic-url-slug-governance/</loc>
<lastmod>2025-08-01</lastmod></url>
</urlset>
Overview at Google’s Sitemaps.
Robots and crawl control
- Do not block CSS/JS needed to render pages
- List sitemap locations in robots.txt
See Search Essentials for robots control.
Measurement and QA
Search Console
- Coverage and Page indexing
- Performance by folder path
Docs: Performance report and Page indexing.
GA4 path groups
- Create a content_group dimension by template
- Track CTA clicks and read-next rate
GA4 events and conversions: events, conversions.
Redirect QA
- Automated test for 200-only internal links
- Fail build on redirect chains
Implementation checklist
- Choose lowercase, hyphenated slugs with a trailing slash
- Publish standard paths for features, solutions, docs, and integrations
- Set canonical, sitemap, and internal links to the same URL
- Write one-hop 301 or 308 redirects and remove chains
- Keep marketing URLs evergreen and version only docs
- Define parameter usage and default canonicals
- Decide subfolder vs subdomain by ownership and platform
- Plan locales, slugs, and hreflang before launch
- Verify in Search Console and monitor by folder
- Review quarterly and prune legacy rules
FAQ
Do keywords in URLs matter
They help humans understand the page and can aid clarity. Google recommends simple, descriptive paths. Focus on usefulness, not stuffing. See the Starter Guide.
Should I translate slugs
It is optional. If your audience searches in local languages, localized slugs can help usability. Keep hreflang correct and avoid duplicate content by mapping each locale to its own URL. See localized versions.
Can I change a slug later
Yes, but minimize changes. When needed, create a single 301 or 308 redirect, update internal links, and keep the old path out of sitemaps. For larger moves see site move guidance.
How deep should paths be
Two levels is a good default for marketing. Docs can have more for version and area. Avoid nesting that adds no meaning. The Starter Guide favors simple structure.