Laravel SEO Infrastructure

A practical series about Laravel SEO infrastructure based on real ICanUp cases: IndexNow, sitemaps, localized URLs, lastmod, indexing signals, and the less obvious edge cases that appear in a real multilingual project.

laravel-indexnow-submit-urls-bing-automatically.png
Laravel

Laravel IndexNow: Automatically Submit New and Updated Pages to Bing

I did not want to notify Bing manually every time I published or updated a page on ICanUp. I integrated IndexNow into Laravel with a key endpoint, HTTP client, queued submission job, localized URL generation for posts, pages and categories, deduplication, and tests.

39
laravel-x-default-hreflang-default-locale-cover.png
Laravel

Laravel x-default hreflang: What I Actually Did for the Default Locale

In a multilingual Laravel project, x-default can easily look like another language version. In ICanUp, I use it differently: x-default points to the default locale URL. I walk through the real HreflangService, its relationship with canonical URLs, and the edge cases across different content types.

25
laravel-blogposting-jsonld-author-canonical-localized-metadata-main.png
Laravel

Laravel JSON-LD BlogPosting: Author, Canonical URL, and Localized Metadata

In ICanUp, BlogPosting JSON-LD connects an article not only to its SEO metadata but also to a real author entity. I show how I represent the author as a Person, keep structured data aligned with the canonical URL and localized metadata, and render it directly in the SSR HTML.

31
laravel-breadcrumblist-json-ld-real-blog-cover.png
Laravel

Laravel BreadcrumbList JSON-LD in a Real Blog

In ICanUp, visible breadcrumbs and BreadcrumbList JSON-LD describe the same page hierarchy. I show how I connect navigation with structured data, generate sequential positions, use localized canonical URLs, and avoid creating a separate SEO hierarchy on top of application breadcrumbs.

23
laravel-open-graph-inertia-ssr-linkedin-telegram-preview-cover.png
Inertia.js

Laravel Open Graph + Inertia SSR: Why LinkedIn Preview Behaved Differently from Telegram

In ICanUp, Telegram already showed the Post cover, title, and description correctly, while LinkedIn produced an incomplete or incorrect preview. I audited the server-rendered Open Graph tags, the LinkedInBot response, image URL and metadata, duplicate head tags, and platform caching. The case showed why a preview working in one messenger does not prove the social metadata contract is complete.

6