Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
5 posts found
What Is Structured Data? Schema.org, JSON-LD and What Google Actually Does with It
SEO & GEO PART 01

What Is Structured Data? Schema.org, JSON-LD and What Google Actually Does with It

Structured data means telling machines explicitly what a page is about, using the schema.org vocabulary and a syntax such as JSON-LD; Google uses it to understand pages and for rich result eligibility, but markup neither guarantees rich results nor is presented as a ranking factor. We write the same data in Microdata, RDFa and JSON-LD, dump the entity graph of a Bookstore page with .NET 10 and look at consumers beyond Google.

14 Nov 2026 12 min 6
JSON-LD Syntax and Safe Generation: @context, @type, @id, @graph in ASP.NET Core and Angular SSR
SEO & GEO PART 02

JSON-LD Syntax and Safe Generation: @context, @type, @id, @graph in ASP.NET Core and Angular SSR

The rule for generating JSON-LD safely is to write text with JSON's own \u003C escape and put it on the page as a single @graph; UnsafeRelaxedJsonEscaping plus Html.Raw lets a </script> in a headline split the page and open the door to XSS. We look at @context, @type, @id and @graph, typed records in ASP.NET Core 10, the ScriptTagHelper detail that arrived with .NET 9, and duplicate scripts and silent data corruption in Angular 22 SSR, all with real output.

14 Nov 2026 15 min 7
BlogPosting, BreadcrumbList and the Author Entity: Building an Entity Graph with Person, ProfilePage, Organization and WebSite
SEO & GEO PART 03

BlogPosting, BreadcrumbList and the Author Entity: Building an Entity Graph with Person, ProfilePage, Organization and WebSite

A tech blog's structured data is a BlogPosting linked to a Person, Organization and WebSite that each have a single @id on the site, plus a BreadcrumbList with the right URLs for each language. We show Google's Article, Breadcrumb and ProfilePage recommendations, honest use of dateModified and how the graph resolves in the Schema Markup Validator with .NET 10, and audit mertozen.com's live output.

14 Nov 2026 11 min 4
Other Types and Retired Rich Results: VideoObject, SoftwareApplication, Speakable and the Story of FAQ and HowTo
SEO & GEO PART 04

Other Types and Retired Rich Results: VideoObject, SoftwareApplication, Speakable and the Story of FAQ and HowTo

VideoObject is a candidate for video features only on a watch page focused on a single video, SoftwareApplication produces no rich result without a rating or review, and speakable is still an English, news-focused beta. We take the dates of the rich results retired between 2023 and 2026, from HowTo to FAQ, from Google's changelog, and discuss whether retired markup has to be deleted and what it means for mertozen.com, with .NET 10 examples.

14 Nov 2026 10 min 6
Testing and Monitoring Structured Data: Rich Results Test, Schema Markup Validator, Search Console and Automated CI Checks
SEO & GEO PART 05

Testing and Monitoring Structured Data: Rich Results Test, Schema Markup Validator, Search Console and Automated CI Checks

The Rich Results Test checks eligibility for Google's rich results and the Schema Markup Validator checks schema.org validity, but only tests that run on every build catch regressions. We cover URL Inspection and Search Console reports, JSON-LD tests with xUnit and WebApplicationFactory, Playwright checks for Angular SSR and post-deploy smoke tests, with real passing and failing output.

14 Nov 2026 13 min 7
Blog Map