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 SEO Infrastructure
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.

196
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.

211
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.

201
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.

182
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.

197
laravel-robots-txt-sitemap-canonical-production-seo-checklist-cover.png
Laravel

Laravel robots.txt, Sitemap, and Canonical URLs: My Production SEO Checklist

In ICanUp, robots.txt, sitemap, and canonical URLs were implemented at different stages, but in production they need to describe the same public URL contract. This is the checklist I now use to verify crawl rules, sitemap eligibility, canonical identity, localization, raw HTML, and HTTP responses after deployment.

183
reusable-laravel-seo-architecture-posts-pages-postseries-cover (1).png
Laravel

Reusable Laravel SEO Architecture for Posts, Pages and PostSeries

SEO in ICanUp started with Posts, but once Pages and PostSeries became full public entities, duplicating meta titles, descriptions, Open Graph, fallbacks, canonical URLs, and hreflang rules across modules became risky. This article explains the reusable SEO layer, localized metadata, polymorphic integration, entity-specific fallbacks, and why shared SEO persistence does not mean identical SEO behavior for every model.

135