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.