Python-Slugify: Crea slugs amigables para SEO con caracteres Unicode
Descubre python-slugify, una potente biblioteca de Python que transforma cadenas de texto Unicode en "slugs" limpios y optimizados para SEO. Ideal para URLs, nombres de archivo y mucho más, esta herramienta maneja caracteres complejos de diversos idiomas, asegurando que tu texto esté siempre listo para la web. Con opciones de personalización flexibles, incluidas sustituciones de caracteres, eliminación de "stopwords" y control de longitud, python-slugify ofrece una solución poderosa para desarrolladores. Aprende a integrarla sin esfuerzo en tus proyectos para generar identificadores consistentes y legibles, mejorando la usabilidad de tu aplicación y su visibilidad en buscadores. Este proyecto de código abierto es imprescindible para quienes trabajan con contenido generado por usuarios o datos internacionalizados.
Python-Slugify: Tu herramienta esencial para slugs limpios y SEO-friendly
En el mundo del desarrollo web y la gestión de datos, convertir texto legible para humanos en cadenas de texto aptas para URLs (conocidas como 'slugs') es una necesidad común. Ya sea para URLs de entradas de blog, nombres de archivos de imagen o identificadores únicos en una base de datos, los slugs desempeñan un papel crucial en la usabilidad y la optimización para motores de búsqueda (SEO).
Presentamos python-slugify, una biblioteca de Python potente y altamente configurable, diseñada para manejar esta tarea con una elegancia excepcional, especialmente al tratar con la complejidad de los caracteres Unicode.
¿Qué es un slug?
Un slug es la parte de una URL que identifica una página en particular en un formato de palabras clave legible para humanos. Por ejemplo, en tudominio.com/blog/mi-titulo-genial-del-articulo, mi-titulo-genial-del-articulo es el slug.
¿Por qué python-slugify?
Esta biblioteca destaca por su sólida gestión de cadenas Unicode, una característica que a menudo se pasa por alto en herramientas de slugificación más simples. Convierte de forma inteligente caracteres de varios idiomas a sus equivalentes ASCII, asegurando que tus slugs sean universalmente compatibles y significativos.
Características principales:
Soporte Unicode: Convierte sin problemas caracteres internacionales (por ejemplo, 'C'est déjà l'été.' se convierte en 'c-est-deja-l-ete'; '影師嗎' se convierte en 'ying-shi-ma').
Opciones personalizables: Ofrece una amplia gama de parámetros para controlar la salida, incluyendo:
entities,decimal,hexadecimal: Para manejar entidades HTML.max_length,word_boundary,save_order: Para controlar la longitud del slug y la integridad de las palabras.separator: Para definir el caracter usado para separar palabras (el guion-es el predeterminado).stopwords: Para eliminar palabras comunes como 'el', 'en', 'un' y mantener los slugs concisos.regex_pattern: Para aplicar expresiones regulares personalizadas para un filtrado de caracteres avanzado.lowercase: Opción para conservar las mayúsculas/minúsculas originales.replacements: Para definir reemplazos personalizados de caracteres o cadenas (por ejemplo,[['|', 'o']]).allow_unicode: Para conservar caracteres Unicode originales si se desea.
Fácil instalación: Disponible a través de pip, lo que facilita su integración en tus proyectos de Python.
pip install python-slugify # O, con un paquete unidecode alternativo: pip install python-slugify[unidecode]Herramienta de línea de comandos: Incluye una práctica utilidad de línea de comandos
slugifypara transformaciones rápidas directamente desde tu terminal.echo "Tomando entrada desde STDIN" | slugify --stdin # Salida: tomando-entrada-desde-stdin slugify tomando entrada desde la-linea-de-comandos # Salida: tomando-entrada-desde-la-linea-de-comandos
Cómo usarlo:
Usar python-slugify es intuitivo. Simplemente importa la función slugify y pásale tu texto:
from slugify import slugify
# Uso básico
txt = "Esto es una prueba ---"
r = slugify(txt)
print(r) # Salida: esto-es-una-prueba
# Manejo de caracteres no ingleses
txt = 'Компьютер'
r = slugify(txt)
print(r) # Salida: kompiuter
# Con max_length y word_boundary
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15, word_boundary=True)
print(r) # Salida: jaja-lol-a
# Eliminando stopwords
txt = 'el rápido zorro marrón salta sobre el perro perezoso'
r = slugify(txt, stopwords=['el'])
print(r) # Salida: rapido-zorro-marron-salta-sobre-perro-perezoso
# Reemplazos personalizados
txt = '10 | 20 %'
r = slugify(txt, replacements=[['|', 'o'], ['%', 'porciento']])
print(r) # Salida: 10-o-20-porciento
Licencia y dependencias
python-slugify se publica bajo la Licencia MIT, lo que la hace gratuita para uso comercial y personal. Por defecto, usa text-unidecode para la decodificación, que tiene licencia GPL y Perl Artistic. Para quienes lo prefieran, se puede instalar un paquete Unidecode (GPL) alternativo.
Contribuciones
Este proyecto da la bienvenida a las contribuciones. Se anima a los desarrolladores a leer las directrices de contribución antes de enviar solicitudes de extracción (pull requests).
Con más de 1.500 estrellas y 110 forks en GitHub, python-slugify es una herramienta bien mantenida y ampliamente utilizada que simplifica un aspecto crucial de la gestión de contenido web. Su flexibilidad y su completo conjunto de características la convierten en una adición invaluable para el kit de herramientas de cualquier desarrollador de Python.