If an image is not explicitly provided in the SEO tab of ExpressionEngine's content, Facebook will try and find an image to display when you share a link. Most of the time, this works out fine, but sometimes it picks an image we don't want to use. We must first make a change in ExpressionEngine, and then tell Facebook to re-scrape the url.
ExpressionEngine...
- Log in to ExpressionEngine and edit the page in question.
Click the "SEO" tab.
- Click the "Add File" button for "SEO Image". Technically, we can do it for "Facebook OpenGraph Image", but unless we want a separate image for Facebook and Twitter, it's easiest to just upload it to "SEO Image" and let that cascade down to both.
- Select or upload an image and save the page.
ExpressionEngine now has an image to create the appropriate OpenGraph data for Facebook.
Facebook...
- Open an internet browser and navigate to https://developers.facebook.com/tools/debug/
- Make sure the "Sharing Debugger" tab is selected (it should be selected by default).
- Enter the URL in question in the text box and click "Debug".
- In the "When and how we last scraped the URL" section, there should be a button labeled "Scrape Again". Click that button.
- Facebook should instantly re-scrape the page and show you what link will look like the next time it is shared.
Note: If a link was posted to Facebook before these steps were completed, that link may need to be removed from that person's Facebook account and be re-shared.