what does the rendered meta data look like? is there supposed to be a difference between the if and the else?
Ah - I think where you have post.image you need to have page.image. There is no post object, though you frequently see people use post as the thing in a for loop, I prefer item so it is more obvious.
ah - I see now that your if / else is testing both page.image and post.image.
some of your urls have localhost in them - though not this particular one. Not sure what is wrong, though like @SidV says, you have some other issues that need some work, maybe they are related.