mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 00:36:31 +02:00
feat: enhance SurfSense with new skills, blog section, and improve SEO metadata
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
Some checks failed
Build and Push Docker Images / tag_release (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_backend, ./surfsense_backend/Dockerfile, backend, surfsense-backend, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-24.04-arm, linux/arm64, arm64) (push) Has been cancelled
Build and Push Docker Images / build (./surfsense_web, ./surfsense_web/Dockerfile, web, surfsense-web, ubuntu-latest, linux/amd64, amd64) (push) Has been cancelled
Build and Push Docker Images / create_manifest (backend, surfsense-backend) (push) Has been cancelled
Build and Push Docker Images / create_manifest (web, surfsense-web) (push) Has been cancelled
- Added multiple new skills to skills-lock.json from the repository `aaron-he-zhu/seo-geo-claude-skills`. - Introduced `fuzzy-search` dependency in package.json for improved search functionality. - Updated pnpm-lock.yaml to include the new `fuzzy-search` package. - Enhanced SEO metadata across various pages, including canonical links and descriptions for better search visibility. - Improved layout and structure of several components, including the homepage and changelog, to enhance user experience.
This commit is contained in:
parent
61b3f0d7e3
commit
7ea840dbb2
120 changed files with 25729 additions and 352 deletions
|
|
@ -0,0 +1,362 @@
|
|||
# Link Architecture Patterns
|
||||
|
||||
Detailed architecture models with implementation guides, migration strategies, and measurement frameworks for internal linking optimization.
|
||||
|
||||
## Architecture Model Deep Dives
|
||||
|
||||
### 1. Hub-and-Spoke (Topic Cluster) Model
|
||||
|
||||
#### Overview
|
||||
|
||||
The hub-and-spoke model organizes content around central "pillar" pages (hubs) that link to and from related "cluster" articles (spokes). This is the most widely recommended architecture for content-driven sites targeting topical authority.
|
||||
|
||||
#### Structure Diagram
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
│ Homepage │
|
||||
└──────┬───────┘
|
||||
│
|
||||
┌──────────────┼──────────────┐
|
||||
│ │ │
|
||||
┌──────▼──────┐ ┌────▼────┐ ┌──────▼──────┐
|
||||
│ Hub A │ │ Hub B │ │ Hub C │
|
||||
│ (Pillar) │ │(Pillar) │ │ (Pillar) │
|
||||
└──┬───┬───┬──┘ └────┬────┘ └──┬───┬───┬──┘
|
||||
│ │ │ │ │ │ │
|
||||
A1 A2 A3 B1 B2 C1 C2 C3
|
||||
└───┼───┘ └───┼───┘
|
||||
cross-links cross-links
|
||||
```
|
||||
|
||||
#### Implementation Steps
|
||||
|
||||
1. **Identify 3-7 core topics** that define your business expertise
|
||||
2. **Create pillar pages** (2,000-5,000 words) that broadly cover each core topic
|
||||
3. **Map cluster articles** (800-2,000 words) that dive deep into subtopics
|
||||
4. **Implement bidirectional links**: every cluster article links to its pillar, every pillar links to all its clusters
|
||||
5. **Add cross-links** between related cluster articles within the same hub
|
||||
6. **Add bridge links** between hubs where subtopics overlap
|
||||
|
||||
#### Link Rules
|
||||
|
||||
| Link Type | Direction | Anchor Text Strategy |
|
||||
|-----------|-----------|---------------------|
|
||||
| Pillar → Cluster | Pillar links to each cluster | Descriptive: "learn about [subtopic]" |
|
||||
| Cluster → Pillar | Every cluster links back to pillar | Partial match: "our complete [topic] guide" |
|
||||
| Cluster ↔ Cluster | Between related clusters in same hub | Natural: "as we covered in [related article]" |
|
||||
| Hub ↔ Hub (bridge) | Between related pillar pages | Branded/natural: "see also our [topic] resource" |
|
||||
|
||||
#### When to Use
|
||||
- Content marketing sites and blogs
|
||||
- SaaS companies building topical authority
|
||||
- Publishers covering defined topic areas
|
||||
- Any site with 50-500 content pages
|
||||
|
||||
#### Measurement
|
||||
|
||||
| Metric | Target | Tool |
|
||||
|--------|--------|------|
|
||||
| Pillar page rankings for head terms | Top 10 | Rank tracker |
|
||||
| Cluster article rankings for long-tail | Top 20 | Rank tracker |
|
||||
| Internal links per cluster article | 3-5 minimum | Crawl report |
|
||||
| Click depth from homepage to cluster | ≤3 clicks | Crawl report |
|
||||
| Organic traffic to hub pages | Month-over-month growth | Analytics |
|
||||
|
||||
---
|
||||
|
||||
### 2. Silo Structure
|
||||
|
||||
#### Overview
|
||||
|
||||
The silo model creates strict vertical hierarchies where content is organized into isolated "silos" (categories). Links flow vertically within a silo but rarely cross between silos. This concentrates topical relevance within each silo.
|
||||
|
||||
#### Structure Diagram
|
||||
|
||||
```
|
||||
┌──────────────┐
|
||||
│ Homepage │
|
||||
└──────┬───────┘
|
||||
│
|
||||
┌─────────────────┼─────────────────┐
|
||||
│ │ │
|
||||
┌────▼─────┐ ┌────▼─────┐ ┌────▼─────┐
|
||||
│ Silo A │ │ Silo B │ │ Silo C │
|
||||
│ Category │ │ Category │ │ Category │
|
||||
└────┬─────┘ └────┬─────┘ └────┬─────┘
|
||||
│ │ │
|
||||
┌────▼─────┐ ┌────▼─────┐ ┌────▼─────┐
|
||||
│ Sub-cat │ │ Sub-cat │ │ Sub-cat │
|
||||
└────┬─────┘ └────┬─────┘ └────┬─────┘
|
||||
│ │ │
|
||||
┌────▼────┐ ┌────▼────┐ ┌────▼────┐
|
||||
│ Pages │ │ Pages │ │ Pages │
|
||||
└─────────┘ └─────────┘ └─────────┘
|
||||
|
||||
No horizontal links between silos (strict model)
|
||||
```
|
||||
|
||||
#### Implementation Steps
|
||||
|
||||
1. **Define 5-15 top-level categories** (silos) based on your product/service taxonomy
|
||||
2. **Create category landing pages** with overview content and links to subcategories
|
||||
3. **Build subcategory pages** linking down to individual product/content pages
|
||||
4. **Enforce vertical linking**: pages link up to their parent and down to their children
|
||||
5. **Use breadcrumbs** to reinforce the hierarchy visually and structurally
|
||||
6. **Limit cross-silo links** to only the most relevant connections (strict model) or allow them strategically (modified model)
|
||||
|
||||
#### Link Rules
|
||||
|
||||
| Link Type | Direction | Allowed? |
|
||||
|-----------|-----------|----------|
|
||||
| Parent → Child | Downward within silo | Always |
|
||||
| Child → Parent | Upward within silo | Always |
|
||||
| Sibling ↔ Sibling | Horizontal within same parent | Yes |
|
||||
| Cross-silo | Between different silos | Strict: No. Modified: Sparingly |
|
||||
| All pages → Homepage | Upward to root | Yes (via navigation) |
|
||||
|
||||
#### When to Use
|
||||
- Large e-commerce sites (100+ product categories)
|
||||
- Directory sites with clear taxonomy
|
||||
- Sites where categories are truly distinct topics
|
||||
- Enterprises with separate business lines
|
||||
|
||||
#### Limitations
|
||||
- Overly strict silos can trap link equity in one branch
|
||||
- Cross-topic content becomes difficult to place
|
||||
- Users may need to navigate up and over to find related content
|
||||
- Modified silo (allowing some cross-links) often works better in practice
|
||||
|
||||
---
|
||||
|
||||
### 3. Flat Architecture
|
||||
|
||||
#### Overview
|
||||
|
||||
A flat architecture keeps all pages within 2-3 clicks of the homepage. There is minimal hierarchy; instead, pages are broadly interlinked. This maximizes crawlability and distributes link equity evenly.
|
||||
|
||||
#### Structure Diagram
|
||||
|
||||
```
|
||||
┌──────────┐
|
||||
│ Homepage │
|
||||
└────┬─────┘
|
||||
│
|
||||
┌──────────────┼──────────────┐
|
||||
│ │ │ │ │ │ │
|
||||
P1 P2 P3 P4 P5 P6 P7
|
||||
└────┼────┼────┼────┼────┼────┘
|
||||
└────┴────┴────┘
|
||||
(cross-linked freely)
|
||||
```
|
||||
|
||||
#### Implementation Steps
|
||||
|
||||
1. **Link all key pages from the homepage** (directly or via a comprehensive sitemap page)
|
||||
2. **Keep URL structure shallow**: /category/page, not /category/subcategory/year/page
|
||||
3. **Cross-link freely** between related pages at the same level
|
||||
4. **Use comprehensive navigation** menus, footer links, or HTML sitemaps
|
||||
5. **Limit total pages** to keep the architecture manageable
|
||||
|
||||
#### When to Use
|
||||
- Small sites with fewer than 100 pages
|
||||
- Portfolio sites
|
||||
- Small business brochure sites
|
||||
- Startups with limited content
|
||||
|
||||
#### Scaling Limits
|
||||
|
||||
| Site Size | Flat Architecture Feasibility |
|
||||
|-----------|------------------------------|
|
||||
| <50 pages | Ideal |
|
||||
| 50-100 pages | Manageable with good navigation |
|
||||
| 100-500 pages | Difficult; consider hub-and-spoke |
|
||||
| 500+ pages | Not recommended; switch to hierarchical model |
|
||||
|
||||
---
|
||||
|
||||
### 4. Pyramid Architecture
|
||||
|
||||
#### Overview
|
||||
|
||||
The pyramid model mirrors traditional website hierarchies: a single homepage at the top, branching into categories, subcategories, and finally individual pages. Authority flows from top to bottom, concentrating at higher levels.
|
||||
|
||||
#### Structure Diagram
|
||||
|
||||
```
|
||||
Level 0: Homepage
|
||||
/ \
|
||||
Level 1: Category A Category B
|
||||
/ \ / \
|
||||
Level 2: Sub A1 Sub A2 Sub B1 Sub B2
|
||||
/ \ / \ / \ / \
|
||||
Level 3: P1 P2 P3 P4 P5 P6 P7 P8
|
||||
```
|
||||
|
||||
#### Implementation Steps
|
||||
|
||||
1. **Design a clear hierarchy** with 3-4 levels maximum
|
||||
2. **Homepage links to all top-level categories** prominently
|
||||
3. **Category pages link to all subcategories** within them
|
||||
4. **Subcategory pages link to all child pages**
|
||||
5. **Implement breadcrumbs** to support the hierarchy
|
||||
6. **Add "related content" cross-links** at the page level to offset authority concentration
|
||||
|
||||
#### Authority Flow Considerations
|
||||
|
||||
| Level | Typical Authority | Action to Improve |
|
||||
|-------|-------------------|-------------------|
|
||||
| Homepage | Highest | Ensure links to priority categories are prominent |
|
||||
| Categories | High | Link from blog content, not just navigation |
|
||||
| Subcategories | Medium | Add contextual links from other sections |
|
||||
| Individual pages | Lowest | Cross-link, feature in "popular posts" widgets |
|
||||
|
||||
#### When to Use
|
||||
- News and media sites
|
||||
- Large blogs (500+ posts)
|
||||
- Corporate sites with many divisions
|
||||
- Government/educational sites
|
||||
|
||||
---
|
||||
|
||||
### 5. Mesh/Matrix Architecture
|
||||
|
||||
#### Overview
|
||||
|
||||
The mesh model allows free-form linking between any related pages, regardless of hierarchy. Every page can link to any other relevant page. This creates a dense web of connections, similar to Wikipedia's link structure.
|
||||
|
||||
#### Structure Diagram
|
||||
|
||||
```
|
||||
P1 ←──→ P2 ←──→ P3
|
||||
↕ ╲ ↕ ╱ ↕
|
||||
P4 ←──→ P5 ←──→ P6
|
||||
↕ ╱ ↕ ╲ ↕
|
||||
P7 ←──→ P8 ←──→ P9
|
||||
```
|
||||
|
||||
#### Implementation Steps
|
||||
|
||||
1. **Set linking rules** to prevent chaos: link only when topically relevant
|
||||
2. **Use contextual anchors** that describe the destination page
|
||||
3. **Set a link budget** per page (5-15 contextual links per 1,000 words)
|
||||
4. **Review link density regularly** to prune irrelevant connections
|
||||
5. **Maintain a link map** (spreadsheet or tool) to track the network
|
||||
|
||||
#### Governance Rules
|
||||
|
||||
| Rule | Purpose |
|
||||
|------|---------|
|
||||
| Every link must have topical relevance | Prevents link dilution |
|
||||
| Maximum 15 contextual links per 1,000 words | Prevents link farms |
|
||||
| Review links quarterly | Prunes outdated connections |
|
||||
| Use descriptive anchor text only | Maintains semantic value |
|
||||
| No reciprocal link trading between unrelated pages | Prevents manipulation patterns |
|
||||
|
||||
#### When to Use
|
||||
- Knowledge bases and documentation sites
|
||||
- Wikis and encyclopedias
|
||||
- Research repositories
|
||||
- FAQ/help center sites
|
||||
|
||||
---
|
||||
|
||||
## Migration Between Models
|
||||
|
||||
### Common Migration Paths
|
||||
|
||||
| From | To | Reason | Difficulty |
|
||||
|------|----|--------|-----------|
|
||||
| Flat → Hub-and-Spoke | Site grew beyond 100 pages | Medium |
|
||||
| Silo → Hub-and-Spoke | Silos too rigid, need cross-topic links | Medium |
|
||||
| Pyramid → Hub-and-Spoke | Want to build topical clusters | High |
|
||||
| No structure → Any model | Starting from disorganized state | High |
|
||||
| Hub-and-Spoke → Hybrid | Need both clusters and strict categories | Medium |
|
||||
|
||||
### Migration Steps (General)
|
||||
|
||||
1. **Audit current state**: Map all existing internal links using a crawler
|
||||
2. **Design target architecture**: Choose model, map pages to their new positions
|
||||
3. **Create a link change plan**: Document every link addition, removal, and anchor text change
|
||||
4. **Implement in phases**: Start with highest-priority cluster/silo, then expand
|
||||
5. **Preserve existing equity**: Do not remove links that pass significant value without replacement
|
||||
6. **Monitor impact**: Track rankings and traffic for 4-8 weeks after each phase
|
||||
7. **Iterate**: Adjust the plan based on measured results
|
||||
|
||||
### Migration Risk Mitigation
|
||||
|
||||
| Risk | Mitigation |
|
||||
|------|-----------|
|
||||
| Temporary ranking drops | Migrate one section at a time, not all at once |
|
||||
| Broken internal links | Run crawl after each phase to verify |
|
||||
| Lost link equity | Ensure no orphan pages created during migration |
|
||||
| Anchor text disruption | Change anchors gradually, not all at once |
|
||||
|
||||
---
|
||||
|
||||
## Measurement Framework
|
||||
|
||||
### Key Metrics by Architecture Model
|
||||
|
||||
| Metric | Hub-and-Spoke | Silo | Flat | Pyramid | Mesh |
|
||||
|--------|---------------|------|------|---------|------|
|
||||
| Avg click depth | ≤3 | ≤4 | ≤2 | ≤4 | ≤3 |
|
||||
| Orphan pages | 0 | 0 | 0 | 0 | 0 |
|
||||
| Avg internal links per page | 5-10 | 3-7 | 8-15 | 3-5 | 8-15 |
|
||||
| Cross-section links | Many | Few | N/A | Some | Many |
|
||||
| Authority concentration | Distributed to hubs | Concentrated in silo tops | Even | Top-heavy | Even |
|
||||
|
||||
### Monthly Monitoring Checklist
|
||||
|
||||
| Check | Tool | Action if Failing |
|
||||
|-------|------|-------------------|
|
||||
| Orphan pages count | Crawl report | Add internal links immediately |
|
||||
| Average click depth | Crawl report | Add shortcuts to deep pages |
|
||||
| Crawl depth distribution | Crawl report | Flatten deep branches |
|
||||
| Internal link count per page | Crawl report | Add links to under-linked pages |
|
||||
| Anchor text diversity | Manual audit | Vary anchors for over-optimized pages |
|
||||
| Broken internal links | Crawl report | Fix or remove broken links |
|
||||
| New content linked within 48 hours | Editorial process | Add to related pages upon publishing |
|
||||
|
||||
### ROI Estimation
|
||||
|
||||
| Architecture Change | Typical Impact | Timeline to See Results |
|
||||
|--------------------|---------------|----------------------|
|
||||
| Fix orphan pages | +15-30% traffic to those pages | 2-4 weeks |
|
||||
| Build first topic cluster | +10-25% traffic to cluster pages | 4-8 weeks |
|
||||
| Reduce click depth by 1 level | +5-15% crawl efficiency | 2-6 weeks |
|
||||
| Anchor text optimization | +5-10% ranking improvement for target terms | 4-12 weeks |
|
||||
| Full architecture migration | +20-50% overall organic traffic | 3-6 months |
|
||||
|
||||
---
|
||||
|
||||
## Hybrid Architecture Strategies
|
||||
|
||||
Most real-world sites combine elements from multiple models. Common hybrid patterns:
|
||||
|
||||
### Hub-and-Spoke + Silo (Recommended for Medium-Large Sites)
|
||||
|
||||
```
|
||||
Homepage
|
||||
├── Category Silo A
|
||||
│ ├── Hub A1 (pillar) ←→ Cluster articles
|
||||
│ └── Hub A2 (pillar) ←→ Cluster articles
|
||||
├── Category Silo B
|
||||
│ ├── Hub B1 (pillar) ←→ Cluster articles
|
||||
│ └── Hub B2 (pillar) ←→ Cluster articles
|
||||
└── Cross-category bridge links (A1 ↔ B2 where relevant)
|
||||
```
|
||||
|
||||
- **Silos** provide category organization for navigation and URL structure
|
||||
- **Hubs** within each silo build topical authority for specific keyword clusters
|
||||
- **Bridge links** connect related content across silos where user intent overlaps
|
||||
|
||||
### Implementation Priority Order
|
||||
|
||||
1. Fix structural issues first (orphan pages, broken links)
|
||||
2. Implement primary architecture model
|
||||
3. Add cross-linking strategy
|
||||
4. Optimize anchor text
|
||||
5. Monitor and iterate
|
||||
|
||||
This order ensures each phase builds on a solid foundation rather than optimizing details on a broken structure.
|
||||
Loading…
Add table
Add a link
Reference in a new issue