Why is my Twitter Player Card being rejected if it passes the Twitter Card Validator?


#1

Hello all,

I recently added the Twitter Player Card meta tags to a page on a site we are building and the page passes the Card Validator (https://dev.twitter.com/docs/cards/validation/validator) and passes all tests listed on the Testing Your Card page (https://dev.twitter.com/docs/cards/types/player-card#Testing_your_Card), but when I submitted the card for approval the rejection response was the following from the Twitter Support team.

• Test your experience across all Twitter clients, including Twitter’s iPhone and Android apps, as well as twitter.com and mobile.twitter.com. Cards that do not work in all Twitter clients listed will not be approved. Your Card loads on desktop, but it contains content that is restricted from loading on iPhone and Android.
• Testing instructions are available here: https://dev.twitter.com/docs/cards/types/player-card#Testing_your_Card

As you can see below, the Player Card meta information below just uses a YouTube embed source which is a widely used and accepted player for Twitter Player cards. I’ve changed the actual content below with sample content to keep our client private.

<meta name="twitter:card" content="player">
<meta name="twitter:domain" content="http://qa.somedomain.com">
<meta name="twitter:site" content="@someHandle">
<meta name="twitter:player" content="https://youtube.com/embed/m86ae_e_ptU">
<meta name="twitter:image:src" content="http://img.youtube.com/vi/m86ae_e_ptU/hqdefault.jpg">
<meta name="twitter:player:width" content="435">
<meta name="twitter:player:height" content="251">
<meta name="twitter:title" content="Some Title">
<meta name="twitter:url" content="http://qa.somedomain.com/videos-photos/share_media/893/461">

The are a few things I can think of that may be causing this rejection but I don’t know for certain if any of them are actually an issue.

  1. The dev / qa environments we have set up and are attempting to have approval on our Twitter Player card on are restricted by IP Address. I’ve whitelisted all of the IP addresses indicated by Twitter (https://dev.twitter.com/docs/cards/troubleshooting#Card_Validator) and updated the robots.txt file to allow access to crawl the site per the instructions (https://dev.twitter.com/docs/cards/getting-started). I really don’t think this is the issue as I haven’t had any problems with the approval on a Photo card or a Summary with Large Image card on the same site. It does appear as though the approval process for the Player card is more manual than the Photo or Summary with Large Image card is those approvals are pretty instantaneous while the Player card approval takes a while.

  2. Is it possible that I am unable to use a YouTube embed as my twitter:player ? The YouTube account the video is from is my clients YouTube account and videos are enabled for embedding. Maybe this is an issue with the domain in their YouTube account not matching within my clients domain or my test server domain.

  3. Does the twitter:image:src need to be changed to an https:// location?

  4. The twitter:player:stream tag is optional, but would adding this address this rejection?

Any help would be greatly appreciated.

Best,
Rob


#2

Hi Rob, the first thing I would try is simply removing the twitter:domain tag. This is no longer required. I believe the problem though is that YouTube doesn’t have a robots.txt file on their image server (http://img.youtube.com/) and returning a 404 for a robots.txt is a cause of automatic rejection as it assumes a placeholder image cannot be retrieved.

I would suggest using an image on your own domain for at least the validation process. I’m pretty sure YouTube images will work though once your card validates if you want to switch it back. Running the card through the validator a second time after being approved will clear the card cache and use the updated tags.


#3

Hi Jon,
Thank you for the follow up information. After following your recommendation to remove the twitter:domain tag and change the image src to an image on our domain, the validator no longer validates the player card successfully. Instead we are provided an error. “Server error, please try again.” I’m guessing this is because we removed the twitter:domain tag. As a next step we will try adding that back in to see if the card will pass validation. Do you happen to know if the card validator has a check for a valid twitter:domain tag?
Rob


#4

Yes, there is a pattern check to make sure it’s a valid URL (e.g. starts with http or https, does not include odd characters, etc). If you’re not sure if your domain value would be valid, please feel free to reply with a similar or example URL for me to confirm.