Workshop Kit · referencia del widget
Publicadokeyword-builder
Siembra 8 slots de palabras clave de SEO local desde restaurantProfile.cuisine + la ciudad extraída de restaurantProfile.address, y deja al operador editar cada fila. Cuatro fórmulas (cocina+barrio / plato+barrio / ocasión+barrio / intención+cocina+barrio) aparecen dos veces cada una con distintas segundas palabras. Escribe localKeywords como una cadena separada por saltos de línea — la misma forma que escribe el text-input de la L12 hoy, así que el generador de la L14 + la lista de revisión siguen funcionando.
Demo en vivo
Escribe cocina + barrio arriba, haz clic en "Volver a generar los 8 slots desde el perfil", luego edita cada fila. Las ediciones van a MuntinContext.localKeywords como una cadena separada por saltos de línea.
Sin bloque de configuración — lee del contexto, escribe localKeywords
Contrato
Sin atributos data más allá de data-widget; sin bloque JSON. El widget lee cocina + dirección de MuntinContext.restaurantProfile y siembra sugerencias; las anulaciones por parte del operador para cocina O barrio se escriben en línea en la parte superior del widget.
| Comportamiento | Notas |
|---|---|
Lee restaurantProfile.cuisine |
Llena previamente el input de cocina. El operador puede editar en línea sin cambiar el perfil. |
Lee restaurantProfile.address |
Intenta extraer un barrio / ciudad vía una heurística simple de split por coma. Si falla, cae a un placeholder; el operador sobrescribe en línea. |
Lee localKeywords |
Si el operador escribió frases antes, esas GANAN en el primer montaje — la siembra no sobrescribe el trabajo guardado. |
Escribe localKeywords |
Cadena separada por saltos de línea con una frase por línea, capada en 8. Misma forma que el text-input de la L12 → el generador de la L14 + la lista de revisión la leen sin cambios. |
| Botón de regeneración | Vuelve a sembrar los 8 slots desde los valores actuales de cocina + barrio. El anuncio en la región polite nombra lo que pasó. |
| Diccionario de cocinas | El banco de sugerencias de platos cubre 12 cocinas (mexicana, italiana, japonesa, china, tailandesa, india, mediterránea, americana, francesa, coreana, vietnamita, etíope). Cocinas no reconocidas caen a placeholders de "plato signature" / "especial de la casa". |
Marcado
Eso es todo. Los inputs de cocina + barrio se renderizan en línea; los 8 slots de palabras clave se siembran automáticamente; las ediciones se hacen commit a localKeywords con cada evento input.
Accesibilidad
- Cada fila es un
<input type="text">con etiqueta; el nombre de la fórmula se renderiza como una etiqueta visible a la que apuntaaria-describedby. Los lectores de pantalla escuchan "Cocina + barrio — mexicano silver spring" sin que el operador tenga que inspeccionar el ejemplo. - El botón de regeneración tiene una etiqueta de acción clara y anuncia el éxito vía una región polite en vivo: "8 slots de palabras clave rellenados desde tu perfil actual."
- Orden de Tab: input de cocina → input de barrio → botón regenerar → 8 filas de palabras clave en orden. Sin trampas de foco; las flechas funcionan normalmente dentro de los inputs de texto.
Por qué sembrar en vez de sugerir-al-escribir
Un autocompletado al escribir se sentiría reactivo pero esconde la fórmula. El punto de la L12 es que el operador internalice las cuatro fórmulas para que pueda seguir generando frases nuevas trimestralmente (según el ritmo de la L16). Mostrar el nombre de la fórmula al lado de cada fila es la jugada pedagógica; la siembra es solo un punto de partida que los operadores editan hacia lo que su barrio realmente busca.
Dónde se publica
La hoja imprimible course-local-seo lee desde la misma cadena localKeywords, así que un flujo trimestral de imprimir + caminar-por-Google-de-incógnito sigue sin cambios.
Código fuente
/tools/_shared/workshop/keyword-builder.js — ~200 LOC. Exporta { tag, contextKeys, mount, serialize } según el contrato de widgets del Workshop Kit. El banco de sugerencias de platos vive arriba del archivo como una tabla de búsqueda plana; la extracción de barrio es una heurística simple de split por coma sobre la dirección. El widget escribe localKeywords como una cadena (no un array) para mantener compatibilidad de cable con el text-input de la L12 al que reemplaza y el generador de la L14 que lo lee.