220 lines
5.8 KiB
Markdown
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
|
|
|