Añadir "canonical" a un solo post/pagina en wordpress

Inicio Foros WordPress Programación Añadir "canonical" a un solo post/pagina en wordpress

Etiquetado: , ,

Este debate contiene 18 respuestas, tiene 3 mensajes y lo actualizó  imported_chiquillo22 hace 8 años, 6 meses.

  • Autor
    Publicaciones
  • #16400

    antorome
    Participante

    <p>Buenas,<br />
    estoy buscándolo por todos lados pero no encuentro nada.<br />
    He creado dos páginas en wordprss con el mismo contenido pero diferente url y quiero que una apunte con "canonical" a la otra pero no sé cómo hacerlo.<br />
    Lo que hay por ahí de canonical lo que hace es eliminar los "?", etc pero no deja cambiar a mano el enlace.</p>
    <p>Supongo que en general la pregunta se resume en cómo modificar el contenido que hay en &lt;head&gt;&lt;/head&gt; para un simple post/página.</p>
    <p>Toda ayuda es bienvenida.<br />
    Gracias!
    </p>

  • #38153

    imported_j.conti
    Participante

    Aunque lo que se pretende es diferente, la solución es la misma, aunque es tu caso, lo debes aplicar al header en vez de al sidebar.

    Mírate este hilo:

    https://ayudawp.com/foro/topic/widget-texto-distinto-en-cada-page

    Un saludo

  • #38156

    antorome
    Participante

    Aunque lo que se pretende es diferente, la solución es la misma, aunque es tu caso, lo debes aplicar al header en vez de al sidebar.
    Mírate este hilo:
    https://ayudawp.com/foro/topic/widget-texto-distinto-en-cada-page
    Un saludo

    La solución está bien pero creo que no es muy eficiente. Estoy añadiendo un if a la plantilla para un solo post. si quisiera hacer esto en 20 posts, al final tendría 20 if ¿No hay otra opción posible?

    Gracias por tu ayuda!

  • #38158

    imported_j.conti
    Participante

    Pensaba que solo querías para una entrada repetida. No un blog duplicado.

    Tu intención exacta ¿Cuál es?

    Quieres que todo el mundo vea las dos páginas (las dos online y accesibles por separado e independientes) y que solo los buscadores vayan a la otra o estás sustituyendo un blog por el otro.

  • #38161

    antorome
    Participante

    Quiero que vean las dos…

  • #38167

    imported_j.conti
    Participante

    Ummm,

    me lo miro.

    Creo que con un hack en el archivo function.php se puede hacer.

  • #38173

    imported_j.conti
    Participante

    Bueno, me ha cosatado un poco, y unos cuantos quebraderos de cabeza pero como se suele decir, quién la sigue la consigue. 🙂

    Aquí lo tienes.

    Pon esto al final de tu archivo function.php sobretodo, antes de ?>

    Como es muy posible que se te descalabre el invento, por razones de seguridad en bbPress (igual te pone separaciones en todo lados.

    Descárgate este archivo desde aquí.

    Es un zip.

    Solo debes descomprimirlo, y pegar su contenido como te he comentado.

    http://www.megaupload.com/?d=W16EV2UJ

    Por cierto, que no lo pongo en ningún lado, pero cambia en la línea 2 lo que pone por el dominio que quieres que salga en el canonical.

    Comenta que tal:)

    Un saludo

  • #38221

    antorome
    Participante

    Wow!!
    Increíble!
    Aunque no sé lo que hace 🙂
    Cómo se supone que tengo que utilizarla?
    Pongo eso en function
    Luego tengo una pagina que se llama /coche/ y quiero que el canonical vaya a /coches/
    cómo hago eso?
    Gracias de nuevo por esa altruista currada !

  • #38222

    imported_j.conti
    Participante

    Simplemente, descargate el archivo.

    Copia lo que hay dentro, en tu archivo function.php, en el del blog que quieres que apunte al otro.

    En la segunda línea, pon el dominio al que quieres apuntar, sin poner / al
    final y con http:// al principio.

    Guarda el archivo function.php y ya está

    ahora, ves a cualquier página, post, tag o lo que quieras y veras que arriba de todo te sale un rel canonical apuntando al dominio que hayas puesto en la segunda línea 🙂

    Cuenta que tal

    un saludo

  • #38224

    imported_j.conti
    Participante

    He releído tu nueva consulta y has introducido una nueva variable… Que no habías comentado y es cambiar los permanlinks…

    Si ese es el caso, no te funcionará.

    Esta función es para permanlinks idénticos.

    Entonces, no es un blog duplicado, aunque el contenido es igual, cambian los permanlinks.

    Para que te funcione, los permanlinks debes ser idénticos.

    Yo te aconsejo que uses esta función y cambies los permanlinks para que sean iguales.

    Un saludo

  • #38226

    antorome
    Participante

    Hola y gracias de nuevo.

    Veamos.

    Sigamos con el ejemplo /coche/ /coches/.
    Cuando la gente busca en google lo hace con “coche rojo” o “coches”
    por eso tengo creada una página que se llama /coche/ y subpaginas /rojo/, /azul/, etc
    pero también queiro posicionar /coches/ para cuando la gente busque sólo “coches”. Por esto necesito crear la página /coche/ y sus subpaginas y además la página /coches/ que tendrá el mismo contenido que /coche/ (un listado con todos los colores) pero con el canonical apuntando a /coches/.

    Es por eso que necesito incluir un canonical para posts específicos.

    De todas formas, el problema se resumen en cómo meter una etiqueta en el head de un post o página específica. All-in-one-seo plugin te permite meter en el home, tags, etc pero no en un single posts. Puede que haya por ahí algún plugin que permita hacer esto pero no lo encuentro por ningún lado.

    Gracias de nuevo

  • #38227

    antorome
    Participante

    Parece que este plugin puede solucionarlo. Echa un vistazo al código si eso.
    http://wp.uberdose.com/2007/03/30/add-your-own-headers/

  • #38229

    imported_j.conti
    Participante

    Este plugin es general, no para páginas específicas, creo.

    Miraré a ver que se puede hacer.

    Pero deberias de haber especificado mejor las inteciones que tenias.

    Pero la solución será manual, deberas entrar en cada entrada y especificar lo que quieres que salga.

    Y desde luego, olvídate de plugins como All in One. No puedes tener dos canonicals en el header.

    Un saludo

  • #38234

    imported_j.conti
    Participante

    Bueno

    Esta vez he ido un poco más rápido, cuando he tenido un momentito lo he mirado.

    Añade esta línea al header.php

    Si te fijas, hay una variable que se denomina:

    Esto es lo que se denominan en WordPress “Campos Personalizados”

    Una vez que pongas la línea en tu header.php, si accedes a cualquier página o entrada (excepto en el home, que lo he eliminado aproposito) y miras el código fuente, verás esto:

    Es porque no has añadido aún el campo personalizado.

    Ahora, accede a cada entrada y cada página.

    Ves a Campo personalizados y aprieta en “Nuevo”

    En Nombre pon “enlace”, repito que sin las comillas.

    En Valor pon la url, con este formato: http://www.tupagina.com/lo_que_sea/ (esto es a lo que quieres apuntar

    Y aprietas en “Añadir Campo personalizado”.

    Si ahora acudes a la página o entrada que hayas editado, y miras de nuevo el código fuente, ya verás tu rel canonical con la url que quieres que apunte.

    Es más artesanal, pero es la única solución, cuando las url son cambiantes.

    Espero que esta solución, mucho más sencilla de elaborar que la anterior, ya te vaya bien.

    Tendrás que arreglar el código, ya que te habrá introducido espacios.

    Si no sabes, me avisas que cuelgo un archivo como en la anterior.

    Edito, que me había olvidado de comentarte.

    debes poner este código entre las etiquetas < head > y < / head > de tu header.php

    Un saludo

    Un saludo

  • #38240

    antorome
    Participante

    Genial.
    El plugin sí que funciona para páginas y posts individuales, tiene un campo donde puedes poner lo que quieras pero con lo tuyo pasando de plugin.
    Cuando “enlace” no tenga nada, que no ponga nada. De esta forma junto con el all in one seo se puede utilizar. justo en el post en el que el canonical sea diferente a lo normal, se desactiva el plugin para ese post y entonces se añade la key “enlace”.

    Gracias de nuevo, muchas gracias!

  • #38241

    imported_j.conti
    Participante

    De nada.

    Me alegro que esto si que te sirva.

    Un saludo

  • #38252

    antorome
    Participante

    Hola de nuevo.
    Se me ha debido volar una línea en el post anterior.
    Lo que te decía es si sería posible que cuando no se ponga nada en “enlace” no aparezca nada, ni siquiera el link=”canonical”..

    Algo en plan (no sé cómo es en php)

    if < ?php if (is_single() || is_page()) : ? >
    if $key<>0 then {
    < link rel=”canonical” href=”< ?php $key=”enlace”; echo get_post_meta($post- >ID, $key, true); ? >” / >
    }
    < ?php endif; ? >

  • #38264

    imported_j.conti
    Participante

    Hola,

    Última, o lo compras o nada

    Lo mismo, campo personalizado que debes llamar “enlace”

    Allí donde no rellenes el campo personalizado, no se mostrará.

    Lo que he hecho en este hilo tiene un valor aproximado de 300€, y no hablo en coña.

    Si algún día nos vemos, espero que me invites a comer.

    EDITO: arregla los espcios, que joroban el invento

    Un saludo

  • #40914

    Estoy montando un nuevo proyecto lo que deseo es que una categoria en particular ([b]blog[/b]) tenga un permalink del tipo http://www.web.com/blog/post.html (incluido al final una extension [u]html o php[/u]) y que los demas post de cualquier categoria sean solo http://www.web.com/post

    Algun plugin o manera de hacerlo?

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest