Descrición
Queres controlar as URL do teu sitio WordPress? O plugin Custom Permalinks dáche o poder de establecer URL personalizadas e únicas para calquera entrada, páxina, etiqueta ou categoría. Isto significa que podes deseñar a estrutura do teu sitio exactamente como a imaxinas, en lugar de estar limitado polos axustes por defecto de WordPress. Cando estableces unha ligazón permanente personalizada, a URL orixinal da entrada redirixirase automaticamente á túa nova URL personalizada.
Características principais
- Unha URL personalizada para calquera contido: establece unha ligazón permanente única para calquera entrada, páxina, tipo de contido personalizado público (p. ex. produtos de WooCommerce), categoría, etiqueta ou termo de taxonomía personalizada.
- Estruturas de ligazóns permanentes por tipo de contido: define unha estrutura para cada tipo de contido público a partir de etiquetas como
%year%,%category%ou as túas taxonomías personalizadas. O contido novo recibe a súa ligazón permanente automaticamente, e aínda podes editar calquera ligazón permanente a man. - Redirecións automáticas: a URL orixinal redirixe á ligazón permanente personalizada, así que as ligazóns existentes, os marcadores e o posicionamento nas buscas seguen funcionando.
- Multilingüe: funciona con WPML e Polylang, cunha ligazón permanente personalizada separada para cada tradución.
- URL en calquera idioma: as ligazóns permanentes en alfabetos non latinos, como árabe, tailandés ou cirílico, funcionan tal como as escribes.
- Todas as ligazóns permanentes nun só lugar: as pantallas Ligazóns permanentes dos tipos de contido e Ligazóns permanentes das taxonomías listan todas as ligazóns permanentes personalizadas, con busca e eliminación en bloque.
- Un perfil para xestores de ligazóns permanentes: o perfil Custom Permalinks Manager permite que os non administradores vexan e editen ligazóns permanentes.
- Amigable para desenvolvedores: filtros e accións para engadir as túas propias etiquetas, xerar ligazóns permanentes no código e controlar a sanitización e as redirecións.
Primeiros pasos: axustes do plugin
Custom Permalinks engade un menú Custom Permalinks ao teu escritorio de WordPress:
- Ligazóns permanentes dos tipos de contido e Ligazóns permanentes das taxonomías: todas as ligazóns permanentes personalizadas do teu sitio, con busca e eliminación en bloque.
- Axustes dos tipos de contido: unha estrutura de ligazón permanente para cada tipo de contido público, construída a partir das etiquetas de abaixo. Deixa a estrutura baleira para manter a de WordPress por defecto para ese tipo de contido.
Para establecer unha ligazón permanente para unha entrada, páxina, categoría ou etiqueta concreta, edita ese elemento e busca o campo Custom Permalink preto da parte superior (ou na barra lateral) da pantalla do editor: introduce a ruta da URL que queiras e garda.
Etiquetas dispoñibles para as estruturas de ligazóns permanentes
Ao configurar as estruturas das túas ligazóns permanentes personalizadas, podes usar varias etiquetas que completarán a URL de forma dinámica. Isto é o que está dispoñible:
- %year%: O ano da entrada en catro díxitos, p. ex.: 2025
- %monthnum%: Mes no que se publicou a entrada, en dous díxitos, p. ex.: 01
- %day%: Día no que se publicou a entrada, en dous díxitos, p. ex.: 02
- %hour%: Hora do día na que se publicou a entrada, p. ex.: 15
- %minute%: Minuto da hora na que se publicou a entrada, p. ex.: 43
- %second%: Segundo do minuto no que se publicou a entrada, p. ex.: 33
- %post_id%: O ID único da entrada, p. ex.: 123
- %category%: Unha versión limpa do nome da categoría (o seu slug). As subcategorías aniñadas aparecerán como directorios aniñados na URL.
- %author%: o nome de usuario (nome de acceso) do autor da entrada. Ten en conta que isto fai visibles os nomes de usuario nas túas URL.
- %postname%: Unha versión limpa do título da entrada ou páxina (o seu slug). Por exemplo, «This Is A Great Post!» convértese en
this-is-a-great-postna URL. - %parent_postname%: Semellante a
%postname%, pero usa o slug da páxina superior inmediata se hai unha superior seleccionada. - %parents_postnames%: Semellante a
%postname%, pero inclúe os slugs de todas as páxinas superiores se hai superiores seleccionadas. - %title%: O título da entrada, convertido en slug. Por exemplo, «This Is A Great Post!» convértese en
this-is-a-great-post. A diferenza de%postname%, que se establece unha soa vez,%title%actualízase automaticamente na ligazón permanente se cambia o título da entrada (salvo que a entrada estea publicada ou a ligazón permanente se editase manualmente). - %ctax_TAXONOMY_NAME%: unha versión limpa do nome dunha taxonomía personalizada. Substitúe
TAXONOMY_NAMEpolo nome real da taxonomía. - %ctax_TAXONOMY_NAME_name%: o nome do termo da taxonomía personalizada (en lugar do seu slug). Substitúe
TAXONOMY_NAMEpolo nome real da taxonomía. - %ctax_parent_TAXONOMY_NAME%: Semellante a
%ctax_TAXONOMY_NAME%, pero inclúe na URL o slug da categoría/etiqueta superior inmediata se hai un superior seleccionado. - %ctax_parent_TAXONOMY_NAME_name%: Semellante a
%ctax_TAXONOMY_NAME_name%, pero inclúe o nome do termo superior inmediato se hai un superior seleccionado. - %ctax_parents_TAXONOMY_NAME%: Semellante a
%ctax_TAXONOMY_NAME%, pero inclúe na URL os slugs de todas as categorías/etiquetas superiores se hai superiores seleccionados. - %ctax_parents_TAXONOMY_NAME_name%: Semellante a
%ctax_TAXONOMY_NAME_name%, pero inclúe os nomes de todos os termos superiores se hai superiores seleccionados. - %custom_permalinks_TAG_NAME%: Os desenvolvedores teñen a flexibilidade de definir as súas propias etiquetas personalizadas (substitúe
_TAG_NAMEpolo nome que queiras). Para asegurar que estas etiquetas se resolvan nas ligazóns permanentes correctas, simplemente aplica o filtrocustom_permalinks_post_permalink_tag.
Nota importante: Para as entradas novas, Custom Permalinks seguirá actualizando a ligazón permanente mentres a entrada estea en borrador, sempre que haxa unha estrutura definida nos axustes do plugin. Cando a entrada se publica ou a súa ligazón permanente se actualiza manualmente, o plugin deixará de facer actualizacións automáticas para esa entrada.
Custom Permalinks: axuste fino con filtros
Custom Permalinks ofrece unha serie de filtros que permiten aos desenvolvedores controlar con precisión o seu comportamento. Podes explorar todos os filtros dispoñibles, con fragmentos de código de exemplo, no noso repositorio de GitHub.
Para obter axuda:
- Usuarios Premium: Se necesitas axuda para implementar estes filtros, non dubides en contactar connosco a través do noso soporte de contacto Premium.
- Outros usuarios: Tamén podes contactar directamente co autor do plugin a través de LinkedIn.
Necesitas axuda ou atopaches un fallo?
- Soporte: Para soporte individual por correo electrónico, considera comprar Custom Permalinks Premium. Aínda que nos foros de WordPress.org pode darse algún soporte básico, o soporte por correo electrónico ten prioridade para os usuarios premium.
- Informes de fallos: Se atopas un fallo, informa del en GitHub. Asegúrate de dar información completa para reproducir o problema. GitHub é para informes de fallos, non para preguntas xerais de soporte.
Se tes algún problema que bloquee o sitio tras actualizar, informa del no foro de WordPress ou en GitHub con información detallada. Sempre podes volver a unha versión anterior descargándoa desde https://wordpress.org/plugins/custom-permalinks/advanced/.
Capturas





Instalación
Tes dúas formas de instalar Custom Permalinks:
Desde WordPress
- Vai a Plugins > Engadir novo no teu Escritorio de WordPress.
- Busca «Custom Permalinks».
- Fai clic en «Instalar agora» e despois en «Activar» o plugin na túa páxina de Plugins.
Manualmente por FTP
- Descarga o cartafol
custom-permalinks. - Sube o cartafol
custom-permalinksao directorio/wp-content/plugins/. - Activa Custom Permalinks no menú «Plugins» do teu Escritorio de WordPress.
Preguntas frecuentes
-
Que pasa coa URL orixinal cando establezo unha ligazón permanente personalizada?
-
Custom Permalinks redirixe automaticamente a URL orixinal (por defecto) á túa nova ligazón permanente personalizada, así que as ligazóns existentes, os marcadores e o posicionamento nos buscadores seguen funcionando.
-
Afectará isto ao SEO do meu sitio?
-
Non debería prexudicalo: como a URL orixinal redirixe á nova, os buscadores e as ligazóns externas existentes seguen resolvéndose correctamente. Usar ligazóns permanentes personalizadas limpas e descritivas tamén pode facer as túas URL máis lexibles, o que adoita ser bo para o SEO.
-
Si. Custom Permalinks é compatible con entradas, páxinas, calquera tipo de contido personalizado público e categorías/etiquetas (e outros termos de taxonomías personalizadas).
-
Funciona con tipos de contido personalizados, como os produtos de WooCommerce?
-
Si. Podes establecer unha ligazón permanente personalizada individual en calquera tipo de contido personalizado público, ou definir unha estrutura de ligazón permanente automática para todo o tipo de contido en Custom Permalinks > Axustes dos tipos de contido.
-
Custom Permalinks é compatible con WPML ou Polylang?
-
Si, o plugin é compatible con WPML e Polylang, incluídas as entradas traducidas que teñen cada unha a súa propia ligazón permanente personalizada.
-
Podo usar caracteres non ingleses nas miñas ligazóns permanentes?
-
Si. As ligazóns permanentes en alfabetos non latinos, como árabe, tailandés, cirílico ou chinés, funcionan tal como as escribes. Os navegadores solicitan estas URL codificadas en porcentaxe, e Custom Permalinks coincide con elas de calquera das dúas formas.
-
De onde proceden as traducións do plugin?
-
De translate.wordpress.org. WordPress descárgaas automaticamente para o idioma do teu sitio. Se o plugin aparece en inglés nun sitio traducido, actualiza as traducións desde Escritorio > Actualizacións. Tamén podes axudar a traducilo alí.
-
Podo permitir que un usuario que non sexa administrador xestione as ligazóns permanentes?
-
Si. O plugin engade un perfil dedicado Custom Permalinks Manager (e as capacidades correspondentes) para que poidas permitir que usuarios concretos que non sexan administradores vexan ou editen ligazóns permanentes sen darlles acceso completo de administrador.
-
Podo usar letras con acento, maiúsculas ou guións adicionais nas miñas ligazóns permanentes?
-
Por defecto, Custom Permalinks sanea as ligazóns permanentes do mesmo xeito que o núcleo de WordPress (minúsculas, sen acentos, sen guións repetidos). Os desenvolvedores poden retirar estas restricións cos filtros
custom_permalinks_allow_accents,custom_permalinks_allow_capsecustom_permalinks_redundant_hyphens. Consulta a sección Advanced Customization and Filters en GitHub. -
A vista previa do front-end dun maquetador de páxinas (Cornerstone, etc.) falla ou perde o modo de edición en páxinas cunha ligazón permanente personalizada
-
Algúns maquetadores de páxinas cargan a súa vista previa en directo/do front-end nun iframe mediante unha solicitude
POSTcon valores especiais que o maquetador necesita (por exemplo,cs_preview_timede Cornerstone). Se esa páxina tamén ten unha ligazón permanente personalizada, Custom Permalinks pode redirixir a solicitude e, como as redirecións se seguen comoGET, os datosPOSTdo maquetador perdéronse e a vista previa deixa de funcionar.Podes indicarlle a Custom Permalinks que omita a súa redirección para esa solicitude co filtro
custom_permalinks_avoid_redirect, engadido ao teu tema ou a un plugin específico do sitio:add_filter( 'custom_permalinks_avoid_redirect', function( $permalink ) { if ( isset( $_POST['cs_preview_time'] ) ) { // Adjust to match the field your builder sends. return true; } return false; } );Consulta a sección Advanced Customization and Filters en GitHub para ver este e outros filtros dispoñibles.
-
Que lles pasa ás miñas ligazóns permanentes personalizadas se desactivo ou desinstalo o plugin?
-
Desactivar o plugin mantén na base de datos todas as túas ligazóns permanentes personalizadas gardadas: ao reactivalo restáuranse de inmediato. Desinstalar (eliminar) o plugin elimina de forma permanente todas as ligazóns permanentes personalizadas gardadas e os axustes do plugin, e as túas URL volverán á estrutura de ligazóns permanentes por defecto de WordPress.
-
A miña ligazón permanente personalizada non se garda ou a páxina non redirixe: que debería comprobar?
-
- Asegúrate de que Axustes > Ligazóns permanentes non estea establecido en «Simple».
- Confirma que ningún outro plugin de SEO/redirección (Yoast, RankMath, Redirection, etc.) teña unha regra en conflito para a mesma URL.
- Comproba que a ligazón permanente non estea xa usada por outra entrada: Custom Permalinks non aplicará unha URL duplicada.
- Segues bloqueado? Consulta «Need Help or Found a Bug?» máis arriba, ou contacta a través de GitHub ou do soporte Premium.
Comentarios
Colaboradores e desenvolvedores
“Custom Permalinks” é un software de código aberto. As seguintes persoas colaboraron con este plugin.
Colaboradores“Custom Permalinks” foi traducido a 19 idiomas. Grazas aos desenvolvedores polas súas contribucións.
Traduce “Custom Permalinks” ao teu idioma.
Interesado no desenvolvemento?
Revisa o código, bota unha ollada aorepositorio SVN, ou subscríbete ao log de desenvolvemento por RSS.
Rexistro de cambios
3.3.3 – Oct 13, 2026
- Fallo:
- Fixed an infinite redirect loop on percent-encoded custom permalinks without a trailing slash (e.g. Japanese), a regression in 3.3.0.
3.3.2 – Oct 11, 2026
- Fallo:
- Fixed custom permalinks in non-Latin scripts returning a 404 (e.g. Persian) when a shorter custom permalink matched the start of the URL (e.g. a
product/page forproduct/سلام/), a regression in 3.3.0. - Fixed custom permalinks in non-Latin scripts not loading with an endpoint appended (e.g.
/سلام/feed/).
- Fixed custom permalinks in non-Latin scripts returning a 404 (e.g. Persian) when a shorter custom permalink matched the start of the URL (e.g. a
3.3.1 – Oct 8, 2026
- Fallo:
- Corrixiuse que as ligazóns Ver entrada e de vista previa do editor non se actualizasen, ou que se actualizasen ligazóns incorrectas, tras gardar unha ligazón permanente personalizada cando a URL anterior da entrada contiña caracteres como
?,+ou((p. ex.?p=123nos borradores). - Reforzouse o script do editor para que só actualice ligazóns cunha URL http(s) do dominio propio do sitio.
- Corrixiuse que as ligazóns Ver entrada e de vista previa do editor non se actualizasen, ou que se actualizasen ligazóns incorrectas, tras gardar unha ligazón permanente personalizada cando a URL anterior da entrada contiña caracteres como
- Accesibilidade:
- Engadíronse etiquetas para lectores de pantalla ás caixas de verificación de Ligazóns permanentes dos tipos de contido e Ligazóns permanentes das taxonomías, aos campos de estrutura de Axustes dos tipos de contido e ao campo Custom Permalink das pantallas de categoría, etiqueta e termo.
- Aumentouse o contraste do texto das etiquetas de estrutura en Axustes dos tipos de contido e das descricións dos plugins na pantalla Acerca de, e subliñáronse as ligazóns do seu texto.
3.3.0 – 8 de outubro de 2026
- Changes to be aware of:
- Requires WordPress 5.9 and PHP 7.4 or later, the oldest versions the plugin is now tested on. Sites on older versions keep 3.2.1.
- Translations now come from translate.wordpress.org instead of files bundled with the plugin. It covers every bundled language and adds Serbian. Sites that installed the plugin outside wordpress.org, or turned off automatic translation updates, show English until the language pack is installed from Dashboard Updates.
- WPML translations now always resolve to their own custom permalink. Previously they returned another language’s custom permalink depending on the active (admin) language, which listed wrong URLs in Post Types Permalinks and in SEO plugins’ indexables and XML sitemaps (e.g. Yoast SEO).
%ctax_parents_TAXONOMY_NAME_name%now uses the parent terms’ names, as documented, instead of their slugs. Permalinks generated from now on change where a parent term’s name differs from its slug; saved permalinks are not changed.
- Redirects and URLs:
- Fixed custom permalinks in non-Latin scripts (e.g. Thai, Arabic, Cyrillic) returning a 404 or redirecting in an infinite loop, as the browser requests them percent-encoded while they are saved unencoded (or vice versa, depending on the site language).
- Fixed the trailing-slash redirect and the redirect to the custom permalink dropping the page number (e.g.
/news/page/2redirected to/news/instead of/news/page/2/). - Added the
custom_permalinks_disable_remove_page_numberfilter to keep the/page/{number}segment in the requested URL, for custom archive pages whose pagination doesn’t advance. - Fixed the query string being corrupted (e.g.
foo=barbecamehttp://foo=bar) after a custom permalink was resolved. - Fixed comment links on paginated comments (e.g.
/my-post/comment-page-2/) not following the custom permalink’s trailing slash, so a custom permalink without a trailing slash no longer gets comment URLs with one, and vice versa.
- WPML and Polylang:
- Fixed the WPML language switcher linking back to the current language instead of the translation when languages are in directories (e.g.
/en/,/de/) and the translation uses the same custom permalink. - Fixed WPML language directories that differ from the language code (e.g.
/de-de/forde, as in WPML 5.0) not being repaired when duplicated, and the default language getting its directory added to a permalink when “hide the default language directory” is on. - Fixed English custom permalinks not being lowercased and cleaned of special characters with WPML 5.0’s region-based language codes (e.g.
en-us). - Fixed Polylang translations sharing the same custom permalink (e.g.
/en/technologyand/zh/technology) redirecting to the other language when the translation’s stored language was missing or out of date.
- Fixed the WPML language switcher linking back to the current language instead of the translation when languages are in directories (e.g.
- Admin screens:
- Fixed Post Types and Taxonomies Permalinks pagination showing the first page’s results on every page, ignoring sorting and search, when a persistent object cache (e.g. Redis or Memcached) is enabled. The lists now also refresh right after a permalink is added, changed or deleted.
- Fixed bulk delete and search in Post Types and Taxonomies Permalinks failing with a “headers already sent” warning instead of redirecting.
- Fixed short titles and permalinks being padded with leading spaces in the Post Types and Taxonomies Permalinks lists.
- Fixed every post of a type showing and saving the same custom permalink when a theme or plugin runs a custom loop in the admin without resetting the global post.
- Fixed the original permalink showing as the custom permalink in the edit screen’s permalink box and in the block editor, and being compared against when saving a post or term.
- Fixed a fatal error on WordPress 5.9 and 6.0 when saving the Post Types Permalinks settings with the cache flush option, as
wp_cache_flush_group()needs WordPress 6.1. Object caches that can’t flush a single group now get a full cache flush. - Fixed the “Custom Permalinks Manager” role name not being translatable.
- Fixed Post Types Settings showing the WordPress address instead of the site address before each structure, which is wrong when WordPress is installed in a subdirectory.
- Compatibility:
- Fixed WooCommerce notices about accessing order data directly on order screens, as the permalink form read post fields from the
WC_Orderobject. - Fixed posts updated by WP All Import being handled as new posts, which turned permalink regeneration back on and could replace their custom permalink with the post type’s structure.
- Fixed the
seems_utf8()deprecation notice on WordPress 6.9 and later.
- Fixed WooCommerce notices about accessing order data directly on order screens, as the permalink form read post fields from the
Versións anteriores
- Para ver o rexistro de cambios das versións anteriores, consulta o arquivo changelog.txt separado.
