No Image: Streetview Static Image URL for summary_large_image tag


#1

Hi, I am facing some card trouble. We use static thumbnail generated from Google Streetview API for the thumbnail image. This image URL is created alright. However both in Card Preview as well as on the posts this image does not show up. Are there any domain restrictions on the Card Image? Does it have to be from same domain? Will be great if someone can take a look at my meta tags and suggest a solution.

Problem URL : http://walkinto.in/tour/gyfpkJVvuexJxM6J1VDdx
Expected Card Image (twitter:image:src): Streetview Static API Image | I am using cache busting here.

Thanks
Boni Gopalan
CTO, walkinto.in


#2

As you can see when using the Card Validator tool, the Error you get is:

ERROR: Blocked by robots.txt (twitter:image:src)

This means that access to the image is blocked by a robots.txt, and if you look at the maps.googleapis.com robots.txt file, you can see that it disallows all / with some exceptions, but those do not apply to the endpoint you are using. So the best way to get around this would be to download the image to your server and use that URL instead.


#3

Thank you. That error message in fact started appearing after I did some more experimentation with the META tags. (Added a Photo Card to see what happens). So, that solves the mystery. Thank you. I will probably have to write a small proxy. How does twitter treat a REDIRECT while fetching cards? What I mean is say I put in a server api

/proxy?url=‘ENCODED_IMAGE_URL_GROM_GOOGLE_MAPS’

and this API just does a redirect, will the twitter robot still come to play?

The same url endpoint works fine for facebook & G+. Probably because it fetches the image from browser and not from a server BOT?


#4

The robots.txt will probably most likely still be a problem then, as a redirect doesn’t really change much. Yeah FB and G+ seem to ignore the robots.txt (it could be argued if this is good or not).


#5

Yes. You were absolutely right. I was over optimistic with my REDIRECT hack. But no, as expected it did not work. So implemented the real pipe. Now that I have done that API it will be but prudent for me to implement a cache so that every time request does not make a trip to Google!