Davecallan.com - SEO Checker

Overview of the SEO Check
Meta information
77% 
Page quality
76% 
Page structure
82% 
Link structure
51% 
Server
91% 
External factors
100% 
SEO Score
Response time
0.39 s
File size
62.80 kB
Words
1969
Media files
2
Number of links
179 internal / 5 external

Task list of SEO Improvements

Meta specifications

Title
(Critically important)
.NET, Visual Studio and Entity Framework blog
The length of the page title is perfect. (419 pixels out of 580 max pixel length)
There are no duplicate words in the title
Meta description
(Critically important)
.NET blog with close to 300 posts on .NET ecosystem topics such as .NET, C#, Entity Framework, SQL Server, Visual Studio and Azure as well as miscellaneous software development topics.
The meta description is too long: 1176 pixels from max. 1000 pixels. Optimize description
Crawlability
(Critically important)
There are no problems in accessing the website.
Canonical URL
(Important)
https://davecallan.com/
There is a valid canonical link specified.
Language
(Somewhat important)
Language detected in text: en
Language defined in HTML: en-us
Server location: United States of America
The following language is defined by HTML: en-us
Alternate/Hreflang Links
(Somewhat important)
There are no alternate links specified on this page.
Other meta tags
(Somewhat important)
There is no rel prev meta tag on this page.
Rel next URL https://davecallan.com/page/2/
The rel next and prev tags are set correctly.
Domain
(Somewhat important)
The domain is no subdomain.
The domain length is good.
The domain does not contain non-latin characters.
Page URL
(Somewhat important)
No parameters were found in the URL.
No session ID was found in the URL.
The URL does not have too many subdirectories.
Charset encoding
(Somewhat important)
The charset encoding (UTF-8) is set correctly.
Doctype
(Nice to have)
The doctype HTML 5 is set correctly.
The doctype is placed at first in the HTML code.
Favicon
(Nice to have)
No favicon is linked in the HTML code.

Meta tags

NameValue
viewportwidth=device-width
robotsindex, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1
description.NET blog with close to 300 posts on .NET ecosystem topics such as .NET, C#, Entity Framework, SQL Server, Visual Studio and Azure as well as miscellaneous software development topics.
generatorWordPress 6.1.5
langen-us
twitter:cardsummary_large_image
og:localeen_US
og:typewebsite
og:title.NET Blog
og:description.NET blog with close to 300 posts on .NET ecosystem topics such as .NET, C#, Entity Framework, SQL Server, Visual Studio and Azure as well as miscellaneous software development topics.
og:urlhttps://davecallan.com/
og:site_name.NET Blog
nexthttps://davecallan.com/page/2/
charsetUTF-8

Test up to 1.000 webpages of davecallan.com with our free plan!

Try For Free
No trial. It's just free!

Page quality

Content
(Critically important)
This page contains 1969 words. That's ok.
28.3% of the text are stop words.
Keywords used in the page title are also used in the page content. That's good!
Words from the H1 heading are used in the page content.
The page contains a listing, which indicates a good text layout.
28 paragraphs were found on this page.
The text content is perfect.
No placeholders texts or images were found.
There are no duplicates on the site.
The average number of words per sentence of 17.62 words is good.
Frames
(Critically important)
This page does not use a frameset.
Mobile optimization
(Somewhat important)
No Apple touch icon is specified.
A viewport "width=device-width" is provided.
This page only loads 3 JavaScript files. That's good!
Bold and strong tags
(Somewhat important)
The usage of strong and bold tags is perfect. We recommend the use of up to 39 tags for this page.
Image SEO
(Somewhat important)
2 images have no alt attribute. The content of alt attributes is used by search engines.
Social Networks
(Nice to have)
There are only a few social sharing widgets on the page. Make your website popular in social networks with social sharing widgets.
Additional markup
(Nice to have)
No additional page markup was found.
HTTPS
(Somewhat important)
This website uses HTTPS to protect privacy and integrity of the exchanged data.
All included files are also transferred via HTTPS.

Media list

URLAlt attributeTitle
data:[...] Base64No alt attribute provided
data:[...] Base64No alt attribute provided

Page structure

H1 heading
(Critically important)
.NET Blog
The H1 heading is too short (9 characters). It should be at least 20 Characters long.
Headings
(Important)
There are 30 headings on the page. The amount of headings should be in a more proper relation to the amount of text.

Heading structure

Heading levelContent
H1 .NET Blog
H2 Dave Callan
H2 Recent Posts
H2 Categories
H2 Please follow me on Twitter and LinkedIn for more .NET content
H2 Return ProblemDetails from ASP.NET 8 IExceptionHandler global exception handler
H2 Setting default global configuration for .NET types in Entity Framework
H2 How to make strings non-Unicode in Entity Framework Code First
H2 Difference between const and readonly in C#
H2 How to auto include navigations in Entity Framework
H2 Entity Framework DB First quick start using EF Core Power Tools
H2 Include sensitive data in Entity Framework logging by setting EnableSensitiveDataLogging
H2 Entity Framework FromSqlInterpolated examples
H2 GitHub examples of .NET method usages visible in Visual Studio from 17.6+
H2 Simple string concatenation using String.Create and other performance sensitive approaches in .NET 8
H2 NuGet 6.7 shows which packages are vulnerable in Visual Studio
H2 New summary diff view to only see changes now available in Visual Studio
H2 Do .NET developers rely too much on third party libraries from NuGet?
H2 Poll Results : Are many .NET devs moving away from Moq after #moqgate?
H2 7 Cognitive biases influencing our software development decisions
H2 Do you use a mocking framework or manually create your mocks?
H2 How to treat all warnings as compile errors in .NET
H2 Share settings across multiple projects using a Directory.Build.props file
H2 Use Target Typed New Expressions to infer type on the right in C# 9 +
H2 Poll Results : What .NET mocking library do you use?
H2 Use params keyword in C# to accept a variable number of arguments of the same type
H2 How to create Parameterized Tests with xUnit
H2 Moq, NSubstitute and FakeItEasy mocking library syntax comparison
H2 Poll Results : Does TDD improve code quality over writing tests after code?
H2 Posts navigation
Some anchor texts are used more than once.
The number of internal links is ok.
None of the anchor texts is too long.
All internal links are not using dynamic parameters.
There are 5 external links on this page.
LinkAttributesAnchor text
https://davecallan.com/Anchor Skip to content
https://davecallan.com/.NET Blog
https://twitter.com/Dave_DotNetNew window External No Text
https://davecallan.com/BACK TO BLOG HOMEPAGE !!!
A-TITLE Return to the home page
/return-problemdetails-aspnet8...Return ProblemDetails from ASP.NET 8 IExceptionHandler global exception handler
/default-global-configuration-...Setting default global configuration for .NET types in Entity Framework
/make-strings-non-unicode-enti...How to make strings non-Unicode in Entity Framework Code First
/difference-between-const-read...Difference between const and readonly in C#
/autoinclude-navigations-entit...How to auto include navigations in Entity Framework
/entity-framework-database-fir...Entity Framework DB First quick start using EF Core Power Tools
/include-sensitive-data-entity...Include sensitive data in Entity Framework logging by setting EnableSensitiveDataLogging
/entity-framework-fromsqlinter...Entity Framework FromSqlInterpolated examples
/github-examples-dotnet-method...GitHub examples of .NET method usages visible in Visual Studio from 17.6+
/performance-sensitive-string-...Simple string concatenation using String.Create and other performance sensitive approaches in .NET 8
/nuget-67-shows-packages-vulne...NuGet 6.7 shows which packages are vulnerable in Visual Studio
/new-summary-diff-view-only-ch...New summary diff view to only see changes now available in Visual Studio
/please-follow-me-on-twitter-a...Please follow me on Twitter and LinkedIn for more .NET content
/dotnet-developers-rely-third-...Do .NET developers rely too much on third party libraries from NuGet?
/dotnet-devs-moving-from-moq-m...Poll Results : Are many .NET devs moving away from Moq after #moqgate?
/7-cognitive-biases-influencin...7 Cognitive biases influencing our software development decisions
/dotnet-mocking-framework-or-m...Do you use a mocking framework or manually create your mocks?
/treat-warnings-as-errors-dotnet/How to treat all warnings as compile errors in .NET
/share-settings-multiple-proje...Share settings across multiple projects using a Directory.Build.props file
/target-typed-new-expressions-...Use Target Typed New Expressions to infer type on the right in C# 9 +
https://davecallan.com/Text duplicate BACK TO BLOG HOMEPAGE !!!
A-TITLE Return to the home page
/category/dotnet/.NET Core Blog
/category/asp-net-mvc/ASP.Net MVC
/category/automapper/Automapper
/category/azure/Azure Blog
/category/benchmarkdotnet/BenchmarkDotNet
/category/csharp/C# Blog
/category/databases/Databases
/category/databases/sql-server/SQL Server Blog
/category/deployment/Deployment
/category/design-patterns/Design Patterns
/category/entity-framework/Entity Framework Blog
/category/eshoponweb/eShopOnWeb
/category/frontend/Frontend
/category/performance-improvem...Performance Improvement
/category/software-architecture/Software Architecture
/category/software-development/Software Development
/category/ssis/SSIS
/category/testing/Testing
/category/visual-studio/Visual Studio Blog
/category/vs-code/VS Code
/category/web-application-secu...Web Application Security
/category/wordpress/WordPress
https://davecallan.com/Text duplicate BACK TO BLOG HOMEPAGE !!!
A-TITLE Return to the home page
/please-follow-me-on-twitter-a...Text duplicate Please follow me on Twitter and LinkedIn for more .NET content
/please-follow-me-on-twitter-a...Continue reading Please follow me on Twitter and LinkedIn for more .NET content
/please-follow-me-on-twitter-a...August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/please-follow-me-on-twitter-a...Anchor Leave a comment on Please follow me on Twitter and LinkedIn for more .NET content
/return-problemdetails-aspnet8...Text duplicate Return ProblemDetails from ASP.NET 8 IExceptionHandler global exception handler
/return-problemdetails-aspnet8...Continue reading Return ProblemDetails from ASP.NET 8 IExceptionHandler global exception handler
/return-problemdetails-aspnet8...March 2, 2024March 2, 2024
/category/asp-net-mvc/Text duplicate ASP.Net MVC
/return-problemdetails-aspnet8...Anchor Leave a comment on Return ProblemDetails from ASP.NET 8 IExceptionHandler global exception handler
/default-global-configuration-...Text duplicate Setting default global configuration for .NET types in Entity Framework
/default-global-configuration-...Continue reading Setting default global configuration for .NET types in Entity Framework
/default-global-configuration-...August 22, 2023August 22, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/default-global-configuration-...Anchor Leave a comment on Setting default global configuration for .NET types in Entity Framework
/make-strings-non-unicode-enti...Text duplicate How to make strings non-Unicode in Entity Framework Code First
/make-strings-non-unicode-enti...Continue reading How to make strings non-Unicode in Entity Framework Code First
/make-strings-non-unicode-enti...August 22, 2023August 24, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/make-strings-non-unicode-enti...Anchor Leave a comment on How to make strings non-Unicode in Entity Framework Code First
/difference-between-const-read...Text duplicate Difference between const and readonly in C#
/difference-between-const-read...Continue reading Difference between const and readonly in C#
/difference-between-const-read...Text duplicate August 22, 2023August 22, 2023
/category/csharp/Text duplicate C# Blog
/difference-between-const-read...Anchor 1 Comment on Difference between const and readonly in C#
/autoinclude-navigations-entit...Text duplicate How to auto include navigations in Entity Framework
/autoinclude-navigations-entit...Continue reading How to auto include navigations in Entity Framework
/autoinclude-navigations-entit...Text duplicate August 22, 2023August 22, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/autoinclude-navigations-entit...Anchor Leave a comment on How to auto include navigations in Entity Framework
/entity-framework-database-fir...Text duplicate Entity Framework DB First quick start using EF Core Power Tools
/entity-framework-database-fir...Continue reading Entity Framework DB First quick start using EF Core Power Tools
/entity-framework-database-fir...August 17, 2023August 19, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/entity-framework-database-fir...Anchor 4 Comments on Entity Framework DB First quick start using EF Core Power Tools
/include-sensitive-data-entity...Text duplicate Include sensitive data in Entity Framework logging by setting EnableSensitiveDataLogging
/include-sensitive-data-entity...Continue reading Include sensitive data in Entity Framework logging by setting EnableSensitiveDataLogging
/include-sensitive-data-entity...August 15, 2023August 15, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/include-sensitive-data-entity...Anchor Leave a comment on Include sensitive data in Entity Framework logging by setting EnableSensitiveDataLogging
/entity-framework-fromsqlinter...Text duplicate Entity Framework FromSqlInterpolated examples
/entity-framework-fromsqlinter...Continue reading Entity Framework FromSqlInterpolated examples
/entity-framework-fromsqlinter...Text duplicate August 15, 2023August 15, 2023
/category/entity-framework/Text duplicate Entity Framework Blog
/entity-framework-fromsqlinter...Anchor Leave a comment on Entity Framework FromSqlInterpolated examples
/github-examples-dotnet-method...Text duplicate GitHub examples of .NET method usages visible in Visual Studio from 17.6+
/github-examples-dotnet-method...Continue reading GitHub examples of .NET method usages visible in Visual Studio from 17.6+
/github-examples-dotnet-method...August 14, 2023August 14, 2023
/category/visual-studio/Text duplicate Visual Studio Blog
/github-examples-dotnet-method...Anchor Leave a comment on GitHub examples of .NET method usages visible in Visual Studio from 17.6+
/performance-sensitive-string-...Text duplicate Simple string concatenation using String.Create and other performance sensitive approaches in .NET 8
/performance-sensitive-string-...Continue reading Simple string concatenation using String.Create and other performance sensitive approaches in .NET 8
/performance-sensitive-string-...August 14, 2023September 14, 2023
/category/dotnet/Text duplicate .NET Core Blog
/performance-sensitive-string-...Anchor Leave a comment on Simple string concatenation using String.Create and other performance sensitive approaches in .NET 8
/nuget-67-shows-packages-vulne...Text duplicate NuGet 6.7 shows which packages are vulnerable in Visual Studio
/nuget-67-shows-packages-vulne...Continue reading NuGet 6.7 shows which packages are vulnerable in Visual Studio
/nuget-67-shows-packages-vulne...Text duplicate August 14, 2023August 14, 2023
/category/visual-studio/Text duplicate Visual Studio Blog
/nuget-67-shows-packages-vulne...Anchor Leave a comment on NuGet 6.7 shows which packages are vulnerable in Visual Studio
/new-summary-diff-view-only-ch...Text duplicate New summary diff view to only see changes now available in Visual Studio
/new-summary-diff-view-only-ch...Continue reading New summary diff view to only see changes now available in Visual Studio
/new-summary-diff-view-only-ch...Text duplicate August 14, 2023August 14, 2023
/category/visual-studio/Text duplicate Visual Studio Blog
/new-summary-diff-view-only-ch...Anchor Leave a comment on New summary diff view to only see changes now available in Visual Studio
/dotnet-developers-rely-third-...Text duplicate Do .NET developers rely too much on third party libraries from NuGet?
/dotnet-developers-rely-third-...Continue reading Do .NET developers rely too much on third party libraries from NuGet?
/dotnet-developers-rely-third-...Text duplicate August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/dotnet-developers-rely-third-...Anchor Leave a comment on Do .NET developers rely too much on third party libraries from NuGet?
/dotnet-devs-moving-from-moq-m...Text duplicate Poll Results : Are many .NET devs moving away from Moq after #moqgate?
/dotnet-devs-moving-from-moq-m...Continue reading Poll Results : Are many .NET devs moving away from Moq after #moqgate?
/dotnet-devs-moving-from-moq-m...Text duplicate August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/dotnet-devs-moving-from-moq-m...Anchor Leave a comment on Poll Results : Are many .NET devs moving away from Moq after #moqgate?
/7-cognitive-biases-influencin...Text duplicate 7 Cognitive biases influencing our software development decisions
/7-cognitive-biases-influencin...Continue reading 7 Cognitive biases influencing our software development decisions
/7-cognitive-biases-influencin...Text duplicate August 13, 2023August 13, 2023
/category/software-development/Text duplicate Software Development
/7-cognitive-biases-influencin...Anchor Leave a comment on 7 Cognitive biases influencing our software development decisions
/dotnet-mocking-framework-or-m...Text duplicate Do you use a mocking framework or manually create your mocks?
/dotnet-mocking-framework-or-m...Continue reading Do you use a mocking framework or manually create your mocks?
/dotnet-mocking-framework-or-m...Text duplicate August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/category/testing/Text duplicate Testing
/dotnet-mocking-framework-or-m...Anchor Leave a comment on Do you use a mocking framework or manually create your mocks?
/treat-warnings-as-errors-dotnet/Text duplicate How to treat all warnings as compile errors in .NET
/treat-warnings-as-errors-dotnet/Continue reading How to treat all warnings as compile errors in .NET
/treat-warnings-as-errors-dotnet/Text duplicate August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/treat-warnings-as-errors-dotnet/Anchor Leave a comment on How to treat all warnings as compile errors in .NET
/share-settings-multiple-proje...Text duplicate Share settings across multiple projects using a Directory.Build.props file
/share-settings-multiple-proje...Continue reading Share settings across multiple projects using a Directory.Build.props file
/share-settings-multiple-proje...Text duplicate August 13, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/share-settings-multiple-proje...Anchor Leave a comment on Share settings across multiple projects using a Directory.Build.props file
/target-typed-new-expressions-...Text duplicate Use Target Typed New Expressions to infer type on the right in C# 9 +
/target-typed-new-expressions-...Continue reading Use Target Typed New Expressions to infer type on the right in C# 9 +
/target-typed-new-expressions-...Text duplicate August 13, 2023August 13, 2023
/category/csharp/Text duplicate C# Blog
/target-typed-new-expressions-...Anchor Leave a comment on Use Target Typed New Expressions to infer type on the right in C# 9 +
/what-dotnet-mocking-library-d...Poll Results : What .NET mocking library do you use?
/what-dotnet-mocking-library-d...Continue reading Poll Results : What .NET mocking library do you use?
/what-dotnet-mocking-library-d...August 12, 2023August 12, 2023
/category/dotnet/Text duplicate .NET Core Blog
/what-dotnet-mocking-library-d...Anchor Leave a comment on Poll Results : What .NET mocking library do you use?
/params-keyword-csharp-accept-...Use params keyword in C# to accept a variable number of arguments of the same type
/params-keyword-csharp-accept-...Continue reading Use params keyword in C# to accept a variable number of arguments of the same type
/params-keyword-csharp-accept-...August 11, 2023August 14, 2023
/category/csharp/Text duplicate C# Blog
/params-keyword-csharp-accept-...Anchor Leave a comment on Use params keyword in C# to accept a variable number of arguments of the same type
/creating-parameterized-tests-...How to create Parameterized Tests with xUnit
/creating-parameterized-tests-...Continue reading How to create Parameterized Tests with xUnit
/creating-parameterized-tests-...August 9, 2023August 13, 2023
/category/dotnet/Text duplicate .NET Core Blog
/category/testing/Text duplicate Testing
/creating-parameterized-tests-...Anchor Leave a comment on How to create Parameterized Tests with xUnit
/dotnet-mocking-library-syntax...Moq, NSubstitute and FakeItEasy mocking library syntax comparison
/dotnet-mocking-library-syntax...Continue reading Moq, NSubstitute and FakeItEasy mocking library syntax comparison
/dotnet-mocking-library-syntax...August 9, 2023August 9, 2023
/category/dotnet/Text duplicate .NET Core Blog
/category/testing/Text duplicate Testing
/dotnet-mocking-library-syntax...Anchor Leave a comment on Moq, NSubstitute and FakeItEasy mocking library syntax comparison
/does-tdd-improve-code-quality...Poll Results : Does TDD improve code quality over writing tests after code?
/does-tdd-improve-code-quality...Continue reading Poll Results : Does TDD improve code quality over writing tests after code?
/does-tdd-improve-code-quality...Text duplicate August 9, 2023August 9, 2023
/category/software-development/Text duplicate Software Development
/category/testing/Text duplicate Testing
/does-tdd-improve-code-quality...Anchor Leave a comment on Poll Results : Does TDD improve code quality over writing tests after code?
https://davecallan.com/page/2/Page 2
https://davecallan.com/page/18/Page 18
https://davecallan.com/page/2/Next page
https://wordpress.org/External Proudly powered by WordPress
https://dotnet.microsoft.com/e...New window External Subdomain .NET
https://devblogs.microsoft.com...New window External Subdomain Text duplicate .NET Blog
https://devblogs.microsoft.com...New window External Subdomain Text duplicate Visual Studio Blog

Server configuration

HTTP redirects
(Critically important)
This page redirects to "https://davecallan.com/"
HTTP header
(Important)
The X-powered header is sent within the response header. (unnecessary)
This page uses GZip for compressed data transmission.
Performance
(Somewhat important)
The page response time is excellent with 0.39 seconds.
This page only loads 2 CSS files. That's ok.
This page only loads 3 JavaScript files. That's good!
The file size of the HTML document is fine (63 kB).

HTTP Response Header

NameValue
dateTue, 02 Jul 2024 06:02:48 GMT
serverApache
x-powered-byPHP/7.4.33
varyAccept-Encoding,Cookie
cache-controlmax-age=3, must-revalidate
content-encodinggzip
x-server3275
content-length9338
last-modifiedSat, 02 Mar 2024 10:33:24 GMT
content-typetext/html; charset=UTF-8
statuscode200
http_versionHTTP/1.1

External factors

Blacklists
(Nice to have)
This website is not classified "for adult only".
This website has excellent links from other websites.
This page has backlinks from 154 referring domains.
This page has 933 backlinks.
This page has backlinks from 93 different ip addresses.
Facebook popularity
(Somewhat important)
The page has 0 shares and comments on Facebook.

Links from Wikipedia

No links from Wikipedia were found.

Search preview

davecallan.com
.NET, Visual Studio and Entity Framework blog
.NET blog with close to 300 posts on .NET ecosystem topics such as .NET, C#, Entity Framework, SQL Server, Visual Studio and Azure as well as miscellaneous software development topics.

Most important keywords

Following keywords were found. You can check the keyword optimization of this page for each keyword.

KeywordResultRecheck
NET82%Check
Blog72%Check
Entity Framework Blog70%Check
Entity66%Check
Visual66%Check
Studio66%Check
Entity Framework66%Check
Visual Studio66%Check
Framework65%Check
Visual Studio 202258%Check

Test up to 1.000 webpages of davecallan.com with our free plan!

Try For Free
No trial. It's just free!

Cookie Policy

We use cookies to make our site work and also for analytics and advertising purposes. You can enable or disable optional cookies as desired. See the following links for more information.

We need these so the site can function properly

So we can better understand how visitors use our website

So we can serve you tailored ads and promotions