Tabla de Contenidos

Preferencias avanzadas para Mozilla Firefox

Mozilla Firefox es un reconocido navegador web libre, compatible con los estándares y muy funcional, en gran medida gracias a su flexibilidad para instalar complementos.

Desafortunadamente, a medida que las versiones progresan, este navegador se orienta cada vez más al tipo de recursos de hardware y conectividad usualmente disponibles en países tecnológicamente desarrollados, lo cual evidentemente afecta a las demás regiones del mundo que aún están en vías de desarrollo.

En este artículo se pretende recopilar un listado de algunas de las preferencias que pueden utilizarse para optimizar Firefox y posiblemente cualquier otro proyecto derivado de este, como IceWeasel, Pale Moon, WaterFox, etc.

Configuración

Para acceder a las preferencias avanzadas, solo necesitamos utilizar la dirección especial about:config (nótese que el propio Firefox advierte que hay que tener cuidado al modificar manualmente las preferencias).

También es posible editar manualmente el archivo prefs.js, que puede encontrarse en el directorio del perfil de Firefox (si bien esta variante es algo más compleja).

Para implementar optimizaciones masivas en una institución podría utilizarse el Kit de personalización para clientes.

Algunas de las funciones útiles para los archivos de preferencias:

Algunas preferencias útiles

A continuación se ofrece una tabla con algunas de las entradas más frecuentemente utilizadas para optimizar Firefox. Para más detalles sobre las preferencias, puede visitarse la página oficial al respecto, o también la base de conocimientos, de la cual también hay una versión en español aquí.

Preferencia Tipo Val. predeterminado Val. recomendado Descripción / Efecto / Observaciones
accessibility.blockautorefresh lógico false true Evita que el navegador recargue periódicamente páginas que ya tiene abiertas, pidiendo una confirmación en su lugar.
app.update.auto lógico true false Evita que el navegador se actualice automáticamente, lo cual puede ser útil para conexiones muy lentas.
app.update.enabled lógico true true Permite actualizar el navegador (manualmente, desde Ayuda → Acerca de Firefox).
browser.aboutHomeSnippets.updateUrl cadena https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/ %NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/ %LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/ %DISTRIBUTION_VERSION%/ 1) Dejar este valor en blanco deshabilita el servicio de distribución de contenido sugerido basado en los detalles del navegador, pero que nada tienen que ver con las preferencias del usuario.
browser.cache.check_doc_frequency entero 3 0 Establecer a cero para verificar si hay nuevas versiones de las páginas visitadas solo una vez por sesión, a 1 para verificar cada vez que se abra la página, a 2 para no verificar si hay nuevas versiones y obtener las paginas siempre de la cache en disco, y a 3 para obtener nuevas versoines cuando la página esté obsoleta.
browser.cache.disk.capacity entero 50000 ó 51200 131072 Capacidad (en KiB) de la cache de disco. Un valor de cero deshabilita la cache en disco.
browser.cache.disk.enable lógico true true Habilitar la cache de disco.
browser.cache.disk.max_entry_size entero 51200 16384 Tamaño máximo (en KiB) del elemento cacheado en disco. Establecer -1 deshabilita el límite.
browser.cache.disk.parent_directory cadena N/A <RUTA> Permite establecer una ruta personalizada para la cache en disco. En el directorio que se especifique se creará un subdirectorio de nombre Cache.
browser.cache.disk.smart_size.enabled lógico true true Habilita la cache de disco de capacidad inteligente.
browser.cache.disk.smart_size.first_run lógico true false Establece si es la primera vez que se usa la cache de capacidad inteligente.
browser.cache.disk_cache_ssl lógico true true Habilitar la cache de disco para SSL.
browser.cache.memory.capacity entero N/A -1 Un valor de -1 hace que Firefox administre automáticamente el tamaño de la cache RAM para imágenes decodificadas y chrome. Un valor de cero deshabilita la cache para estos elementos. Un valor positivo establece el tamaño de la cache RAM (en KiB).
browser.cache.memory.enable lógico true true Habilita el uso de la cache RAM. Si se deshabilita, algunas aplicaciones pueden dejar de funcionar correctamente.
browser.cache.memory.max_entry_size entero 5120 512 Tamaño máximo (en KiB) del elemento cacheado en la RAM. Establecer -1 deshabilita el límite, pero un elemento no podrá ser mayor que el 90% del tamaño de la cache en RAM. En teoría, con un valor bajo el cambio de pestañas podría demorar un poco, pero el navegador debería responder más fluidamente en general.
browser.cache.use_new_backend_temp lógico true false En las versiones recientes de Firefox, para utilizar el complemento ImgLikeOpera es necesario deshabilitar esta preferencia.
browser.cache.offline.capacity entero 512000 512000 Capacidad máxima (en KiB) de la cache sin conexión.
browser.cache.offline.enable lógico true true Habilitar la cache sin conexión.
browser.fullscreen.animateUp entero 1 0 No animar el paso a pantalla completa.
browser.newtab.preload lógico true true Acelera la creación de una nueva pestaña.
browser.newtab.url cadena about:newtab about:blank Establece como URL para las nuevas pestañas una página en blanco.
browser.newtabpage.directory.ping cadena https://tiles.services.mozilla.com/v2/links/ Dejar esta preferencia en blanco deshabilita la carga regular de los contenidos patrocinados por Mozilla.
browser.newtabpage.directory.source cadena https://tiles.services.mozilla.com/v2/links/fetch/%LOCALE% Dejar esta preferencia en blanco deshabilita el contenido patrocinado por Mozilla (también puede ser necesario eliminar el archivo directoryLinks.json).
browser.newtabpage.enabled lógico true false Desabilitar esta preferencia hace que las nuevas pestañas carguen una página en blanco.
browser.newtabpage.enhanced lógico true false Deshabilitar la nueva pestaña mejorada para reducir el consumo.
browser.newtabpage.introShown lógico false false Deshabilitar la introducción a Firefox.
browser.pagethumbnails.capturing_disabled lógico N/A true Deshabilita la creación de imágenes para los favoritos.
browser.sessionhistory.max_total_viewers entero -1 0 Un valor positivo indica la cantidad de páginas visitadas a almacenar en RAM (algo diferente al mecanismo de cache) para que no tengan que analizarse sintácticamente (cada página por defecto ocupa unos 4 MiB). El valor cero hace que las páginas visitadas no se guarden en la RAM, útil para sistemas con poca memoria, pero que ralentiza un poco volver a las páginas visitadas. El valor -1 gestiona la capacidad automáticamente basándose en la RAM disponible.
browser.tabs.animate lógico true false Deshabilitar la animación de las pestañas para mejorar el rendimiento.
browser.tabs.closeWindowWithLastTab lógico true false Deshabilita que se cierre el navegador al cerrar la última pestaña.
content.interrupt.parsing lógico N/A true Controla si la aplicación puede interrumpir la carga de una página para responder a eventos de la interfaz de usuario.
content.max.tokenizing.time entero N/A 1000000 Controla el tiempo que la aplicación podrá permanecer sin dar respuesta mientras se cargan las páginas. El valor sugerido por Mozilla es el triple de content.notify.interval. Necesita que content.notify.ontimer y content.interrupt.parsing estén habilitados.
content.notify.interval entero N/A 500000 Tiempo mínimo (en microsegundos) para reajustar la página mientras va cargando. La preferencia por defecto no existe, pero el valor predeterminado es de 120000. Un valor bajo hace que la página muestre más rápido la parte que va cargando, pero esto a su vez ralentiza el tiempo de carga y eleva el consumo de CPU. Esta preferencia necesita content.notify.ontimer habilitado.
content.notify.ontimer lógico true true De estar habilitado, se reajusta el contenido a intervalos, definidos por content.notify.interval. De estar deshabilitado, la página se va reajustando a medida que el contenido se va cargando.
dom.max_chrome_script_run_time entero 20 20 Permite establecer el tiempo (en segundos) que un script de la interfaz de usuario (por ejemplo, de un complemento) puede ejecutarse antes de provocar una advertencia. Los valores menores o iguales a cero deshabilitan el límite de tiempo.
dom.max_script_run_time entero 10 20 Permite establecer el tiempo (en segundos) que un script de una sitio web puede ejecutarse antes de provocar una advertencia. Los valores menores o iguales a cero deshabilitan el límite de tiempo.
image.cache.size entero 5242880 25165824 Tamaño (en bytes) de la cache para imágenes.
intl.accept_languages cadena es-ES,es,en-US,en es,es-es,en-us,en Permitir especificar las localizaciones a utilizar si no se encuentra la predeterminada del navegador.
intl.charsetmenu.browser.cache cadena N/A UTF-8, ISO-8859-1, ISO-8859-15, windows-1252, windows-1250 Conjuntos de caracteres a cachear.
intl.charsetmenu.browser.cache.size entero 5 5 Capacidad de la cache para conjuntos de caracteres.
intl.locale.matchOS lógico false true Habilitar si deseamos que la regionalización de la página no se tome del user-agent, sino del sistema.
layers.acceleration.disabled entero false true Habilitar esta preferencia si se nota que el navegador demora en responder aunque se haya limpiado el historial y se haya iniciado una sesión nueva.
media.cache_size entero 512000 131072 Tamaño (en KiB) de la cache para audio y video.
network.buffer.cache.size entero 32768 65536 Tamaño (en bytes) del búfer para las operaciones de red.
network.cookie.lifetimePolicy entero 0 2 Si el valor es cero, el tiempo de vida de la cookie es el establecido en el servidor. Si es 1, se le pide al usuario el tiempo de vida. Si es 2, el tiempo de vida es la duración de la sesión. Si es 3, toma el valor especificado en network.cookie.lifetime.days.
network.dns.disableIPv6 lógico false true Deshabilitar las consultas DNS por IPv6 si no se utiliza ese protocolo podría solucionar algunos problemas de conexión.
network.dns.disablePrefetch lógico false true Deshabilitar la realización anticipada de consultas DNS.
network.dns.disablePrefetchFromHTTPS lógico N/A true Deshabilitar la realización anticipada de consultas DNS desde HTTPS.
network.dnsCacheEntries entero 400 2000 Aumentar la cantidad de consultas DNS a cachear en el navegador reduce las llamadas a los servidores.
network.dnsCacheExpiration entero 60 300 Aumentar el tiempo de expiración (en segundos) de las consultas DNS cacheadas reduce las llamadas a los servidores, pero podría causar problemas si los sitios que se visitan suelen hacer balanceo de carga.
network.dnsCacheExpirationGracePeriod entero 60 3600 Período de gracia (en segundos) adicional a la expiración de la cache DNS. Si una entrada solicitada ha expirado pero se encuentra dentro del período de gracia, se devuelve de la cache, pero se inicia de manera asíncrona una nueva consulta para refrescar el valor.
network.http.keep-alive lógico N/A true Mantener la conexión activa.
network.http.max-connections entero 256 32 Máximo de conexiones que pueden establecerse simultáneamente.
network.http.max-connections-per-server entero N/A 12 Máximo de conexiones por servidor.
network.http.max-persistent-connections-per-proxy entero 32 16 Máximo de conexiones persistentes por proxy.
network.http.max-persistent-connections-per-server entero 6 6 Máximo de conexiones persistentes por servidor.
network.http.pipelining lógico false true Permite enviar varias peticiones en una misma conexión (pipeline). Para que funcione, network.http.keep-alive debe habilitarse y network.http.version debe estabecerse a 1.1.
network.http.pipelining.abtest lógico false false Comprobación de velocidad para pipelining.
network.http.pipelining.aggressive lógico false false Fuerza la aplicación de pipelining.
network.http.pipelining.max-optimistic-requests entero 4 2 Máximo de peticiones a colocar en el pipeline que podrían haberse colocado en una conexión separada.
network.http.pipelining.maxrequests entero 32 6 Máximo de peticiones a colocar en el pipline (el máximo efectivo soportado parece ser 8 aunque el valor sea superior). Un valor de 1 deshabilita el pipeline.
network.http.pipelining.maxsize entero 300000 131072 Tamaño máximo (en bytes) de los elementos a colocar en el pipeline. En teoría al colocarse aqui un valor bajo se garantiza que se use el pipeline solo para muchos archivos pequeños como elementos css o javascripts
network.http.pipelining.ssl lógico false true Habilitar pipelining sobre SSL.
network.http.proxy.keep-alive lógico N/A true Impedir que el proxy desconecte prematuramente.
network.http.proxy.pipelining lógico false true Habilitar pipelining también para el proxy. Para que funcione, network.http.proxy.keep-alive debe habilitarse y network.http.proxy.version debe establecerse a 1.1.
network.http.redirection-limit entero 20 6 Limitar la cantidad de redirecciones permitidas.
network.prefetch-next lógico true false Deshabilitar la carga anticipada o especulativa de las páginas enlazadas si no se dispone de una conexión rápida.
network.tcp.sendbuffer entero 131072 131072 Tamaño (en bytes) del búfer de envío. Si se tiene una conexión rápida, aumentar este valor pudiera aumentar la velocidad de subida.
nglayout.initialpaint.delay entero N/A 500 Retardo (en milisegundos) antes que la página comience a mostrarse.
pageThumbs.enabled lógico true false Deshabilita la creación de miniaturas para las páginas.
pdfjs.disabled lógico false true Deshabilitar esta preferencia si se desea utilizar el visualizador de PDF del sistema en lugar del integrado.
plugin.expose_full_path lógico false true Muestra la ruta completa a la ubicación de los plugins.
privacy.clearOnShutdown.cache lógico false false Limpiar la cache al cerrar.
privacy.clearOnShutdown.cookies lógico false false Limpiar las cookies al cerrar. Como de esa manera se almacenan preferencias de sitios, conviene dejarlo deshabilitado.
privacy.clearOnShutdown.downloads lógico false true Limpiar las descargas recientes al cerrar.
privacy.clearOnShutdown.formdata lógico false false Limpiar al cerrar los datos introducidos en formularios recientes.
privacy.clearOnShutdown.history lógico false false Limpiar el historial de navegación al cerrar.
privacy.clearOnShutdown.offlineApps lógico false false Limpiar al cerrar los datos de aplicaciones HTML5.
privacy.clearOnShutdown.passwords lógico false false Limpiar las contraseñas al cerrar.
privacy.clearOnShutdown.sessions lógico false true Limpiar las sesiones al cerrar.
privacy.donottrackheader.enabled lógico false true Deshabilitar para solicitar a los sitios que no se quiere ser rastreado.
privacy.donottrackheader.value entero 0 1 Poner en 1 para solicitar a los sitios que no se desea ser rastreado, si se ha habilitado privacy.donottrackheader.enabled.
privacy.sanitize.promptOnSanitize lógico true false Deshabilitar para que el usuario no pueda impedir la limpieza automática al cerrar el navegador.
privacy.sanitize.sanitizeOnShutdown lógico false true Habilitar para realizar una limpieza automática al cerrar el navegador.
privacy.trackingprotection.enabled lógico false true Deshabilitar el rastreo de la navegación, lo cual no solamente aumenta la privacidad y seguridad, sino también la velocidad de navegación.
toolkit.scrollbox.smoothScroll lógico true false Deshabilitar la animación del desplazamiento por las pestañas.
N/A significa no aplicable. En los valores lógicos (boolean), true significa verdadero (si) y false significa falso (no).

Notas

Atribuciones

1)
Todo es una sola línea.