2 Commits
Author SHA1 Message Date
AmirmahdiandClaude Opus 4.8 21302f59ec seo: add blog sitemap to robots.txt
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 09:06:59 +03:30
AmirmahdiandClaude Opus 4.8 ee81da8f70 seo: unify domain to aramejan.com; real logo, favicon, og-image; assetlinks; fix canonical/sitemap/robots
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 09:00:18 +03:30
7 changed files with 47 additions and 44 deletions
+4 -4
View File
@@ -9,7 +9,7 @@ function BlogSection() {
{ {
title: "تمرین تنفسی برای کاهش استرس", title: "تمرین تنفسی برای کاهش استرس",
subtitle: "تکنیک‌های ساده تنفسی برای کاهش فوری استرس و اضطراب", subtitle: "تکنیک‌های ساده تنفسی برای کاهش فوری استرس و اضطراب",
link: "https://aaramland.ir/blog/tmryn-tnfsy-bry-khhsh-strs.html", link: "https://aramejan.com/blog/tmryn-tnfsy-bry-khhsh-strs.html",
readTime: "۵ دقیقه", readTime: "۵ دقیقه",
date: "۱۴۰۴/۱/۱۵", date: "۱۴۰۴/۱/۱۵",
category: "سلامت روان", category: "سلامت روان",
@@ -19,7 +19,7 @@ function BlogSection() {
{ {
title: "مدیتیشن چیست و چگونه شروع کنیم؟", title: "مدیتیشن چیست و چگونه شروع کنیم؟",
subtitle: "راهنمای کامل برای شناخت مدیتیشن و شروع این سفر زیبا", subtitle: "راهنمای کامل برای شناخت مدیتیشن و شروع این سفر زیبا",
link: "https://aaramland.ir/blog/mdytyshn-chyh.html", link: "https://aramejan.com/blog/mdytyshn-chyh.html",
readTime: "۷ دقیقه", readTime: "۷ دقیقه",
date: "۱۴۰۴/۱۰/۱۰", date: "۱۴۰۴/۱۰/۱۰",
category: "آموزش", category: "آموزش",
@@ -29,7 +29,7 @@ function BlogSection() {
{ {
title: "مدیتیشن چیست و چگونه زندگی‌ات را متحول می‌کند؟", title: "مدیتیشن چیست و چگونه زندگی‌ات را متحول می‌کند؟",
subtitle: "راهنمای کامل برای شناخت انواع مدیتیشن", subtitle: "راهنمای کامل برای شناخت انواع مدیتیشن",
link: "https://aaramland.ir/blog/khls-shdn-z-strs-b-arm-lnd.html", link: "https://aramejan.com/blog/khls-shdn-z-strs-b-arm-lnd.html",
readTime: "۸ دقیقه", readTime: "۸ دقیقه",
date: "۱۴۰۴/۱۰/۰۵", date: "۱۴۰۴/۱۰/۰۵",
category: "تحول شخصی", category: "تحول شخصی",
@@ -113,7 +113,7 @@ function BlogSection() {
{/* View All Button */} {/* View All Button */}
<div className="text-center"> <div className="text-center">
<Link <Link
href="https://aaramland.ir/blog/" href="https://aramejan.com/blog/"
className="inline-flex items-center gap-2 bg-gradient-to-r from-primary-500 to-primary-600 text-white font-medium py-3 px-8 rounded-2xl hover:shadow-lg transition-all duration-300 transform hover:scale-105 group" className="inline-flex items-center gap-2 bg-gradient-to-r from-primary-500 to-primary-600 text-white font-medium py-3 px-8 rounded-2xl hover:shadow-lg transition-all duration-300 transform hover:scale-105 group"
> >
<span>مشاهده همه مقالات</span> <span>مشاهده همه مقالات</span>
+1 -1
View File
@@ -26,7 +26,7 @@ function DownloadSection() {
icon: './images/appstore.png', icon: './images/appstore.png',
title: "وب سایت", title: "وب سایت",
description: "نسخه وب برای تمام دستگاه‌ها", description: "نسخه وب برای تمام دستگاه‌ها",
link: 'https://aaramland.ir/web/', link: 'https://aramejan.com/web/',
badge: "", badge: "",
gradient: "from-primary-500/10 to-primary-600/10", gradient: "from-primary-500/10 to-primary-600/10",
animation: "animate-slideInRight delay-300", animation: "animate-slideInRight delay-300",
+2 -2
View File
@@ -40,7 +40,7 @@ function Header() {
key={item.id} key={item.id}
onClick={() => { onClick={() => {
if (item.id === 'blog') { if (item.id === 'blog') {
window.open('https://aramland.approagency.ir/blog/', '_self'); window.open('https://aramejan.com/blog/', '_self');
} else { } else {
handleNavClick(item.id); handleNavClick(item.id);
} }
@@ -85,7 +85,7 @@ function Header() {
key={item.id} key={item.id}
onClick={() => { onClick={() => {
if (item.id === 'blog') { if (item.id === 'blog') {
window.open('https://aramland.approagency.ir/blog/', '_self'); window.open('https://aramejan.com/blog/', '_self');
} else { } else {
handleNavClick(item.id); handleNavClick(item.id);
} }
+3 -3
View File
@@ -5,7 +5,7 @@ export function SEOHead({
canonical, canonical,
ogImage = '' ogImage = ''
}) { }) {
const siteUrl = 'https://aramland.approagency.ir/'; const siteUrl = 'https://aramejan.com';
return ( return (
<> <>
@@ -19,14 +19,14 @@ export function SEOHead({
<meta property="og:title" content={title} /> <meta property="og:title" content={title} />
<meta property="og:description" content={description} /> <meta property="og:description" content={description} />
<meta property="og:url" content={`${siteUrl}${canonical}`} /> <meta property="og:url" content={`${siteUrl}${canonical}`} />
<meta property="og:image" content={ogImage || `${siteUrl}og-image.jpg`} /> <meta property="og:image" content={ogImage || `${siteUrl}/og-image.jpg`} />
<meta property="og:type" content="website" /> <meta property="og:type" content="website" />
<meta property="og:locale" content="fa_IR" /> <meta property="og:locale" content="fa_IR" />
{/* Twitter */} {/* Twitter */}
<meta name="twitter:title" content={title} /> <meta name="twitter:title" content={title} />
<meta name="twitter:description" content={description} /> <meta name="twitter:description" content={description} />
<meta name="twitter:image" content={ogImage || `${siteUrl}og-image.jpg`} /> <meta name="twitter:image" content={ogImage || `${siteUrl}/og-image.jpg`} />
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
</> </>
); );
+3 -3
View File
@@ -8,7 +8,7 @@ export const metadata: Metadata = {
authors: [{ name: 'آرام جان' }], authors: [{ name: 'آرام جان' }],
creator: 'آرام جان', creator: 'آرام جان',
publisher: 'آرام جان', publisher: 'آرام جان',
metadataBase: new URL('https://aramland.approagency.ir/'), metadataBase: new URL('https://aramejan.com'),
formatDetection: { formatDetection: {
email: false, email: false,
address: false, address: false,
@@ -26,7 +26,7 @@ export const metadata: Metadata = {
openGraph: { openGraph: {
title: 'آرام جان - دستیار آرامش و مدیتیشن فارسی', title: 'آرام جان - دستیار آرامش و مدیتیشن فارسی',
description: 'اپلیکیشن آرام جان - همراه شما برای رسیدن به آرامش درونی با مدیتیشن‌های فارسی و تمرین‌های تنفسی', description: 'اپلیکیشن آرام جان - همراه شما برای رسیدن به آرامش درونی با مدیتیشن‌های فارسی و تمرین‌های تنفسی',
url: 'https://aramland.approagency.ir/', url: '/',
siteName: 'آرام جان', siteName: 'آرام جان',
images: [ images: [
{ {
@@ -100,7 +100,7 @@ export default function RootLayout({
}, },
"name": "آرام جان", "name": "آرام جان",
"description": "اپلیکیشن آرام جان - همراه شما برای رسیدن به آرامش درونی با مدیتیشن‌های فارسی و تمرین‌های تنفسی", "description": "اپلیکیشن آرام جان - همراه شما برای رسیدن به آرامش درونی با مدیتیشن‌های فارسی و تمرین‌های تنفسی",
"url": "https://aramland.approagency.ir/", "url": "https://aramejan.com/",
"applicationCategory": "HealthApplication", "applicationCategory": "HealthApplication",
"operatingSystem": "Android, iOS, Web", "operatingSystem": "Android, iOS, Web",
"offers": { "offers": {
+2 -1
View File
@@ -5,7 +5,8 @@ Disallow: /api/
Disallow: /_next/ Disallow: /_next/
Disallow: /private/ Disallow: /private/
Sitemap: https://aramland.approagency.ir/sitemap.xml Sitemap: https://aramejan.com/sitemap.xml
Sitemap: https://aramejan.com/blog/sitemap.xml
# Iranian search engines # Iranian search engines
User-agent: YoozBot User-agent: YoozBot
+32 -30
View File
@@ -1,6 +1,9 @@
// app/sitemap.js // app/sitemap.js
// Required for `output: 'export'` so Next emits a static /sitemap.xml.
export const dynamic = 'force-static';
export default function sitemap() { export default function sitemap() {
const baseUrl = 'https://aaramland.ir/'; const baseUrl = 'https://aramejan.com/';
return [ return [
{ {
@@ -9,34 +12,33 @@ export default function sitemap() {
changeFrequency: 'weekly', changeFrequency: 'weekly',
priority: 1, priority: 1,
}, },
{
url: `${baseUrl}blog/`, // ⬇️ مقالات بلاگ — بعد از اینکه بلاگ روی aramejan.com/blog/ منتشر شد،
lastModified: new Date(), // این‌ها را از کامنت خارج کن. تا وقتی بلاگ بالا نیامده، در سایت‌مپ نباشند
changeFrequency: 'weekly', // تا در سرچ کنسول خطای «صفحه یافت نشد / 404» نگیری.
priority: 0.9, // {
}, // url: `${baseUrl}blog/`,
{ // lastModified: new Date(),
url: `${baseUrl}blog/tmryn-tnfsy-bry-khhsh-strs.html`, // changeFrequency: 'weekly',
lastModified: new Date(), // priority: 0.9,
changeFrequency: 'weekly', // },
priority: 0.8, // {
}, // url: `${baseUrl}blog/tmryn-tnfsy-bry-khhsh-strs.html`,
{ // lastModified: new Date(),
url: `${baseUrl}blog/mdytyshn-chyh.html`, // changeFrequency: 'monthly',
lastModified: new Date(), // priority: 0.8,
changeFrequency: 'weekly', // },
priority: 0.7, // {
}, // url: `${baseUrl}blog/mdytyshn-chyh.html`,
{ // lastModified: new Date(),
url: `${baseUrl}blog/khls-shdn-z-strs-b-arm-lnd.html`, // changeFrequency: 'monthly',
lastModified: new Date(), // priority: 0.7,
changeFrequency: 'weekly', // },
priority: 0.6, // {
}, // url: `${baseUrl}blog/khls-shdn-z-strs-b-arm-lnd.html`,
// lastModified: new Date(),
// changeFrequency: 'monthly',
// priority: 0.6,
// },
]; ];
} }
// Add this export for static generation
export async function generateSitemaps() {
return [{ id: '0' }];
}