Skip to content

Commit 942cebd

Browse files
committed
feat: add instructions for automatic note distribution and platform configuration
1 parent 7145d9f commit 942cebd

1 file changed

Lines changed: 149 additions & 0 deletions

File tree

instrucciones-redes.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# Distribución automática de notas — lo que debes hacer de tu lado
2+
3+
Cuando haces `git push` a `main` con una nota nueva en `src/content/notes/`, el
4+
workflow **Distribuir nota** (`.github/workflows/distribute-note.yml`) la publica
5+
solo en blogs/redes y avisa a los buscadores.
6+
7+
**Todo funciona sin configurar nada** — pero cada plataforma está apagada hasta
8+
que añadas sus secrets. No configuras secrets = esa plataforma se salta con
9+
gracia (el resto sigue). Ve activando una por una.
10+
11+
## Dónde se ponen los secrets
12+
13+
GitHub → tu repo → **Settings → Secrets and variables → Actions → New repository
14+
secret**. El nombre debe ser exacto (los de abajo).
15+
16+
Para probar sin publicar una nota real: pestaña **Actions → Distribuir nota →
17+
Run workflow**, y pega la ruta de una nota existente.
18+
19+
---
20+
21+
## 1. IndexNow — ✅ ya funciona, no hagas nada
22+
23+
Avisa a Bing, Yandex, Seznam, Naver y Yep. La clave es pública por diseño (ya
24+
está en el repo). Cero configuración.
25+
26+
---
27+
28+
## 2. dev.to — el más fácil y el de más valor SEO
29+
30+
Cross-postea el artículo completo con `canonical_url` → codebymike.tech. Backlink
31+
de un dominio con autoridad, sin penalización por duplicado.
32+
33+
1. Entra a https://dev.to/settings/extensions
34+
2. Baja a **DEV Community API Keys** → genera una key.
35+
3. Secret:
36+
- `DEVTO_API_KEY` = esa key
37+
38+
---
39+
40+
## 3. Hashnode — otro backlink de autoridad
41+
42+
1. Token: https://hashnode.com/settings/developer**Generate new token** (PAT).
43+
2. Publication ID: entra a tu blog de Hashnode → Dashboard. El ID sale en la URL
44+
del dashboard o en Settings. (Si no lo encuentras, avísame y lo sacamos por la
45+
API de Hashnode.)
46+
3. Secrets:
47+
- `HASHNODE_TOKEN` = el PAT
48+
- `HASHNODE_PUBLICATION_ID` = el ID de tu publicación
49+
50+
---
51+
52+
## 4. X (Twitter) — el más engorroso de configurar (una vez)
53+
54+
Necesitas una **app** en el portal de desarrolladores con permisos de escritura.
55+
56+
1. https://developer.x.com/en/portal/dashboard → crea un Project + App.
57+
2. En la App: **User authentication settings** → activa OAuth 1.0a con permiso
58+
**Read and write**.
59+
3. En **Keys and tokens** genera:
60+
- API Key y API Key Secret (de la app)
61+
- Access Token y Access Token Secret (de tu usuario) — **regenéralos DESPUÉS
62+
de poner permiso Read and write**, o el token será de solo lectura.
63+
4. Secrets:
64+
- `X_API_KEY`
65+
- `X_API_SECRET`
66+
- `X_ACCESS_TOKEN`
67+
- `X_ACCESS_SECRET`
68+
69+
> El tier gratis permite ~500 posts/mes de escritura. De sobra.
70+
71+
---
72+
73+
## 5. LinkedIn — el que hay que renovar cada ~60 días
74+
75+
Requiere una app aprobada con el producto **Share on LinkedIn** / **Sign In**.
76+
77+
1. https://www.linkedin.com/developers/apps → crea una app (asóciala a una
78+
página de empresa; sirve la tuya).
79+
2. Products → añade **Share on LinkedIn** (y **Sign In with LinkedIn using
80+
OpenID Connect** para obtener tu URN).
81+
3. Genera un **access token** con scope `w_member_social` (OAuth). El token de
82+
usuario **caduca a los ~60 días** → toca regenerarlo (te avisaré cuando falle).
83+
4. Tu URN de autor: es `urn:li:person:XXXX` donde `XXXX` es tu member id (lo
84+
devuelve el endpoint `/v2/userinfo` como `sub`).
85+
5. Secrets:
86+
- `LINKEDIN_TOKEN` = el access token
87+
- `LINKEDIN_AUTHOR_URN` = `urn:li:person:XXXX`
88+
89+
---
90+
91+
## 6. Instagram — opcional y quisquilloso (déjalo para el final)
92+
93+
Instagram **no permite posts de solo texto**: se publica con una imagen (usamos
94+
tu `og-default.png`). Requiere:
95+
96+
- Cuenta de Instagram **Business o Creator** (no personal).
97+
- Conectada a una **página de Facebook**.
98+
- Una **app de Meta** (https://developers.facebook.com) con el producto
99+
**Instagram Graph API**.
100+
- Un **token de larga duración** y el **IG user id**.
101+
102+
Secrets:
103+
- `IG_USER_ID`
104+
- `IG_ACCESS_TOKEN`
105+
106+
> Si te interesa Instagram de verdad, el siguiente paso sería generar una imagen
107+
> por nota (no la OG genérica) para que no salgan todas iguales. Dímelo y lo
108+
> montamos.
109+
110+
---
111+
112+
## 7. Google Indexing API — indexa en Google en horas, no días
113+
114+
Complementa a IndexNow (que Google no usa).
115+
116+
1. https://console.cloud.google.com → crea un proyecto (o usa uno).
117+
2. Habilita **Web Search Indexing API**.
118+
3. Crea una **Service Account****Keys****Add key → JSON**. Descarga el JSON.
119+
4. En **Google Search Console** → tu propiedad codebymike.tech → Settings →
120+
**Users and permissions** → añade el email de la service account
121+
(`...@...iam.gserviceaccount.com`) como **Owner**.
122+
5. Secret:
123+
- `GOOGLE_INDEXING_SA` = **pega el contenido completo del JSON** descargado.
124+
125+
---
126+
127+
## 8. Aviso si algo falla (opcional)
128+
129+
Si una publicación es rechazada, te llega push a tu teléfono (reusa tu ntfy).
130+
131+
- `NTFY_TOPIC` = tu topic de ntfy (probablemente ya lo tienes de los otros
132+
workflows).
133+
134+
---
135+
136+
## Resumen: prioridad recomendada
137+
138+
| Prioridad | Plataforma | Esfuerzo | Por qué |
139+
|-----------|-----------|----------|---------|
140+
| 1 | dev.to | Bajo | Máximo SEO, 2 minutos |
141+
| 2 | Google Indexing | Medio | Indexación rápida en Google |
142+
| 3 | Hashnode | Bajo | Otro backlink de autoridad |
143+
| 4 | X | Alto (una vez) | Alcance social |
144+
| 5 | LinkedIn | Alto + mantenimiento | Alcance profesional |
145+
| 6 | Instagram | Alto | Opcional, requiere imagen |
146+
147+
Empieza por dev.to: añade `DEVTO_API_KEY`, ve a Actions → Run workflow con una
148+
nota existente, y mira que aparezca publicada. Cuando eso funcione, sumas las
149+
demás.

0 commit comments

Comments
 (0)