First troubleshooting step - what happens when you fetch the page as Twitterbot?
$ curl -v -A Twitterbot -L http://thegrio.com/2017/10/03/beyonce-apartment-manhattan
* Trying 23.111.131.106...
* TCP_NODELAY set
* Connected to thegrio.com (23.111.131.106) port 80 (#0)
> GET /2017/10/03/beyonce-apartment-manhattan HTTP/1.1
> Host: thegrio.com
> User-Agent: Twitterbot
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< X-Powered-By: PHP/5.6.31
< Content-Type: text/html; charset=UTF-8
< Location: http://thegrio.com/2017/10/03/beyonce-apartment-manhattan/
< X-LiteSpeed-Cache: hit
< Content-Length: 0
< Date: Tue, 03 Oct 2017 18:35:54 GMT
< Accept-Ranges: bytes
< Server: LiteSpeed
< X-Powered-By: PleskLin
< Connection: close
<
* Closing connection 0
* Issue another request to this URL: 'http://thegrio.com/2017/10/03/beyonce-apartment-manhattan/'
* Hostname thegrio.com was found in DNS cache
* Trying 23.111.131.106...
* TCP_NODELAY set
* Connected to thegrio.com (23.111.131.106) port 80 (#1)
> GET /2017/10/03/beyonce-apartment-manhattan/ HTTP/1.1
> Host: thegrio.com
> User-Agent: Twitterbot
> Accept: */*
>
^[[A< HTTP/1.1 500 Internal Server Error
< X-Powered-By: PHP/5.6.31
< Content-Type: text/html; charset=UTF-8
< Link: <http://thegrio.com/wp-json/>; rel="https://api.w.org/"
< Link: <http://thegrio.com/?p=340522>; rel=shortlink
< X-LiteSpeed-Cache: hit
< Transfer-Encoding: chunked
< Date: Tue, 03 Oct 2017 18:35:55 GMT
< Accept-Ranges: bytes
< Server: LiteSpeed
< X-Powered-By: PleskLin
< Connection: close
<
Looks like that HTTP/1.1 500 Internal Server Error will be your issue. I can only assume something changed with your hosting, if this worked previously.