Automattic / jetpack

Security, performance, marketing, and design tools — Jetpack is made by WordPress experts to make WP sites safer and faster, and help you grow your traffic.
https://jetpack.com/
Other
1.58k stars 798 forks source link

Jetpack Publicize and qTranslate-X #2195

Open richterd opened 9 years ago

richterd commented 9 years ago

Hi, we are using Jetpack Publicize together with the translation plugin qTranslate-X on Wordpress (all in the current versions of 1st of June, 2015). With some minor tweaks, the setup works fine beside one issue, that seems to be unresolvable. So let me first describe how everything works together: qTranslate-X uses "Shortcode-Styled" markers for the languages, e.g. [:en]English Text[:de]German Text[:]. A hook is then used to filter the content depending on the requested language. This works fine when requesting the content via http. Nevertheless, Facebook seems to get the content of the page from somewhere else after publishing the post in our wordpress backend (not wordpress.com). What happens is, that Facebook always displays the language tags in the content area of the facebook post. My first thought was, that wordpress.com uses the JSON-API to get the content from our page. But when I requested the post content via API (https://public-api.wordpress.com/rest/v1.1/sites/$site/posts/$post), the content field in the JSON only displayed the English version (which is good, but does not explain why Facebook shows the language tags). Furthermore, when reading through the posts on wordpress.com, everything is displayed correctly, without the language tags, and only in the default language. I already read through many other issues where people complained about shortcodes showing up, and I think that this falls into the same category of issue.

I would like to see a filter which can be used to filter the content before it is send to wordpress.com.

Furthermore, if anyone has an idea of how wordpress.com and Facebook receive the content of the newly published posts (and especially how Facebook gets the raw content of the post with all the tags in it) and would share it with me, I would be very thankful.

Best regards, Daniel

georgestephanis commented 9 years ago

Do you have a URL to your site? My suspicion is that Facebook is pulling from OG tags embedded in your page, that you should be able to fix yourself as-is, I'd just need to see the source to verify.

Alternately, please feel free to contact support directly at jetpack.me/contact-support

jeherve commented 9 years ago

I already read through many other issues where people complained about shortcodes showing up, and I think that this falls into the same category of issue.

Possibly related: #869

richterd commented 9 years ago

Do you have a URL to your site? My suspicion is that Facebook is pulling from OG tags embedded in your page, that you should be able to fix yourself as-is, I'd just need to see the source to verify.

Thanks for the reply. The OG tags are not the source of the problem. One of the first things I did was trying to post one of the wordpress entries manually in Facebook. This works fine. Furthermore, I used https://developers.facebook.com/tools/debug/ to check what content Facebook crawls. This looks fine, too. A post example can be found here: https://www.hyve.net/presenting-icaros/

georgestephanis commented 9 years ago

Aha, so you're talking about the automatic submission to social networks through Publicize, not sharing by visitors.

Have you tried the option to customize the message when publishing/publicizing a post?

richterd commented 9 years ago

We already customized the post message. (One of the tweaks I mentioned above). But the problem still is, that Facebook seems to get additional content which is displayed. Here you can find the example Facebook post: https://www.dropbox.com/s/05t2uwtd6blfi2a/HYVEFacebookPost.PNG?raw=1 As you can see, the content includes the language tags. From time to time, even the title (below the image, not the post message above the image) includes those language tags. I wonder where Facebook gets this raw data from...

kraftbj commented 9 years ago

The raw data in that view is typically from the OG tags. It looks like your site isn't producing og:description tags at all (currently falling back to the meta description tag). The screenshot, I noticed, is from the 21st.

Is this problem still occurring on new posts?

richterd commented 9 years ago

Yes the problem is still occurring. Based on your answer, I don't understand why manually adding the post to facebook (just copy pasting the link into a facebook status update and wating for facebook to crawl the page) works fine, while using publicize to post the content does lead to unwanted language tags.

kraftbj commented 9 years ago

Reading through the code, it looks like there is a difference on how we handle this for Facebook Pages vs Profiles.

@justinshreve or @codebykat, care to take a gander? I'm looking at submission function of the lib/publicize/connections/facebook . I'm not familiar enough to know why pages would include us sending the title up when otherwise we wouldn't.

richterd commented 9 years ago

Hey, can I somehow support the process of debugging? Would be great to be involved and to fix the problem as fast as possible. Greetings

kraftbj commented 9 years ago

Quick status update: The team on Publicize is on it and will respond here with additional information.

jkudish commented 9 years ago

Hi there,

When a post is published on a Jetpack site, we sync the content created to WordPress.com servers in order to be able to send that information to external services like Facebook. The post content received on WordPress.com is currently unaware of qTranslate and thus doesn't interpret the tags. We have some possible solutions for the issue, and will work on implementing them. Sorry for the trouble!

arvineslami86 commented 9 years ago

Hello everyone, thank you for working on it! Any news? Me too, I'm available for debugging if needed.

kraftbj commented 9 years ago

There is a larger project on the roadmap that would improve how things are synced to us that would help resolve this in a very nice way, but since that is further down the line, there is an open question on if there is an efficient way to specifically improve what you're seeing.

Thanks everyone for your patience!

(Note: If we opt not for the temporary solution, close this in deference to #869)

richardmtl commented 8 years ago

This came up in 2343004-t

jeherve commented 8 years ago

Also reported here: https://wordpress.org/support/topic/edit-content-in-publicize-to-google?replies=1&view=all

richardmtl commented 8 years ago

Again in 2740362-t

pmciano commented 7 years ago

Reported here 3136898-t

gserafini commented 7 years ago

Any updates on this issue? Much appreciated.

claudiolardo commented 6 years ago

Hello Everybody! Any news on this topic? I am using Jetpack Publicize and qTranslate-X and am experiencing exactly the same problem which seems to be still unresolved since 2015... :-O Ciao C

jeherve commented 6 years ago

No updates yet, but we will update this issue whenever we make progress on this.

jamesjacko commented 6 years ago

Hi Guys,

Is there any news on this. I would like to continue using qTranslate-X but this issue is leaving me with no choice but to go to another multi language plugin.

J

arvineslami86 commented 6 years ago

Yeah same here, it doesn't look like going anywhere. We should give up I guess.

stale[bot] commented 6 years ago

This issue has been marked as stale. This happened because:

No further action is needed. But it's worth checking if this ticket has clear reproduction steps and it is still reproducible. Feel free to close this issue if you think it's not valid anymore — if you do, please add a brief explanation.

gserafini commented 6 years ago

This is still an ongoing issue. If anyone with the Jetpack team has a workaround that would be great (i.e. something like, oh, here's the filter that would let you manually remove the [:en] bit from the post before Jetpack Publicize sends it out into the world.) Or else just address this particular bug... 3 years and counting (anything we can do to help move things along on it?)

stale[bot] commented 5 years ago

This issue has been marked as stale. This happened because:

No further action is needed. But it's worth checking if this ticket has clear reproduction steps and it is still reproducible. Feel free to close this issue if you think it's not valid anymore — if you do, please add a brief explanation.

claudiolardo commented 5 years ago

Hello Everybody. It seems the bug is still there. Any news? Ciao C

stale[bot] commented 5 years ago

This issue has been marked as stale. This happened because:

No further action is needed. But it's worth checking if this ticket has clear reproduction steps and it is still reproducible. Feel free to close this issue if you think it's not valid anymore — if you do, please add a brief explanation.

gserafini commented 5 years ago

4 years later, still a bug. Hi @automattic team, any love for this one? Every time posts get shared to Facebook, we have to manually edit out the [en] shortcode text that gets included with the post. Would be fantastic to either get the core issue resolved entirely, or a work-around solution / filter / something? Something other than stopping using Jetpack?

jeherve commented 5 years ago

Would be fantastic to either get the core issue resolved entirely, or a work-around solution / filter / something? Something other than stopping using Jetpack?

Since those qTranslate-X tags are not regular shortcodes, and can be used in multiple languages, it makes it hard to fix this properly on our end. It would be easier to fix from within qTranslate-X as the translated posts are being created, via one of the filters Jetpack offers to customize the custom messages from Publicize or by customizing the post meta that is used to create the message (here is an example). Unfortunately it doesn't look like qTranslate-X is maintained anymore, so that probably won't happen: https://wordpress.org/plugins/qtranslate-x/

jurgen-74 commented 4 years ago

Hi Jeherve, would it be a good idea to contact the developers of qtranslate-xt? https://github.com/qtranslate/qtranslate-xt They are actively developing the plugin again for a while now. Maybe you can solve this issue together? Regards, Jurgen

jeherve commented 4 years ago

would it be a good idea to contact the developers of qtranslate-xt?

Sure thing. cc @herrvigg who seems to be maintaining qtranslate-xt right now.

jurgen-74 commented 4 years ago

We are living in May 2020 now.... Any progress? The integration with between qtranslate-xt and Jetpack publicize is still very ugly. I wish Icould help but am not smart enough with this kind of stuff :(

herrvigg commented 4 years ago

Yes i'm aware it's still problematic but sorry no one worked on that. In my list of priorities it's quite low and there is still some work to prepare to transform qTranslate-XT to a real new plugin which could be an incentive for Jetpack to justify why to work on this. But i know there is a need and many users would surely like something better.

On a purely technical side, we could already start to discuss better where to go. The main question is the API or how Jetpack Publicize extracts the data (post title, content, excerpt or anything else). In qTranslate-XT we store the multi-lingual content in the basic fields, by opposition to other plugins (which split the value through different posts and fields - there are pros and cons in both solutions). But for publishing, taking the raw multilingual value is for sure going to be ugly. I know there is the possibility to override the text value in the "Publish / Publicize" box but it's certainly not solving everything.

The question is what should Publicize use and how would they understand which language to choose. In any case, Jetpack should not use the raw value from the DB directly and has to involve qTranslate-XT either through a hook (filter/action) or maybe through the REST API somehow but i don't know yet the details from the caller side. Maybe @jeherve has also some ideas how to deal with it.

jeherve commented 4 years ago

Jetpack should not use the raw value from the DB directly and has to involve qTranslate-XT either through a hook (filter/action) or maybe through the REST API somehow but i don't know yet the details from the caller side.

cc @mdbitz. Do we have a filter a third-party plugin could use to filter post titles before they get synced with WordPress.com? If not, would a new filter in filter_post_content_and_add_links help?

jurgen-74 commented 4 years ago

Not to blur the nice conversation between you two... But do you know how Facebook works with this? Facebook just picks out the right content when I share either Dutch or English. Or is this totally unrelated with the issue?

jeherve commented 4 years ago

But do you know how Facebook works with this? Facebook just picks out the right content when I share either Dutch or English. Or is this totally unrelated with the issue?

When sharing a post manually, Facebook crawls your post and looks for Open Graph Meta Tags in the post's source code. If the tool you use to add those tags to your site is compatible with qtranslate-xt, it should work.

jurgen-74 commented 4 years ago

Okay, clear. Thanks for the explaination.

herrvigg commented 4 years ago

I've been using Facebook but i made my own handler for Open Graph Meta tags in my website, not in qTranslate-XT. Maybe something could be done but it's quite complex as there are many possible third-party plugins that could also alter those.

Concerning Jetpack Publicize yes if there is an available filter allowing to handle those translations between site DB and WordPress.com we could definitely use it.

github-actions[bot] commented 3 years ago

This issue has been marked as stale. This happened because:

No further action is needed. But it's worth checking if this ticket has clear reproduction steps and it is still reproducible. Feel free to close this issue if you think it's not valid anymore — if you do, please add a brief explanation.