Performance & SEO optimization + Google login for CMS

Performance:
- Enable image optimization (Image: true, SVG: true)
- 429MB saved with WebP conversion

SEO:
- Add JSON-LD structured data (Organization & FAQ schemas)
- Add keywords and author metadata
- Update robots.txt with sitemap reference
- Add alt text to OpenGraph images

CMS:
- Enable Google OAuth login for admin panel
- Add logo to admin login page

Fixes:
- Update Telegram link to @ym1ktc on homepage

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Buğra Canata
2026-01-17 16:23:11 +03:00
parent 6889f7a0b4
commit 214e9733d0
9 changed files with 115 additions and 6 deletions
@@ -0,0 +1,23 @@
---
interface Props {
faqs: { question: string; answer: string; }[];
}
const { faqs } = Astro.props;
const schema = {
'@context': 'https://schema.org',
'@type': 'FAQPage',
mainEntity: faqs.map(faq => ({
'@type': 'Question',
name: faq.question,
acceptedAnswer: {
'@type': 'Answer',
text: faq.answer
}
}))
};
---
<script define:vars={{ schema }} type="application/ld+json">
{JSON.stringify(schema, null, 2)}
</script>
@@ -0,0 +1,26 @@
---
const schema = {
'@context': 'https://schema.org',
'@type': 'Organization',
name: 'Amatör Radyocular Derneği (ARC)',
url: 'https://www.radio.org.tr',
logo: 'https://www.radio.org.tr/_astro/ARC_2024_bayrak_logo-Large-1-1024x1024.png',
description: 'İstanbul merkezli kâr amacı gütmeyen bu dernek, amatör telsizciliği yaygınlaştırmak, eğitim vermek ve röle-beacon altyapıları işletmek amacıyla kurulmuştur.',
contactPoint: {
telephone: '+90-510-220-5024',
contactType: 'customer service'
},
sameAs: [
'https://t.me/ym1ktc',
'https://twitter.com/YM1KTC',
'https://facebook.com/ym1ktc',
'https://www.youtube.com/@YM1KTC',
'https://www.instagram.com/ym1ktc',
'https://www.linkedin.com/company/arctr/'
]
};
---
<script define:vars={{ schema }} type="application/ld+json">
{JSON.stringify(schema, null, 2)}
</script>