Fixed SEO findings

X-Lovable-Edit-ID: edt-a2ab01c9-24f0-4843-a2d9-33bd88667539
Co-authored-by: domfelipe <53182096+domfelipe@users.noreply.github.com>
This commit is contained in:
gpt-engineer-app[bot] 2026-05-18 22:04:14 +00:00
commit 533235260c
7 changed files with 111 additions and 31 deletions

View file

@ -1,6 +1,6 @@
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion"; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "@/components/ui/accordion";
const faqs = [ export const faqs = [
{ {
q: "O que é o Mika?", q: "O que é o Mika?",
a: "Mika é uma plataforma brasileira que entrega para você um agente de IA pessoal hospedado em VPS gerenciada, acessível direto pelo Telegram. Ele aprende com você, lembra de contexto e executa tarefas com integrações reais.", a: "Mika é uma plataforma brasileira que entrega para você um agente de IA pessoal hospedado em VPS gerenciada, acessível direto pelo Telegram. Ele aprende com você, lembra de contexto e executa tarefas com integrações reais.",

View file

@ -0,0 +1,15 @@
// This file is automatically generated. Do not edit it directly.
import { createMiddleware } from '@tanstack/react-start'
import { supabase } from './client'
// Must be registered as a global `functionMiddleware` in `src/start.ts`; otherwise
// the browser never attaches the bearer token to serverFn RPCs.
export const attachSupabaseAuth = createMiddleware({ type: 'function' }).client(
async ({ next }) => {
const { data } = await supabase.auth.getSession()
const token = data.session?.access_token
return next({
headers: token ? { Authorization: `Bearer ${token}` } : {},
})
},
)

View file

@ -649,12 +649,3 @@ const rootRouteChildren: RootRouteChildren = {
export const routeTree = rootRouteImport export const routeTree = rootRouteImport
._addFileChildren(rootRouteChildren) ._addFileChildren(rootRouteChildren)
._addFileTypes<FileRouteTypes>() ._addFileTypes<FileRouteTypes>()
import type { getRouter } from './router.tsx'
import type { createStart } from '@tanstack/react-start'
declare module '@tanstack/react-start' {
interface Register {
ssr: true
router: Awaited<ReturnType<typeof getRouter>>
}
}

View file

@ -33,50 +33,61 @@ function NotFoundComponent() {
); );
} }
const OG_IMAGE =
"https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png";
export const Route = createRootRouteWithContext<RouterContext>()({ export const Route = createRootRouteWithContext<RouterContext>()({
head: () => ({ head: () => ({
meta: [ meta: [
{ charSet: "utf-8" }, { charSet: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" }, { name: "viewport", content: "width=device-width, initial-scale=1" },
{ title: "Mika — Assistente Pessoal IA" }, { title: "Mika — Assistente Pessoal IA no Telegram" },
{ {
name: "description", name: "description",
content: content:
"Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.", "Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
}, },
{ name: "author", content: "DOMCO" }, { name: "author", content: "DOMCO" },
{ name: "theme-color", content: "#F97316" }, { name: "theme-color", content: "#F97316" },
{ property: "og:title", content: "Mika — Assistente Pessoal IA" }, { property: "og:site_name", content: "Mika" },
{
property: "og:description",
content:
"Agentes de IA personalizados que aprendem com você e te atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
},
{ property: "og:type", content: "website" }, { property: "og:type", content: "website" },
{ property: "og:locale", content: "pt_BR" }, { property: "og:locale", content: "pt_BR" },
{ property: "og:url", content: "https://mika.domco.ai" }, { property: "og:image", content: OG_IMAGE },
{ property: "og:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" },
{ name: "twitter:card", content: "summary_large_image" }, { name: "twitter:card", content: "summary_large_image" },
{ name: "twitter:title", content: "Mika — Assistente Pessoal IA" }, { name: "twitter:image", content: OG_IMAGE },
{
name: "twitter:description",
content: "Agentes de IA personalizados, em português, direto no Telegram.",
},
{ name: "twitter:image", content: "https://pub-bb2e103a32db4e198524a2e9ed8f35b4.r2.dev/be92ada2-f87d-43b5-bd30-333f14e189e4/id-preview-6e3a7096--798b89e5-0dc6-412a-81be-a4b6dfea7b6c.lovable.app-1776957543862.png" },
{ name: "description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
{ property: "og:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
{ name: "twitter:description", content: "Mika: Seu Agente Inteligente - IA pessoal no Telegram." },
], ],
links: [ links: [
{ rel: "stylesheet", href: appCss }, { rel: "stylesheet", href: appCss },
{ rel: "icon", href: "/favicon.svg", type: "image/svg+xml" }, { rel: "icon", href: "/favicon.svg", type: "image/svg+xml" },
{ rel: "canonical", href: "https://mika.domco.ai" },
{ rel: "preconnect", href: "https://rsms.me" }, { rel: "preconnect", href: "https://rsms.me" },
{ {
rel: "stylesheet", rel: "stylesheet",
href: "https://rsms.me/inter/inter.css", href: "https://rsms.me/inter/inter.css",
}, },
], ],
scripts: [
{
type: "application/ld+json",
children: JSON.stringify({
"@context": "https://schema.org",
"@graph": [
{
"@type": "Organization",
name: "Mika",
url: "https://mika.domco.ai",
logo: "https://mika.domco.ai/favicon.svg",
parentOrganization: { "@type": "Organization", name: "DOMCO" },
},
{
"@type": "WebSite",
name: "Mika",
url: "https://mika.domco.ai",
inLanguage: "pt-BR",
},
],
}),
},
],
}), }),
shellComponent: RootShell, shellComponent: RootShell,
component: RootComponent, component: RootComponent,

View file

@ -4,10 +4,36 @@ import { HeroSection } from "@/components/mika/HeroSection";
import { FeaturesSection } from "@/components/mika/FeaturesSection"; import { FeaturesSection } from "@/components/mika/FeaturesSection";
import { HowItWorksSection } from "@/components/mika/HowItWorksSection"; import { HowItWorksSection } from "@/components/mika/HowItWorksSection";
import { PlansSection } from "@/components/mika/PlansSection"; import { PlansSection } from "@/components/mika/PlansSection";
import { FaqSection } from "@/components/mika/FaqSection"; import { FaqSection, faqs } from "@/components/mika/FaqSection";
import { LandingFooter } from "@/components/mika/LandingFooter"; import { LandingFooter } from "@/components/mika/LandingFooter";
export const Route = createFileRoute("/")({ export const Route = createFileRoute("/")({
head: () => ({
meta: [
{ property: "og:title", content: "Mika — Assistente Pessoal IA no Telegram" },
{
property: "og:description",
content:
"Agentes de IA personalizados que aprendem com você e atendem direto no Telegram. Planos a partir de R$ 69,90/mês.",
},
{ property: "og:url", content: "https://mika.domco.ai/" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/" }],
scripts: [
{
type: "application/ld+json",
children: JSON.stringify({
"@context": "https://schema.org",
"@type": "FAQPage",
mainEntity: faqs.map((f) => ({
"@type": "Question",
name: f.q,
acceptedAnswer: { "@type": "Answer", text: f.a },
})),
}),
},
],
}),
component: LandingPage, component: LandingPage,
}); });

View file

@ -27,6 +27,24 @@ export const Route = createFileRoute("/login")({
validateSearch: (search: Record<string, unknown>): LoginSearch => ({ validateSearch: (search: Record<string, unknown>): LoginSearch => ({
redirect: typeof search.redirect === "string" ? search.redirect : undefined, redirect: typeof search.redirect === "string" ? search.redirect : undefined,
}), }),
head: () => ({
meta: [
{ title: "Entrar na Mika — Acesse seu agente de IA" },
{
name: "description",
content:
"Faça login na sua conta Mika para acessar seu agente de IA pessoal, integrações e configurações no painel.",
},
{ property: "og:title", content: "Entrar na Mika" },
{
property: "og:description",
content: "Acesse seu agente de IA pessoal no painel da Mika.",
},
{ property: "og:url", content: "https://mika.domco.ai/login" },
{ name: "robots", content: "noindex,follow" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/login" }],
}),
component: LoginPage, component: LoginPage,
}); });

View file

@ -40,6 +40,25 @@ export const Route = createFileRoute("/signup")({
plan: typeof search.plan === "string" ? search.plan : undefined, plan: typeof search.plan === "string" ? search.plan : undefined,
cycle: search.cycle === "yearly" || search.cycle === "monthly" ? search.cycle : undefined, cycle: search.cycle === "yearly" || search.cycle === "monthly" ? search.cycle : undefined,
}), }),
head: () => ({
meta: [
{ title: "Criar conta na Mika — Comece seu agente de IA" },
{
name: "description",
content:
"Crie sua conta Mika em minutos e tenha um agente de IA pessoal no Telegram. Garantia de 30 dias para reembolso integral.",
},
{ property: "og:title", content: "Criar conta na Mika" },
{
property: "og:description",
content:
"Comece em minutos. Agente de IA pessoal no Telegram com garantia de 30 dias.",
},
{ property: "og:url", content: "https://mika.domco.ai/signup" },
{ name: "robots", content: "noindex,follow" },
],
links: [{ rel: "canonical", href: "https://mika.domco.ai/signup" }],
}),
component: SignupPage, component: SignupPage,
}); });