Archived document. This file has been superseded or completed and is kept for historical reference.
Duplicate Canonical Investigation - sempers.com
Date: January 25-26, 2026 Issue: “Duplicate, Google chose different canonical than user” affecting 64 pages Status: ROOT CAUSE IDENTIFIED - Requires Fixes
Executive Summary
The 64 “Duplicate, Google chose different canonical than user” errors in Google Search Console are primarily caused by relative canonical URLs instead of absolute URLs in the HTML pages. This is a significant technical SEO issue that requires updating canonical tags across all pages.
Key Findings
| Issue | Severity | Affected Pages | Status |
|---|---|---|---|
| Relative canonical URLs | HIGH | ~95% of pages | Requires Fix |
| ftp.sempers.com duplicates | MEDIUM | Unknown | FIXED (301 redirect) |
| Missing trailing slash consistency | LOW | All pages | Monitoring |
| Homepage canonical format | LOW | 1 page | Minor issue |
Detailed Analysis
1. Canonical Tag Issues (PRIMARY CAUSE)
The Problem: Most pages use relative paths in canonical tags instead of absolute URLs.
Examples from Live Site:
| Page | Canonical Tag (Current) | Should Be |
|---|---|---|
/los-angeles-wrongful-termination-lawyer-explains.html |
los-angeles-wrongful-termination-lawyer-explains.html |
https://sempers.com/los-angeles-wrongful-termination-lawyer-explains.html |
/blog/blog.html |
../blog/blog.html |
https://sempers.com/blog/blog.html |
/unpaid-wages/claiming-unpaid-wages-in-california.html |
../unpaid-wages/claiming-unpaid-wages-in-california.html |
https://sempers.com/unpaid-wages/claiming-unpaid-wages-in-california.html |
Why This Causes Issues:
- Google may misinterpret relative paths when crawling from different entry points
- Browsers resolve relative URLs based on the current URL, which can vary
- Canonical tags should always use absolute URLs per Google’s guidelines
- When Google sees
../blog/blog.html, it depends on the crawl context to resolve it
Pages with CORRECT absolute canonicals (only ~8 pages):
index.html-https://sempers.com(but missing trailing slash)zachary-j-sempers-esq/attorney-bio.html-https://sempers.com/zachary-j-sempers-esq/attorney-bio.htmldisclaimers/terms-of-service.html-https://sempers.com/disclaimers/terms-of-service.htmlfree-consultation/what-happens-when-i-call.html-https://sempers.com/free-consultation/what-happens-when-i-call.htmlcase-evaluation/free-case-evaluation.html-https://sempers.com/case-evaluation/free-case-evaluation.htmlcase-evaluation/how-much-is-my-case-worth.html-https://sempers.com/case-evaluation/how-much-is-my-case-worth.htmlcase-evaluation/how-long-do-i-have-to-file.html-https://sempers.com/case-evaluation/how-long-do-i-have-to-file.html
Pages with INCORRECT relative canonicals (~115+ pages):
All other pages use relative paths like:
../folder/page.html(for subdirectory pages)page.html(for root-level pages)
2. ftp.sempers.com Duplicate Content (ALREADY FIXED)
Background: The ftp.sempers.com subdomain was serving the same content as the main site, creating duplicate pages.
Status: A 301 redirect was added on January 26, 2026:
- Source:
ftp.sempers.com/* - Destination:
https://sempers.com - Verified working via curl
Impact on 64 duplicates: This fix will resolve some of the duplicates where Google was choosing ftp.sempers.com versions over the main domain versions.
3. Sitemap vs Canonical Mismatch
Sitemap URLs: All URLs in sitemap.xml use correct absolute URLs:
<loc>https://sempers.com/blog/blog.html</loc>
But the page itself has:
<link href="../blog/blog.html" rel="canonical"/>
This creates conflicting signals - the sitemap says one thing, the canonical tag (when resolved) may say another depending on how Google crawls the page.
4. Homepage Canonical Issue
Current: <link href="https://sempers.com" rel="canonical"/>
Issue: Missing trailing slash. The canonical should match either:
https://sempers.com/(with trailing slash)https://sempers.com/index.html(explicit file)
The sitemap uses https://sempers.com/ (with implied trailing slash), creating a minor mismatch.
5. One Incorrect Cross-Page Canonical Found
File: discrimination-lawsuits/common-forms-of-workplace-discrimination.html
Current canonical:
<link href="../discrimination-lawsuits/filing-discrimination-claim-in-california.html" rel="canonical"/>
This page is pointing to a DIFFERENT page as its canonical, which may be intentional (consolidating similar content) or may be an error.
6. URL Redirect Status (All Working)
Verified via curl:
| Test | Result |
|---|---|
http://sempers.com/ |
301 redirect to https://sempers.com/ |
https://www.sempers.com/ |
301 redirect to https://sempers.com/ |
https://ftp.sempers.com/ |
301 redirect to https://sempers.com |
https://sempers.com/ vs /index.html |
Both serve same content, same canonical |
Why Google Chooses Different Canonicals
Based on research, Google uses ~20 signals to determine the canonical URL. When signals conflict, Google makes its own choice. The main issues here:
- Relative canonical URLs - Google may resolve them differently than intended
- Sitemap/canonical mismatch - Sitemap has absolute URLs, pages have relative
- Duplicate subdomain - ftp.sempers.com was serving identical content (now fixed)
- Internal links - May use different URL formats inconsistently
Will the ftp.sempers.com Redirect Fix This?
Partial Fix Only
The 301 redirect from ftp.sempers.com will help with:
- Any duplicates where Google was choosing the ftp subdomain version
- Consolidating link equity from any external links to ftp subdomain
But it will NOT fix:
- Pages where Google chooses a different URL format on the main domain
- Issues caused by relative canonical tags
- Any parameter-based duplicates
Recommended Fixes
Priority 1: Fix All Canonical Tags (HIGH IMPACT)
Update all HTML files to use absolute URLs in canonical tags:
Pattern to find:
<link href="../folder/page.html" rel="canonical"/>
<link href="page.html" rel="canonical"/>
Replace with:
<link href="https://sempers.com/folder/page.html" rel="canonical"/>
<link href="https://sempers.com/page.html" rel="canonical"/>
Estimated effort: ~120 files need updating
Implementation options:
- Script to bulk update all files
- Use a template system that generates absolute canonicals
- Add base tag + relative (less ideal)
Priority 2: Verify Cross-Page Canonical (MEDIUM)
Check if common-forms-of-workplace-discrimination.html should really canonical to filing-discrimination-claim-in-california.html. If not, fix it.
Priority 3: Homepage Canonical Consistency (LOW)
Decide on canonical format and be consistent:
- Option A:
https://sempers.com/(trailing slash) - Option B:
https://sempers.com/index.html(explicit)
Current sitemap uses / as the homepage URL, so canonical should match.
Priority 4: Monitor After Fixes (ONGOING)
After implementing fixes:
- Wait 2-4 weeks for Google to recrawl
- Request indexing for key pages via Search Console
- Monitor “Duplicate, Google chose different canonical” count
- Use URL Inspection tool to verify Google’s chosen canonical
Files Requiring Changes
Template/Include File (if exists)
Check for a shared header template that generates canonical tags. Fixing one template could fix all pages.
Individual Files (if no shared template)
All ~120 HTML files in public_html/ need canonical tag updates.
Technical Implementation
Option 1: Build Script Update
If there’s a build process, modify it to generate absolute canonical URLs.
Option 2: Sed/Find-Replace Script
# Example pattern (would need refinement)
find public_html -name "*.html" -exec sed -i '' \
's|href="\.\./\([^"]*\)" rel="canonical"|href="https://sempers.com/\1" rel="canonical"|g' {} \;
Option 3: Manual Updates
Update each file individually (time-consuming but safest).
Timeline Expectations
| Action | Timeline |
|---|---|
| Fix canonical tags | 1-2 days |
| Google recrawl begins | 1-7 days |
| Partial improvement visible | 2-3 weeks |
| Full resolution | 4-8 weeks |
References
- Google: Duplicate, Google chose different canonical
- Onely: How to Fix This Issue
- Ahrefs: Causes and Fixes
- Rank Math: Technical Guide
Summary
| Root Cause | % of 64 Duplicates | Fix Required |
|---|---|---|
| Relative canonical URLs | ~80-90% | Yes - Update all pages |
| ftp.sempers.com duplicates | ~10-20% | Done (301 redirect) |
| Other factors | Unknown | Monitor |
Bottom Line: The primary fix needed is converting all relative canonical URLs to absolute URLs. The ftp.sempers.com redirect we added will help, but is not sufficient to resolve all 64 duplicates.
Last updated: January 26, 2026