TL;DR Using ExecuteReader against SQL Server with a query using for xml or for json causes data to be chunked. A single call to ExecuteR....NET .NET Core 2.0 JSON XML SQL Server
At Ritter Insurance Marketing, we continue to invest heavily in Web APIs primarily built on top of ASP.NET Web API 2. To supplement our A...asp.net WebAPI REST
If you CSS, you’re familiar with the browser -prefix. Chrome and Safari have -webkit, -moz for Firefox/Mozilla, and -ms for Edge. As brow...css
We decided not to use Material Design (#reasons) while re-developing our core application suite, although i really miss MD’s micro-intera...UI Sass Semantic UI
Sometimes it’s useful to ensure a project works with multiple versions of runtimes. In the following example, multiple versions of Node.j...AppVeyor
For ASP.NET applications it can be useful to make a request to an application immediately after deployment to bring the application onlin...AppVeyor
https://xkcd.com/1597/ While I generally don’t do that, here’s what I currently do: Setting up a repository locally Using Stuntman as...GitHub
As a team empowered by .NET open source, we’ve always been sensitive to the people, projects, and conferences that make the .NET communit...conference oss team
Previously, I wrote about Publishing to npm Using AppVeyor. This is a similar post, but specifically geared toward publishing an npm pack...AppVeyor npm MyGet
Stuntman is an open source library we developed at RIMdev to make testing user scenarios easier during development time. There are times ...Windows Azure Azure Stuntman OSS
Typically, running a Jekyll site locally for the first time requires a basic knowledge of using the command line. It usually involves a f...jekyll
A picture is worth a thousand words, so I assume a diagram is worth a billion words. Expressing our ideas is important and our blog is an...Jekyll
Before claiming we are in a Renaissance or that it is time for one, we should take the time to understand the meaning of the word and its....NET Community OSS
AppVeyor does not currently provide built-in support for publishing to npm (at least, currently). Instead, we can provide the npm token a...AppVeyor npm
At RIMdev, we are attempting to layer Hypermedia concepts into our APIs. One of these concepts is to have a collection of links to relate...Web API ASP.NET
Transcript Hello my name is Khalid Abuhakmeh and in this video I’ll be presenting an ASP.NET OWIN middleware library designed to eas...video stuntman OSS
TL;DR use the Facebook Open Graph Debugger to refresh the scraping cache.
In 2016, a successful site must have a strong social media strategy. The best sites to promote our professional content include Facebook, Twitter, LinkedIn, and Google+. The best kind of promotion comes from our readers, traditionally known as “word of mouth”. Providing share buttons enables visitors to easily share with their social networks.
Here is an example of share buttons on a recent site.
You will also find them on this post, so please use them. We always appreciate sharing.
When we tested the share buttons, we saw our 404 page as the preview. Note the title of “Something went wrong?” in the preview. No matter what we tried to do, we could not get Facebook to refresh the preview.
It felt like Facebook was caching our Open Graph metadata and was not refreshing. That is when we realized there was an Open Graph debugger.
Note that Time Scraped, in the screenshot, was 18 hours ago. By pressing the button Scrape Again, you ask Facebook to get the latest version of your page. Now let’s see what the preview looks like.
In our case, there are two reasons this behavior happened.
The outcome is rooted in Facebook’s aggressive caching strategy. Remember, they are Facebook, servicing billions of individuals.
SEO and promotion are important. Leveraging existing social networks is critical for promotion, but expect to make mistakes. By utilizing powerful debugging tools, we get a more accurate sharing experience and more readers.
If you know of any other great SEO debugging tools, we’d love to hear about them in the comments.