In the whirlwind that is modern web development, I thought it would be a great idea to revisit one of the fundamental parts that make the...HTML Web
Picture a scenario where you want to page a large dataset and your LINQ statement has several Include-calls. The first few pages load fai....NET SQL Server LINQ
Setting up a local server comes in many flavours today. My goto was the Apache vhost.conf/hosts combo, now to load something quickly - Gu...gulp
[Hacktoberfest 2017][hacktoberfest] is upon us and now is a great opportunity to contribute to open source and the community as a whole. ...OSS
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
Update October 17, 2017 This doesn’t work with environment deployments, as this needs to run after the deployment has completed. See htt...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
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.