Big-Link-Man/JOB_FIELD_REFERENCE.md

220 lines
5.8 KiB
Markdown

# Job Configuration Field Reference
## Quick Field List
### Job Level (applies to all tiers)
```
project_id - Required, integer
deployment_targets - Array of domain strings
tier1_preferred_sites - Array of domain strings (subset of deployment_targets)
auto_create_sites - Boolean (NOT IMPLEMENTED - parsed but doesn't work)
create_sites_for_keywords - Array of {keyword, count} objects (NOT IMPLEMENTED - parsed but doesn't work)
models - {title, outline, content} with model strings
tiered_link_count_range - {min, max} integers
anchor_text_config - {mode, custom_text, tier1, tier2, tier3, tier4_plus}
- For "explicit" mode, use tier-specific arrays (tier1, tier2, etc.) instead of custom_text
failure_config - {max_consecutive_failures, skip_on_failure}
interlinking - {links_per_article_min, links_per_article_max, see_also_min, see_also_max}
tiers - Required, object with tier1/tier2/tier3
```
### Tier Level (per tier configuration)
```
count - Required, integer (number of articles)
min_word_count - Integer
max_word_count - Integer
min_h2_tags - Integer
max_h2_tags - Integer
min_h3_tags - Integer
max_h3_tags - Integer
models - {title, outline, content} - overrides job-level
interlinking - {links_per_article_min, links_per_article_max, see_also_min, see_also_max} - overrides job-level
anchor_text_config - {mode, custom_text, terms} - overrides job-level for this tier only
- For "explicit" mode, use "terms" array instead of "custom_text"
```
## Field Behaviors
**deployment_targets**: Sites to deploy to (round-robin distribution)
**tier1_preferred_sites**: If set, tier1 only uses these sites
**models**: Use format "provider/model-name" (e.g., "openai/gpt-4o-mini")
**anchor_text_config**: Can be set at job-level (all tiers) or tier-level (specific tier)
- "default" = Use master.config.json tier rules
- "override" = Replace with custom_text
- "append" = Add custom_text to tier rules
- "explicit" = Use only explicitly provided terms (no algorithm-generated terms)
- Job-level: Provide tier1, tier2, tier3, tier4_plus arrays with terms
- Tier-level: Provide terms array for that specific tier
- Tier-level config overrides job-level config for that tier
**tiered_link_count_range**: How many links to lower tier
- Tier1: Always 1 link to money site (this setting ignored)
- Tier2+: Random between min and max links to lower tier
**interlinking.links_per_article_min/max**: Same as tiered_link_count_range
**interlinking.see_also_min/max**: How many See Also links (default 4-5)
- Randomly selects this many articles from same tier for See Also section
## Defaults
If not specified, these defaults apply:
### Tier1 Defaults
```json
{
"min_word_count": 2000,
"max_word_count": 2500,
"min_h2_tags": 3,
"max_h2_tags": 5,
"min_h3_tags": 5,
"max_h3_tags": 10
}
```
### Tier2 Defaults
```json
{
"min_word_count": 1100,
"max_word_count": 1500,
"min_h2_tags": 2,
"max_h2_tags": 4,
"min_h3_tags": 3,
"max_h3_tags": 8
}
```
### Tier3 Defaults
```json
{
"min_word_count": 850,
"max_word_count": 1350,
"min_h2_tags": 2,
"max_h2_tags": 3,
"min_h3_tags": 2,
"max_h3_tags": 6
}
```
## Minimal Working Example
```json
{
"jobs": [{
"project_id": 1,
"deployment_targets": ["example.com"],
"tiers": {
"tier1": {"count": 5},
"tier2": {"count": 20}
}
}]
}
```
## Your Current Example
```json
{
"jobs": [{
"project_id": 1,
"deployment_targets": ["getcnc.info", "www.textbullseye.com"],
"tiers": {
"tier1": {
"count": 5,
"min_word_count": 1500,
"max_word_count": 2000,
"models": {
"title": "openai/gpt-4o-mini",
"outline": "openai/gpt-4o-mini",
"content": "anthropic/claude-3.5-sonnet"
}
},
"tier2": {
"count": 20,
"models": {
"title": "openai/gpt-4o-mini",
"outline": "openai/gpt-4o-mini",
"content": "openai/gpt-4o-mini"
},
"interlinking": {
"links_per_article_min": 2,
"links_per_article_max": 4
}
}
}
}]
}
```
## Result Behavior
**Tier 1 Articles (5):**
- 1 link to money site
- 4 See Also links to other tier1 articles
- Home link in nav menu
**Tier 2 Articles (20):**
- 2-4 links to random tier1 articles
- 19 See Also links to other tier2 articles
- Home link in nav menu
**Anchor Text:**
- Tier1: Uses main_keyword from project
- Tier2: Uses related_searches from project
- Can override with anchor_text_config
## Explicit Anchor Text Example
Use "explicit" mode to specify exact anchor text terms for each tier:
```json
{
"jobs": [{
"project_id": 26,
"anchor_text_config": {
"mode": "explicit",
"tier1": ["high volume", "precision machining", "custom manufacturing"],
"tier2": ["high volume production", "bulk manufacturing", "large scale"]
},
"tiers": {
"tier1": {"count": 12},
"tier2": {"count": 38}
}
}]
}
```
Or use tier-level explicit config to override job-level for a specific tier:
```json
{
"jobs": [{
"project_id": 26,
"anchor_text_config": {
"mode": "explicit",
"tier1": ["high volume", "precision machining"],
"tier2": ["bulk manufacturing"]
},
"tiers": {
"tier1": {
"count": 12,
"anchor_text_config": {
"mode": "explicit",
"terms": ["high volume", "precision"]
}
},
"tier2": {"count": 38}
}
}]
}
```
When using "explicit" mode, the system will:
- Use only the provided terms (no algorithm-generated terms)
- Try to find these terms in content first, then insert if not found
- Tier-level explicit config takes precedence over job-level for that tier