New page & SEO settings
Google mainly shows three things from your page: title, description, and URL. Most technical SEO (sitemap, social previews, language links) is already handled for you.
What Google shows
- Title — browser tab and search result headline
- Description — grey text under the title in search results (~150–160 characters)
- URL — the page path, e.g. /contact or /tr/iletisim
Where to fill these in
At the top of each page file (e.g. src/pages/contact.astro), the BaseLayout component accepts title and description. If you omit them, the site-wide defaults from src/config/seo.ts are used — so every page can look the same in Google.
Example: contact.astro today has only <BaseLayout> with no props. Add title and description like this:
<BaseLayout
title="Contact | Company Name"
description="Reach us by phone, WhatsApp or form. We reply within 24 hours."
>
Checklist for a new page
- 1. Create EN page under src/pages/ and TR page under src/pages/tr/
- 2. Set BaseLayout title and description on both (TR page: lang="tr")
- 3. Add EN ↔ TR path pair in src/config/routes.ts (for language switcher and hreflang)
- 4. Add menu link in src/config/nav.ts if the page should appear in the header
What is automatic
You do not need to configure these per page: XML sitemap, canonical URL, Open Graph / Twitter cards, hreflang (EN/TR), and organization schema. BaseLayout adds them on every page.
Blog posts
Create posts in Keystatic (/keystatic). Title and summary fields appear on the page. Note: summary is not yet wired to the meta description — blog posts may still use the site default description in search until that is connected.
Quick check after deploy
Open the live page → View Page Source → confirm <title> and <meta name="description" content="..."> match what you intended.