> ## Documentation Index
> Fetch the complete documentation index at: https://docs.x.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurar X for Websites

> Configura X for Websites añadiendo el fragmento del cargador asíncrono de widgets.js a la plantilla de tu sitio para un renderizado más rápido de los widgets y un soporte fiable de las inserciones.

La forma más sencilla de crear un widget de X for Websites —un botón Post, botón Seguir, Post incrustado o timeline— es usar nuestras herramientas de configuración en [publish.x.com](https://publish.x.com) y luego copiar y pegar el código HTML generado en la plantilla o área de widgets de tu sitio.

* [Generar marcado para un botón Post o Seguir](https://publish.x.com)
* [Generar marcado para un Post o timeline incrustado](https://publish.x.com)

## Para un mejor rendimiento y fiabilidad, incluye el script widgets.js en tu plantilla

Incluye el JavaScript de X for Websites una sola vez en la plantilla de tu página para un rendimiento óptimo y para habilitar el seguimiento de los [eventos de JavaScript de los widgets de X](/x-for-websites/javascript-api/guides/javascript-api).

Si tu sitio usa múltiples widgets, puedes configurar los widgets de X en tus páginas una sola vez, lo que hará que tu sitio sea más rápido, y widgets como los Posts incrustados serán más fiables para los autores cuando utilicen sistemas de gestión de contenido.

```html title="Ejemplo" lines wrap icon="https://mintcdn.com/x-preview/ygI6sSJPehlc0qNT/icons/xds/icon-code.svg?fit=max&auto=format&n=ygI6sSJPehlc0qNT&q=85&s=488e23401b19225b89acc0136d242219" theme={null}
<script>window.twttr = (function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0],
    t = window.twttr || {};
  if (d.getElementById(id)) return t;
  js = d.createElement(s);
  js.id = id;
  js.src = "https://platform.x.com/widgets.js";
  fjs.parentNode.insertBefore(js, fjs);

  t._e = [];
  t.ready = function(f) {
    t._e.push(f);
  };

  return t;
}(document, "script", "twitter-wjs"));</script>
```

El fragmento anterior optimiza la carga al:

1. Asignar un ID de elemento HTML `twitter-wjs` para identificar fácilmente si el archivo JavaScript ya existe en la página. Sale con antelación si el ID ya existe.
2. Cargar de forma asíncrona el JavaScript de Twitter for Websites.
3. Inicializar una cola de funciones asíncronas para mantener las funciones dependientes hasta que el script esté disponible.

Incluye este fragmento antes de cualquier otro JavaScript en tu página que pueda depender de la cola de funciones asíncronas `twttr.ready`.

## Ignorar las etiquetas de script de las inserciones

Si incluyes el cargador de JavaScript de X en cada página, no necesitas incluir el elemento `<script>` generado por un configurador de botones, Post incrustado o herramienta de Timeline incrustado. Puedes eliminar el HTML `<script>` adicional del marcado generado.

Si utilizas la [oEmbed API](/x-for-websites/oembed-api) para incluir Posts en tu contenido, puedes generar códigos de inserción que no incluyan el elemento `<script>` pasando `omit_script=true` en la cadena de consulta.
