Yoast SEO Sitemap Multilingue con Transposh
Transposh es un gran plugin que nos permite crear nuestra página web en diferentes idiomas con muy poco esfuerzo. Es uno de nuestros preferidos a la hora de crear una web multilingue.
Uno de los problemas que nos encontramos con este plugin WordPress, es que no es compatible con el Sitemap que nos genera el plugin SEO por excelencia «Yoast SEO». Las urls de las páginas de los idiomas no esta incluidas en el sitemap que este genera.
De momento hemos encontrado una solución que requiere editar un archivo de el plugin Yoast. Concretamente debemos editar le archivo ubicado en la ruta /wp-content/plugins/wordpress-seo/inc/sitemaps/class-post-type-sitemap-provider.php cerca de la linea 281 justo después de
1 2 3 | if ( ! empty( $url ) ) { $links[] = $url; } |
añadimos el siguiente código
1 2 3 4 5 6 7 8 9 | /** Transposh Fix */ $langurls = apply_filters( 'wpseo_sitemap_language',$url); if ( is_array( $langurls )) { foreach ($langurls as $langurl) { $links[] = $langurl; continue; } } /** End Transposh fix */ |
Debes tener en cuenta que este «parche» es provisional, y que si actualizas a posterior el plugin Yoast SEO, probablemente perderás este fix, con lo que debes tomarlo de momento como provisional.
Buenos días,
Recién instalé el código, actualmente la línea se encuentra en la 251, pero introduzco la ruta /ca/sitempa_index.xml pero no existe ningún tipo de idioma.
Hay que especificar el idioma que quiero tener en el código que proporcionaste?
Thanks for sharing your code!
I added it in my site with the latest WP, Yoast and Transposh versions available today, but it didn’t work.
It seems Yoast changed a lot with version 20.
Also, there is some comment in transposh-translation-filter-for-wordpress/wp/transposh_3rdparty.php (line 282) explaining how to modify Yoast, but I can’t make it work.
Please let me know if you’re able to make sense of these new versions. Thanks!