SEO-інфраструктура Laravel

Практична серія про SEO infrastructure у Laravel на прикладі ICanUp: IndexNow, sitemap, localized URLs, lastmod, indexing signals і неочевидні edge cases, які з’являються в реальному multilingual проєкті.

laravel-indexnow-submit-urls-bing-automatically.png
Ларавель

Laravel IndexNow: автоматична відправка нових і оновлених сторінок у Bing

Я не хотіла вручну повідомляти Bing про кожну нову або оновлену сторінку ICanUp. Тому інтегрувала IndexNow у Laravel: key endpoint, HTTP client, queue job, генерацію URL для постів, сторінок і категорій, локалізації, deduplication та tests.

39
laravel-sitemap-lastmod-multilingual-urls.png
Ларавель

Laravel Sitemap lastmod і переклади: коли updated_at не показує реальну дату зміни сторінки

Під час роботи із sitemap я помітила неочевидну проблему: public page могла змінитися через translation table, але updated_at основної моделі залишався старим. Розбираю, як я перевірила цей кейс і як визначила правильний lastmod для локалізованих сторінок.

41
laravel-hreflang-canonical-multilingual-urls.png
Ларавель

Laravel hreflang і canonical URLs: SEO для мультимовних сторінок без дублів

У мультимовному Laravel-проєкті недостатньо просто мати окремі UK та EN URLs. Розбираю, як я налаштувала canonical і hreflang у ICanUp, зв’язала мовні версії сторінок, додала x-default і перевірила, щоб search engines не сприймали localized pages як дублікати.

41
laravel-x-default-hreflang-default-locale-cover.png
Ларавель

Laravel x-default hreflang: що саме я зробила для default locale

У multilingual Laravel-проєкті x-default легко сприйняти як ще одну мовну версію сторінки. У ICanUp я використовую його інакше: x-default вказує на URL default locale. Розбираю реальний HreflangService, зв’язок із canonical та edge cases для різних content types.

26
laravel-blogposting-jsonld-author-canonical-localized-metadata-main.png
Ларавель

Laravel JSON-LD BlogPosting: author, canonical і localized metadata

У ICanUp JSON-LD BlogPosting пов’язує статтю не тільки з SEO metadata, а й з реальною author entity. Показую, як я представила автора як Person, узгодила structured data з canonical URL і localized metadata та чому JSON-LD має рендеритися одразу в SSR HTML.

32
laravel-breadcrumblist-json-ld-real-blog-cover.png
Ларавель

Laravel BreadcrumbList JSON-LD у реальному блозі

У ICanUp visible breadcrumbs і BreadcrumbList JSON-LD описують одну й ту саму hierarchy сторінки. Показую, як я пов’язую навігацію зі structured data, формую sequential positions, використовую localized canonical URLs і не додаю окрему SEO hierarchy поверх application breadcrumbs.

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

Laravel Open Graph + Inertia SSR: чому LinkedIn показував прев'ю інакше, ніж Telegram

У ICanUp Telegram уже показував обкладинку, заголовок і опис Post, але LinkedIn формував картку некоректно. Я перевірила Open Graph у початковому HTML, відповідь для LinkedInBot, URL і параметри зображення, дублікати meta tags та кеш платформи. Цей кейс показав, чому робота прев'ю в одному месенджері ще не доводить, що social metadata налаштовані правильно.

8