[SPIP Zone] évoluation plugin SEO: ajout de Open Graph et balise twitter ?

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans un plugin dédié ?

D'autre part, si on l'ajoute au plugin existant, comment faire ?
Dois-je créer un branche dev pour ne pas casser la version trunk ou autrement ?

Merci de vos retours

Le 04/11/2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au
plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans
un plugin dédié ?

J'ai un besoin similaire. Je n'y connais pas grand chose, mais à première vue, moi ça me semble très en rapport avec le SEO.

Donc ça me parait bien que ce soit dans un plugin déjà maintenu, du coup possiblement avec une ou des options pour activer le truc.

--
RastaPopoulos

Le 04/11/2016 à 19:39, RastaPopoulos a écrit :

Le 04/11/2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au
plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans
un plugin dédié ?

J'ai un besoin similaire. Je n'y connais pas grand chose, mais à
première vue, moi ça me semble très en rapport avec le SEO.

Donc ça me parait bien que ce soit dans un plugin déjà maintenu, du coup
possiblement avec une ou des options pour activer le truc.

Pour ce genre de besoin, le modèle 'insert_head_og' fournis par le
plugin "Modèles Facebook" est un bon début.

Il y a tout ce qui est nécessaire pour OpenGraph, a voir ensuite ce
qu'il faut ajouter pour Twitter.

Le 04/11/2016 à 20:07, Pierre André a écrit :

Pour ce genre de besoin, le modèle 'insert_head_og' fournis par le
plugin "Modèles Facebook" est un bon début.

Oui effectivement ça donne une base, et les champs importants à remplir, c'est cool.

En revanche, ça ne va pas marcher avec un objet "patate" qu'un plugin ajoute, et un objet "chat" propre à mon projet, etc. Et d'après moi, il faut que ça marche avec n'importe quels contenus du site (ce n'est plus comme si c'était une rareté de nos jours d'avoir des objets en plus, ne seraient-ce que ceux des plugins communautaires).

Donc il faudrait trouver une autre architecture à mon avis (pas juste un simple unique squelette comme ça). Qui sait remplir un truc "de base" pour n'importe quel objet ET qui permet une surcharge/amélioration type par type ensuite, quand on veut affiner (par exemple les docs qui ont des champs différents, les événements de l'agenda qui doivent en avoir d'autres…).

--
RastaPopoulos

Hello,

Le 4 nov. 2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans un plugin dédié ?

J’ai eu le même besoin. Mais nul besoin du plugin SEO. Du coup, j’ai fait un plugin dédié ajoutant des métadonnées Dublin Core, Open Graph et Twitter Card.

Je vous retrouve ça et je le pose sur la Zone ?

-- tetue

Le 5 nov. 2016 à 20:47, erational <erational@erational.org> a écrit :

Le 05/11/2016 à 20:25, tetue@rezo.net a écrit :
Hello,

Le 4 nov. 2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans un plugin dédié ?

J’ai eu le même besoin. Mais nul besoin du plugin SEO. Du coup, j’ai fait un plugin dédié ajoutant des métadonnées Dublin Core, Open Graph et Twitter Card.

Je vous retrouve ça et je le pose sur la Zone ?

avec plaisir :slight_smile:

Cool et j’ai retrouvé mon code ! Par contre, j’ai toujours la même difficulté : est-ce que qqn peut créer pour moi un répertoire « _plugins_/metaplus » sur la Zone ?

-- tetue

Hello tetue,
Je viens de le faire.

  _plugins_/metaplus/trunk

Bonne soirée,
Jacques

Le 05/11/2016 à 21:12, tetue@rezo.net a écrit :

Le 5 nov. 2016 à 20:47, erational <erational@erational.org> a écrit :

Le 05/11/2016 à 20:25, tetue@rezo.net a écrit :
Hello,

Le 4 nov. 2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J'ai une demande pour ajouter des balises Open Graph et Twitter au plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans un plugin dédié ?

J’ai eu le même besoin. Mais nul besoin du plugin SEO. Du coup, j’ai fait un plugin dédié ajoutant des métadonnées Dublin Core, Open Graph et Twitter Card.

Je vous retrouve ça et je le pose sur la Zone ?

avec plaisir :slight_smile:

Cool et j’ai retrouvé mon code ! Par contre, j’ai toujours la même difficulté : est-ce que qqn peut créer pour moi un répertoire « _plugins_/metaplus » sur la Zone ?

-- tetue

----
spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Done ! help yourself :slight_smile:

Le 5 nov. 2016 à 21:19, Jacques <jacques@jack31.net> a écrit :

Hello tetue,
Je viens de le faire.

plugins/metaplus/trunk

Bonne soirée,
Jacques

Le 05/11/2016 à 21:12, tetue@rezo.net a écrit :

Le 5 nov. 2016 à 20:47, erational <erational@erational.org> a écrit :

Le 05/11/2016 à 20:25, tetue@rezo.net a écrit :
Hello,

Le 4 nov. 2016 à 16:13, erational@erational.org a écrit :

Bonjour,

J’ai une demande pour ajouter des balises Open Graph et Twitter au plugin SEO.

Est-ce que cela vous semble pertinent ou mieux faut-il faire cela dans un plugin dédié ?

J’ai eu le même besoin. Mais nul besoin du plugin SEO. Du coup, j’ai fait un plugin dédié ajoutant des métadonnées Dublin Core, Open Graph et Twitter Card.

Je vous retrouve ça et je le pose sur la Zone ?

avec plaisir :slight_smile:

Cool et j’ai retrouvé mon code ! Par contre, j’ai toujours la même difficulté : est-ce que qqn peut créer pour moi un répertoire « plugins/metaplus » sur la Zone ?

– tetue


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

– tetue

Le 04/11/2016 à 22:07, RastaPopoulos a écrit :

Le 04/11/2016 à 20:07, Pierre André a écrit :

Pour ce genre de besoin, le modèle 'insert_head_og' fournis par le
plugin "Modèles Facebook" est un bon début.

Oui effectivement ça donne une base, et les champs importants à remplir,
c'est cool.

En revanche, ça ne va pas marcher avec un objet "patate" qu'un plugin
ajoute, et un objet "chat" propre à mon projet, etc. Et d'après moi, il
faut que ça marche avec n'importe quels contenus du site (ce n'est plus
comme si c'était une rareté de nos jours d'avoir des objets en plus, ne
seraient-ce que ceux des plugins communautaires).

Donc il faudrait trouver une autre architecture à mon avis (pas juste un
simple unique squelette comme ça). Qui sait remplir un truc "de base"
pour n'importe quel objet ET qui permet une surcharge/amélioration type
par type ensuite, quand on veut affiner (par exemple les docs qui ont
des champs différents, les événements de l'agenda qui doivent en avoir
d'autres…).

Hello,

Dans ce cas, utilisant z-core, j'ai dans mes definitions de blocs un bloc head_meta.
Pour chaque objet que je crée je crée un fichier head_meta/mon_objet qui apporte les meta og, twitter et favicon suivant ce qui est necessaire a l'objet. Ceci permet sur un site particulier de surcharger si besoin (par exemple pour une image proposer autre chose ou une taille différente). Sinon c'est le fichier dist qui est repris avec les metas génériques …

A savoir que pour les meta facebook/og l'image n'est dans l'index que a partir d'un premier partage, sinon elle ne s'affiche pas, il faut souvent quand on publie, cliquer sur partager pour que les internautes suivants ne rencontre pas de publication sans image :confused:

Je ne sais pas si une intégration générique a SEO peut être faisable car chaque objet aura des particularitées et chaque site aussi : par exemple sur un site e-commerce j'ai ajouté le prix dans le titre og du produit pour qu'il s'affiche lors d'une publication sur facebook :

<BOUCLE_produits_og(PRODUITS){id_produit}>
[<meta property="og:title" content="(#TITRE|supprimer_tags|attribut_html) [- (#PRIX)]" />]
<meta property="og:type" content="article" />
[<meta property="og:url" content="(#URL_PRODUIT|url_absolue)" />]
<BOUCLE_produitDoc(DOCUMENTS){id_produit}{extension==jpg|png|gif}{mode=document}{0,1}>
  [<meta property="og:image" content="(#FICHIER|image_reduire{800}|extraire_attribut{src}|url_absolue)" />]
</BOUCLE_produitDoc>
[<meta property="og:image" content="(#LOGO_PRODUIT||sinon{#LOGO_SITE_SPIP}|extraire_attribut{src}|url_absolue)" />]
<//B_produitDoc>
[<meta property="og:description" content="(#INTRODUCTION|propre|supprimer_tags|attribut_html)" />]
</BOUCLE_produits_og>

a savoir aussi que la taille de l'image passé dans la méta influe sur la présentation une image de >600px sera en cover (et recadrée par facebook, donc peut avoir des résultats non voulus), sinon on est en vignette …

voila pour mon retour d'expérience sur le sujet

--
Bonne journée
Arnaud B. (Mist. GraphX)

Merci tetue pour metaplus

Par contre, le plugin est un bon début mais je crois qu’on a besoin d’un module plus complet

  • pour avoir les opengraphs sur tous les objets SPIP (rubriques, patates, coiffures, gis, …) à la demande
  • permettre un insert automatique comme le fait le plugin SE0
  • permettre de personnaliser les opengraphs si on désire comme le fait le plugin SE0

bon dimanche

Hello,

J’ai fait un truc similaire dans mon squelette Zoundtion :

C’est seulement pour les métas « OG », mais l’utilisation de ENV permet de le faire fonctionner facilement sur d’autres objets : Bonus : l’app_id de Facebook si le plugin est présent.

Le 06/11/2016 à 08:37, Mist. GraphX a écrit :

Je ne sais pas si une intégration générique a SEO peut être faisable car
chaque objet aura des particularitées et chaque site aussi : par exemple
sur un site e-commerce j'ai ajouté le prix dans le titre og du produit

Ben si, c'est ce que je proposais dans mon précédent email : il faut que la solution ait un comportement par défaut (comme le "dist") mais que l'on puisse personnaliser objet par objet ensuite (que ce soit avec un pipeline ou squelettes peu importe mais c'est possible).

On peut permettre ça sans obliger à utiliser Z forcément. Mais le principe est le même.

--
RastaPopoulos

Le 06/11/2016 à 08:50, erational a écrit :

Par contre, le plugin est un bon début mais je crois qu'on a besoin d'un
module plus complet
- pour avoir les opengraphs sur tous les objets SPIP (rubriques,
patates, coiffures, gis, ...) à la demande
- permettre un insert automatique comme le fait le plugin SE0
- permettre de personnaliser les opengraphs si on désire comme le fait
le plugin SE0

Suis assez d'accord, comme décrit dans mon précédent email. Avec un système qui a un code par défaut (possiblement surchargeable en tant que par défaut) ET une personnalisation possible objet par objet.

Voire, si c'est possible : gérer aussi les NON-objet, quand on a des page=trucs, qui peuvent être partageables aussi, tout comme l'accueil du site d'ailleurs.

--
RastaPopoulos

Le 6 nov. 2016 à 08:50, erational <erational@erational.org> a écrit :

Merci tetue pour metaplus

Par contre, le plugin est un bon début mais je crois qu'on a besoin d'un module plus complet

Oui, j’ai fais ce qui répondait à mon besoin, qui est manifestement minimal :wink:

- pour avoir les opengraphs sur tous les objets SPIP (rubriques, patates, coiffures, gis, ...) à la demande

Ça, je ne le souhaite pas. Quelle drôle d'idée !

- permettre un insert automatique comme le fait le plugin SE0

Pourquoi pas… à condition qu’il sache s’insérer au bon endroit du head… et qu’est-ce que le « bon endroit du head » ? Sera-t-il le même pour tous ? Et comment l’insérer dans le head de certains articles et empêcher l’insertion dans certains autres ?

Du coup, l’insertion par ajout manuel de #INCLURE{fond=inclure/metasplus,id_article} me semblait pleinement satisfaisante, d’autant plus que ce type de décision relève d’un usage averti, davantage du webmestre que des rédacteurs.

- permettre de personnaliser les opengraphs si on désire comme le fait le plugin SE0

Oui, il y a un besoin de personnalisation fine… Par exemple pour og:type, on peut vouloir déclarer article, recipe, video, etc. Pourquoi en le passant en paramètre de l’inclure ?

La seule option que je pensais ajouter est de permettre de choisir quoi ajouter parmi Dublin Core, Open Graph et/ou Twitter Card. A minima en les répartissant dans des inclure séparés.

-- tetue

Le 06/11/2016 à 10:44, RastaPopoulos a écrit :

Le 06/11/2016 à 08:37, Mist. GraphX a écrit :

Je ne sais pas si une intégration générique a SEO peut être faisable car
chaque objet aura des particularitées et chaque site aussi : par exemple
sur un site e-commerce j'ai ajouté le prix dans le titre og du produit

Ben si, c'est ce que je proposais dans mon précédent email : il faut que
la solution ait un comportement par défaut (comme le "dist") mais que
l'on puisse personnaliser objet par objet ensuite (que ce soit avec un
pipeline ou squelettes peu importe mais c'est possible).

On peut permettre ça sans obliger à utiliser Z forcément. Mais le
principe est le même.

Dans ce cas il faudrait que l'on puisse lister les champs éditables de l'objet et pouvoir les concaténer ensembles si besoin, pour construire le dist de l'objet (#TITRE - #PRIX) , ensuite ç'est pour les docs que ça me parait plus complexe, avoir plusieurs options pour ce qui est des documents, afficher le LOGO ou préférer un doc, voir choisir le doc … le format vignette ou cover, … (le genre de truc que vont demander les rédacteurs a coup sur quoi…)

sinon en skel, sans Z ou avec, y'a aussi possibilité de faire comme dans la sitemap de la dist, tester OBJET et voir si il a un fichier de description de meta a inclure
je l'ai fait pour les produits ça marche bien : sitemap-produit
on peut imaginer un meta-objet

[(#REM) Extensions de sitemap par des plugins ]
<BOUCLE_objets(DATA){source table,#REM|lister_tables_objets_sql}>
	#SET{fond,#VAL{sitemap-}|concat{#VALEUR{table_objet}}}
	[(#GET{fond}|trouver_fond|oui)#INCLURE*{fond=#GET{fond}}]
</BOUCLE_objets>

mais bon c'est pas gérable depuis le privé par un redacteur en skel…

Bon en fait moi c'est sur les pages que je souhaiterais avoir les meta configurables, comme dans le plugin url_pages, mais c'est un autre débat ^^

--
Bonne journée
Arnaud B. (Mist. GraphX)