Transforming Wiki FFTAC Org Into A Concept Driven Wiki - Source Excerpt 05 - Sample redirect rules and regexes
Back to Transforming Wiki FFTAC Org Into A Concept Driven Wiki
Summary
This source excerpt begins near Sample redirect rules and regexes and preserves the surrounding evidence from Wiki.FFTAC.org/agent-file-handoff/Archive/2026-05-11-improvement-concept-layer/Transforming wiki.fftac.org into a concept-driven wiki.md.
**Source path:** Wiki.FFTAC.org/agent-file-handoff/Archive/2026-05-11-improvement-concept-layer/Transforming wiki.fftac.org into a concept-driven wiki.md
Fifth, update all internal links and anchors so they point directly to the new canonical targets. Google explicitly recommends linking within the site to the canonical URL rather than to duplicate URLs, and it recommends descriptive anchor text rather than generic labels. That means the migration cannot stop at redirects; it must also rewrite the internal link graph. citeturn23view4turn23view0turn23view2
Sixth, add self-referencing canonicals on all canonical HTML pages and canonical HTTP headers on preserved non-HTML artifacts where needed. Google supports `rel="canonical"` in HTML and also supports canonical HTTP headers for documents such as PDFs. citeturn22view7
Seventh, regenerate breadcrumbs, segmented sitemaps, and the public search index. Then remove chunk pages, duplicate artifacts, and low-value mirrors from public sitemaps. Google recommends using sitemaps for preferred canonical URLs and breadcrumb structured data for hierarchy. citeturn22view3turn22view4turn22view7
Eighth, validate after launch with a fresh crawl, Search Console, and server logs. Search Console is especially useful for sitemap processing, coverage issues, crawl errors, and validating whether Googlebot is seeing the right canonical set. citeturn22view4
### Sample redirect rules and regexes
Because the current chunk labels do not deterministically encode meaning, **section redirects should use an explicit map**, not regex alone. Regex is still useful for fallback handling and linting.
Sample redirect map:
' ' ' csv
old_path,new_path,status
/fftac-org/source/books-on-the-antichrist-2b793fdc/,/sources/fftac-org/books-on-the-antichrist/,301
/fftac-org/source/books-on-the-antichrist-2b793fdc/part-01/,/topics/antichrist/books/,301
/anti-christ-org/source/01-start-here-b6c2d70a/,/sites/anti-christ-org/start/,301
/anti-christ-org/source/02-site-map-b3544d46/,/sites/anti-christ-org/information-architecture/,301
/anti-christ-net/source/index-77572fee/,/sources/anti-christ-net/theme-index-php/,301
/anti-christ-net/source/style-c77d7072/,/sources/anti-christ-net/theme-style-css/,301
/spiralist-org/source/improving-the-protocol5-justaniota-iota-1-converter-part-2-36d293c7/,/sources/spiralist-org/protocol5-iota-converter/,301
/spiralist-org/source/improving-the-protocol5-justaniota-iota-1-converter-part-2-36d293c7/part-02/,/topics/protocol5/iota-converter/semantic-overlay/,301
' ' '
Sample Nginx pattern for explicit map deployment:
' ' ' nginx
map $request_uri $legacy_redirect {
default "";
/fftac-org/source/books-on-the-antichrist-2b793fdc/ /sources/fftac-org/books-on-the-antichrist/;
/fftac-org/source/books-on-the-antichrist-2b793fdc/part-01/ /topics/antichrist/books/;
/anti-christ-org/source/01-start-here-b6c2d70a/ /sites/anti-christ-org/start/;
/anti-christ-org/source/02-site-map-b3544d46/ /sites/anti-christ-org/information-architecture/;
}
server {
if ($legacy_redirect != "") {
return 301 $scheme://$host$legacy_redirect;
}
}
' ' '
Fallback regex for temporary catch-all routing while the explicit map is completed:
' ' ' regex
^/(fftac-org|anti-christ-net|anti-christ-org|spiralist-org)/source/([^/]+)/part-\d{2}/?$
' ' '
Recommended fallback behavior for that regex:
' ' ' text
redirect to /sources/{site}/{normalized-source-slug}/
' ' '
Lint regexes to add immediately:
' ' ' regex
# bad public chunk URLs
/\/part-\d{2}\/?$/i
# bad generic public titles
/^(?:\d{2}\s+)?(?:Part|Index|Readme|Body|Theme|Page)\b/i
# bad generic anchors
/^(?:part\s+\d{1,2}|click here|read more|website|article)$/i
# opaque hashes in canonical public paths
/-[a-f0-9]{8,}(?:\/)?$/i
' ' '
The sample mappings above are based on currently live legacy paths. citeturn8view0turn8view1turn8view3turn8view4turn11view0turn11view4
### Internal anchor rewrite examples
Anchor rewrite should happen at the same time as URL migration. The current site already shows many places where stronger anchor text is obvious from the heading map. citeturn8view0turn8view1turn23view0turn23view2
' ' ' text
Bad anchor -> Good anchor
Part 01 -> Executive summary
Part 02 -> Failure-mode map
01 Start Here -> Anti-Christ.org repository orientation
02 Site Map -> Anti-Christ.org information architecture
Index -> Anti-Christ.net theme index template
Readme -> Spiralist packaging and deployment guide
' ' '
### Rollout checklist
- [ ] Freeze current public URL inventory and classify every route by page type and visibility.
- [ ] Decide the canonical public route families and publish them as an IA spec.
- [ ] Add publication-ready templates and metadata fields.
- [ ] Stop generating new `part-*` pages immediately.
- [ ] Collapse all one-part pages into their parent canonical pages.
- [ ] Build explicit old→new redirect map for top landing pages and all `part-*` pages.
- [ ] Rewrite internal links and anchor text to canonical routes.
- [ ] Add self-canonicals, breadcrumbs, and segmented sitemaps.
- [ ] Remove raw chunks and duplicate variants from public sitemaps.
- [ ] Validate with crawl testing, Search Console, and log review.
- [ ] Update LlmWikis handbook text and wizard packet schema.
- [ ] Re-run lint until the public IA rules pass.
### Migration timeline and owner assumptions
The largest current shelf is Spiralist.org at 973 assigned source records, so automation, dedupe, and redirect mapping should be prioritized there first. Anti-Christ.org is smaller but has many especially obvious numeric-doc and internal-doc patterns, making it a good parallel cleanup candidate. The owner roles below are placeholders because no named owners were specified. citeturn5view9turn25view1turn25view2
| Horizon | Window | Major tasks | Owner placeholder | Exit criteria |
|---|---|---|---|---|
| Short term | Weeks 1–2 | Freeze URL inventory; define page types and route grammar; add templates; add lint rules; stop new `part-*` publication; redirect the most obviously bad one-part pages and top-traffic legacy URLs | IA Lead, Wiki Maintainer, SEO Lead | No new `part-*` URLs, approved IA spec, baseline redirect map, templates live |
| Medium term | Weeks 3–8 | Migrate FFTAC and Anti-Christ.org topic/site pages; normalize source records; update top nav; add breadcrumbs, self-canonicals, and segmented sitemaps; rewrite internal anchors; begin Spiralist high-value-topic migration | Editorial Lead, Engineering Lead, SEO Lead | Canonical routes live for core sections, breadcrumbs and sitemaps live, top nav rebuilt, internal links mostly direct |
| Long term | Weeks 9–16 | Complete Spiralist dedupe and route cleanup; move developer/internal pages to proper visibility classes; retrofit LlmWikis handbook and wizard; add search facets, glossary consistency, and durability dashboards | Product Owner, Wizard Maintainer, QA/Analytics Lead | Legacy URL coverage complete, public indexes stable, wizard emits new schema, KPI thresholds met or trending correctly |
## Measurement and priorities
The core success condition is simple: **replace low-value archive URLs with higher-value canonical entry pages without losing provenance or breaking inbound links**. Google’s documentation on URLs, internal links, canonicals, breadcrumbs, sitemaps, redirects, and site moves gives the right frame for measuring whether that transition is working. citeturn24view0turn23view0turn23view2turn22view3turn22view4turn22view5turn22view6turn23view4
Recommended acceptance tests:
' ' ' text
Public URL tests
- 0 indexable URLs match /\/part-\d{2}\/?$/.
- 0 canonical topic, site, glossary, decision, or operations URLs contain opaque hashes.
- 0 public titles match generic file-role patterns unless page_type=developer-reference.
Metadata tests
- 100% of canonical public pages have page_type, canonical_url, breadcrumb_parent, owner_role, status, last_reviewed, review_cycle, visibility, and indexing.
- 100% of topic pages reference at least one source record.
- 100% of indexable source records reference at least one derived topic page or are explicitly marked source_only=true.
Linking tests
- 100% of important pages have at least one internal incoming link.
- >95% of internal links go directly to canonical targets rather than to redirecting legacy URLs.
- 0 public anchors use "Part 01", "Part 02", "Click here", or equivalent generic text.
Indexing tests
- 100% of canonical public pages have self-referencing canonicals.
- 100% of canonical public pages have breadcrumbs.
- 0 raw chunk pages appear in public sitemaps.
- 0 duplicate preservation variants appear as separate canonical URLs.
Migration tests
- 100% of top legacy URLs return single-hop 301 redirects.
- 0 redirect chains for migrated public URLs.
- 404 rate for migrated legacy URLs stays below defined threshold after launch.
' ' '
Recommended KPIs for the first 90 days after migration: