Ticket #20256 (new PLIP)
Add social media meta tags
Reported by: | vangheem | Owned by: | |
---|---|---|---|
Priority: | trivial | Milestone: | 5.0 |
Component: | General | Version: | |
Keywords: | Cc: |
Description
Proposer: Nathan Van Gheem
Seconder: Talin Senner
Motivation
- currently, when plone pages are linked to OOTB plone, the pages are not rendered in those social media application very nicely.
Proposal & Implementation
- Add facebook, twitter, google+ and pinterist compatible meta tags so they format plone links better.
- Add a control panel to define if metadata should be enabled and some of the meta data fields like twitter username(for analytics), facebook username and facebook app id.
Deliverables
- the implementation is already done with pull requests
- https://github.com/plone/plone.app.layout/pull/41
- https://github.com/plone/Products.CMFPlone/pull/370
- https://github.com/plone/plone.app.upgrade/pull/26
Risks
- Perhaps the control panel is a bit confusing as to what the configuration options are for. A user might suspect that social media buttons are getting added to the site.
Change History
comment:2 Changed 11 months ago by ebrehault
Deployment
I have merged Products.CMFPlone social_media branch with the last master changes, nevertheless I get an error regarding the site language (here French) when creating a new site:
2015-05-10 17:10:01 ERROR Zope.SiteErrorLog 1431270601.290.72055330144 http://localhost:8080/@@plone-addsite Traceback (innermost last): Module ZPublisher.Publish, line 138, in publish Module ZPublisher.mapply, line 77, in mapply Module ZPublisher.Publish, line 48, in call_object Module Products.CMFPlone.browser.admin, line 232, in __call__ Module Products.CMFPlone.factory, line 97, in addPloneSite Module plone.registry.registry, line 47, in __setitem__ Module plone.registry.record, line 83, in _set_value Module zope.schema._bootstrapfields, line 182, in validate Module zope.schema._field, line 389, in _validate ConstraintNotSatisfied: fr
Note: it does the same if we pick English as default language.
Manual testing
(because of the deployment issue mentioned here, I have used an existing site, and just imported the Plone default profile manually).
The control panel is simple to use and behaves as expected.
Conclusion
The feature is interesting and simple to use. It is much more useful than the Dublin Core meta tags (which are almost obsolete today) provided by Plone by default, so in my opinion, it should be added to the core.
But the error on site creation must be fixed.
Not ready to merge.
comment:3 Changed 11 months ago by vangheem
Yes, I'm confused. Is p.a.multilingual supposed to be installed automatically?
I don't see anything in my pull request that is causing the error--I imagine it can happen in some weird combination of factors without my pull request available.
The issues stems from https://github.com/plone/plone.app.vocabularies/blob/master/plone/app/vocabularies/language.py#L49 requiring plone.app.multilingual to be installed and having default_language use it as a vocab: https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/interfaces/controlpanel.py#L124
Then, site creation uses this vocab: https://github.com/plone/Products.CMFPlone/blob/master/Products/CMFPlone/browser/admin.py#L188 which isn't not what the value is validated against.
comment:4 Changed 11 months ago by ebrehault
I agree, it seems not related to your PR. You should ask @bloodbare about p.a.multilingual.
comment:5 Changed 11 months ago by hvelarde
I disagree, @ebrehault; I though we were trying to make the core less heavy and easier to maintain.
Dublin Core meta tags are by no mean obsolete or useless today; how do you explain that any Plone site have a better ranking on search engines for the same content than others using different CMS?
IMO, the framework team need to analyze this kind of stuff not only from the code reviewing of feature point of view, but in a much broader way.
after reading a little bit and reviewing some work done before I am totally against including things like Twitter Cards or Pinterest Rich Pins into the core as they are not open standards at all and they can be changed at any time leaving the feature totally useless for users o a Plone site running a version no longer maintained.
even as Facebook Open Graph or Schema.org are big initiatives pushed by corporations in a more or less open way, I think this is the clear example of the work of a simple add on as the ones we already have, collective.opengraph to mention just one.
small add ons are by far easier to maintain and have a totally different life span that will not depend on core developers precious time.
going beyond that I think we should spin-off the syndication machinery out of CMFPlone also.
comment:6 Changed 11 months ago by vangheem
So you think dublin core metadata helps plone site search rankings? I'm don't think there is any evidence for this. Just because plone is searched well, does not mean dublin core metadata is responsible for it. http://googlewebmastercentral.blogspot.in/2009/09/google-does-not-use-keywords-meta-tag.html
What are we cutting out of core? We're trying to merge packages, maybe cut out old unused stuff but we still try to implement new/useful features and improve Plone.
I think your comment that this should be an add-on is fine though. I just figured if we wanted to provide metadata, we should provide something useful and this was a simple win....
comment:7 Changed 11 months ago by ebrehault
@hvelarde, regarding Dublin Core, I am pretty sure it is not useful anymore, it is not used by Google anymore, the only area where it is still in use (as far as I know) is for scientific publication (regarding harvesting or things like that), which is not a major use case that would deserve to be managed by the core.
But I hear what you say. I just considered this PR was very very small and produced a minimal and useful solution that a lot of people might expect from a CMS out-of-the-box. So yes, I agree it could be done with an add-on, and c.opengraph is a nice solution.
comment:8 Changed 10 months ago by hvelarde
@ebrehault @vangheem thank you, very much for the information; DCMI tags are not related with the keyword meta tag, but it's true that they are not listed among the Meta tags that Google understands.
I was looking on more search engines but I couldn't find anything.
anyway, my point is that we, as core developers and members of the Plone Foundation, have to be very careful when deciding the development path; it's easy to be tempted to add some features to the core that are not open and we could find ourselves in the mid term with a product based on proprietary "standards" tied to the whims of big corporations.
after reading some other resources I have now a much clear view of the issue; I think Plone must move to replace Dublin Core, not with social media tags, but with Linked Open Data.
some good material:
- The False Choice of Schema.org
- Dublin Core In 2014: Should I Really Care About It?
- Linked Open Data - What is it?
- Tim Berners-Lee: The next web
just FYI, last week we received a request from one of our customers to include some features related with this issue and we are going to implement them on sc.social.like.
the good news is that we will have a new version of the package supporting this social media tags within 2 months and all Plone versions supported will benefit from this.
@vangheem we will review your code to take some ideas for sure.
again, thank you, guys!
-1 for having this on the core; IMO this should the done on an add-on; it would be easier to maintain.
for me the only think that makes sense on the core is schema.org markup.